fixes bug#14929

dev: Lucas Silvério
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@95724 d1611594-4594-4d17-8e1d-87c2c4800839
master
fabio 2019-07-12 21:27:04 +00:00
parent 82c294a658
commit 9bdbb38dde
5 changed files with 65 additions and 39 deletions

View File

@ -21,7 +21,7 @@ public interface RemessaCNABBancosDAO extends GenericDAO<FechamentoBoleto, Long>
public ArquivoRemessa remessaBancoBrasil(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) throws Exception; public ArquivoRemessa remessaBancoBrasil(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) throws Exception;
public List<FechamentoBoleto> obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte); public List<FechamentoBoleto> obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar);
public List<Empresa> getEmpresas(); public List<Empresa> getEmpresas();

View File

@ -6,6 +6,7 @@ import java.sql.Statement;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; 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.dao.RemessaCNABBancosDAO;
import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.FechamentoBoleto; 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.AceiteBB;
import com.rjconsultores.ventaboletos.enuns.BancoLayout; import com.rjconsultores.ventaboletos.enuns.BancoLayout;
import com.rjconsultores.ventaboletos.enuns.TipoInscricaoPagador; import com.rjconsultores.ventaboletos.enuns.TipoInscricaoPagador;
@ -82,7 +85,7 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
sb.append("fb.FECHAMENTOBOLETO_ID AS \"id\", "); sb.append("fb.FECHAMENTOBOLETO_ID AS \"id\", ");
sb.append("(NVL(fp.COUNT_REMESSA, 0) + 1) AS \"idRemessa\", "); sb.append("(NVL(fp.COUNT_REMESSA, 0) + 1) AS \"idRemessa\", ");
sb.append("fp.COD_EMP_BANCO AS \"codEmpresaBanco\", "); sb.append("fp.COD_EMP_BANCO AS \"codEmpresaBanco\", ");
sb.append("fp.emp.NOMBEMPRESA AS \"nomeEmpresa\", "); sb.append("emp.NOMBEMPRESA AS \"nomeEmpresa\", ");
sb.append("fp.BOLETO_BANCO_AGENCIA AS \"agencia\", "); sb.append("fp.BOLETO_BANCO_AGENCIA AS \"agencia\", ");
sb.append("fp.BOLETO_BANCO_CONTA AS \"conta\", "); sb.append("fp.BOLETO_BANCO_CONTA AS \"conta\", ");
sb.append("fp.BOLETO_BANCO_CONTA_DIGITO AS \"dac\", "); sb.append("fp.BOLETO_BANCO_CONTA_DIGITO AS \"dac\", ");
@ -525,7 +528,6 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
return arquivoRemessa; return arquivoRemessa;
} }
@Override @Override
public ArquivoRemessa remessaItau(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) throws Exception { public ArquivoRemessa remessaItau(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) throws Exception {
@ -537,7 +539,7 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
sb.append("(NVL(fp.COUNT_REMESSA, 0) + 1) AS \"idRemessa\", "); sb.append("(NVL(fp.COUNT_REMESSA, 0) + 1) AS \"idRemessa\", ");
sb.append("fp.COD_EMP_BANCO AS \"codEmpresaBanco\", "); sb.append("fp.COD_EMP_BANCO AS \"codEmpresaBanco\", ");
sb.append("emp.CNPJ AS \"cnpj\", "); sb.append("emp.CNPJ AS \"cnpj\", ");
sb.append("fp.emp.NOMBEMPRESA AS \"nomeEmpresa\", "); sb.append("emp.NOMBEMPRESA AS \"nomeEmpresa\", ");
sb.append("fp.BOLETO_BANCO_AGENCIA AS \"agencia\", "); sb.append("fp.BOLETO_BANCO_AGENCIA AS \"agencia\", ");
sb.append("fp.BOLETO_BANCO_CONTA AS \"conta\", "); sb.append("fp.BOLETO_BANCO_CONTA AS \"conta\", ");
sb.append("fp.BOLETO_BANCO_CONTA_DIGITO AS \"dac\", "); sb.append("fp.BOLETO_BANCO_CONTA_DIGITO AS \"dac\", ");
@ -693,7 +695,7 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
sb.append("(NVL(fp.COUNT_REMESSA, 0) + 1) AS \"idRemessa\", "); sb.append("(NVL(fp.COUNT_REMESSA, 0) + 1) AS \"idRemessa\", ");
sb.append("fp.COD_EMP_BANCO AS \"codEmpresaBanco\", "); sb.append("fp.COD_EMP_BANCO AS \"codEmpresaBanco\", ");
sb.append("emp.CNPJ AS \"cnpj\", "); sb.append("emp.CNPJ AS \"cnpj\", ");
sb.append("fp.emp.NOMBEMPRESA AS \"nomeEmpresa\", "); sb.append("emp.NOMBEMPRESA AS \"nomeEmpresa\", ");
sb.append("fp.BOLETO_BANCO_AGENCIA AS \"agencia\", "); sb.append("fp.BOLETO_BANCO_AGENCIA AS \"agencia\", ");
sb.append("fp.BOLETO_BANCO_CONTA AS \"conta\", "); sb.append("fp.BOLETO_BANCO_CONTA AS \"conta\", ");
sb.append("fp.BOLETO_BANCO_CONTA_DIGITO AS \"dac\", "); sb.append("fp.BOLETO_BANCO_CONTA_DIGITO AS \"dac\", ");
@ -905,19 +907,17 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
private void writeFROMClause(StringBuilder sb, boolean hasDate, Boolean reenviar) { private void writeFROMClause(StringBuilder sb, boolean hasDate, Boolean reenviar) {
sb.append(" FROM "); sb.append(" FROM ");
sb.append(" FECHAMENTO_BOLETO fb "); sb.append(" FECHAMENTO_BOLETO fb ");
sb.append(" LEFT JOIN FECHAMENTO_CNTCORRENTE fc on fb.FECHAMENTOCNTCORRENTE_ID = fc.FECHAMENTOCNTCORRENTE_ID AND fc.ACTIVO = 1 "); sb.append(" INNER JOIN FECHAMENTO_CNTCORRENTE fc on fb.FECHAMENTOCNTCORRENTE_ID = fc.FECHAMENTOCNTCORRENTE_ID AND fc.ACTIVO = 1 ");
sb.append(" LEFT JOIN PUNTO_VENTA pv on pv.PUNTOVENTA_ID = fc.PUNTOVENTA_ID AND pv.ACTIVO = 1 "); sb.append(" INNER JOIN PUNTO_VENTA pv on pv.PUNTOVENTA_ID = fc.PUNTOVENTA_ID AND pv.ACTIVO = 1 ");
sb.append(" LEFT JOIN EMPRESA emp on emp.EMPRESA_ID = fc.EMPRESA_ID AND emp.ACTIVO = 1 "); sb.append(" INNER JOIN EMPRESA emp on emp.EMPRESA_ID = fc.EMPRESA_ID AND emp.ACTIVO = 1 ");
sb.append(" LEFT JOIN FECHAMENTO_PARAMGERAL fp on fp.EMPRESA_ID = emp.EMPRESA_ID AND fp.ACTIVO = 1 "); sb.append(" INNER JOIN FECHAMENTO_PARAMGERAL fp on fp.EMPRESA_ID = emp.EMPRESA_ID AND fp.ACTIVO = 1 ");
sb.append(" INNER JOIN FECHAMENTO_PARAMPTOVTA fppv on fppv.EMPRESA_ID = emp.EMPRESA_ID AND fppv.ACTIVO = 1 and pv.PUNTOVENTA_ID = fppv.PUNTOVENTA_ID AND fppv.TIPOPAGAMENTO = 'B' ");
sb.append(" LEFT JOIN INSTI_FINANCEIRA ifi ON ifi.CODIGO = fp.BOLETO_BANCO_COD "); sb.append(" LEFT JOIN INSTI_FINANCEIRA ifi ON ifi.CODIGO = fp.BOLETO_BANCO_COD ");
sb.append(" LEFT JOIN EMPRESA_CONTABANCARIA ecb ON emp.EMPRESA_ID = ecb.EMPRESA_ID AND ifi.INSTIFINANCEIRA_ID = ecb.INSTIFINANCEIRA_ID AND ecb.ACTIVO = 1 ");
sb.append(" LEFT JOIN PARADA pa on pa.PARADA_ID = pv.PARADA_ID AND pa.ACTIVO = 1 "); sb.append(" LEFT JOIN PARADA pa on pa.PARADA_ID = pv.PARADA_ID AND pa.ACTIVO = 1 ");
sb.append(" LEFT JOIN CIUDAD ci on ci.CIUDAD_ID = pa.CIUDAD_ID AND ci.ACTIVO = 1 "); sb.append(" LEFT JOIN CIUDAD ci on ci.CIUDAD_ID = pa.CIUDAD_ID AND ci.ACTIVO = 1 ");
sb.append(" LEFT JOIN PLAZA pl on pl.PLAZA_ID = ci.PLAZA_ID AND pl.ACTIVO = 1 "); sb.append(" LEFT JOIN PLAZA pl on pl.PLAZA_ID = ci.PLAZA_ID AND pl.ACTIVO = 1 ");
sb.append(" LEFT JOIN ESTADO es on es.ESTADO_ID = ci.ESTADO_ID AND es.ACTIVO = 1 "); sb.append(" LEFT JOIN ESTADO es on es.ESTADO_ID = ci.ESTADO_ID AND es.ACTIVO = 1 ");
sb.append(" WHERE "); sb.append(" WHERE fb.activo = 1 ");
sb.append(" fb.STATUS = 'I' ");
sb.append(" AND fb.activo = 1 ");
if(!reenviar){ if(!reenviar){
sb.append(" AND fb.REMESSA_ID IS NULL "); sb.append(" AND fb.REMESSA_ID IS NULL ");
@ -935,32 +935,62 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
} }
@Override @Override
public List<FechamentoBoleto> obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte) { public List<FechamentoBoleto> obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("SELECT fb "); sb.append(" SELECT ");
sb.append("FROM FechamentoBoleto fb "); sb.append(" fb.FECHAMENTOBOLETO_ID AS fechamentoboletoId, ");
sb.append("JOIN FETCH fb.fechamentoCntcorrente fc "); sb.append(" fb.nossonumero, ");
sb.append("JOIN FETCH fc.empresa emp "); sb.append(" fb.FECDOCUMENTO, ");
sb.append("WHERE fb.activo = 1 "); sb.append(" fb.FECVENCIMENTO, ");
sb.append("AND fc.activo = 1 "); sb.append(" fb.VALORDOCUMENTO, ");
sb.append("AND emp.activo = 1"); sb.append(" fb.STATUS, ");
//sb.append("AND fb.remessaId IS NULL "); sb.append(" fb.REMESSA_ID as remessaId, ");
sb.append("AND fb.status = 'I' "); sb.append(" fc.FECHAMENTOCNTCORRENTE_ID as fcId, ");
if (empresa != null && empresa.getEmpresaId() != null) { sb.append(" emp.NOMBEMPRESA, ");
sb.append("AND emp.empresaId = " + empresa.getEmpresaId()); 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){ 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()); List<Object[]> list = query.list();
if(dataDe != null && dataDe != null){ List<FechamentoBoleto> retorno = new ArrayList<FechamentoBoleto>();
c.setDate("dataDe", dataDe);
c.setDate("dataAte", dataAte); 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<FechamentoBoleto>) c.list(); return retorno;
} }
@Override @Override

View File

@ -19,10 +19,6 @@ import javax.persistence.TemporalType;
@Table(name = "FECHAMENTO_BOLETO") @Table(name = "FECHAMENTO_BOLETO")
public class FechamentoBoleto implements java.io.Serializable{ public class FechamentoBoleto implements java.io.Serializable{
/**
*
*/
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@SequenceGenerator(name = "FECHAMENTO_BOLETO_SEQ", sequenceName = "FECHAMENTO_BOLETO_SEQ", allocationSize = 1) @SequenceGenerator(name = "FECHAMENTO_BOLETO_SEQ", sequenceName = "FECHAMENTO_BOLETO_SEQ", allocationSize = 1)

View File

@ -11,7 +11,7 @@ public interface ArquivoRemessaCNAB extends GenericService<FechamentoBoleto, Lon
public ArquivoRemessa remessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar); public ArquivoRemessa remessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar);
public List<FechamentoBoleto> obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte); public List<FechamentoBoleto> obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar);
public Boolean atualizaRemessa(Empresa empresa, ArquivoRemessa arquivoRemessa) throws Exception; public Boolean atualizaRemessa(Empresa empresa, ArquivoRemessa arquivoRemessa) throws Exception;

View File

@ -56,8 +56,8 @@ public class ArquivoRemessaCNABImpl implements ArquivoRemessaCNAB {
} }
@Override @Override
public List<FechamentoBoleto> obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte) { public List<FechamentoBoleto> obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) {
return remessaCNABBancosDAO.obtenerTodosParaRemessa(empresa, dataDe, dataAte); return remessaCNABBancosDAO.obtenerTodosParaRemessa(empresa, dataDe, dataAte, reenviar);
} }
@Override @Override