Remessa Bradesco

bug#10881
bug#9803
bug#9100

dev:Rafael Henrique

qua:Marcelo

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@83182 d1611594-4594-4d17-8e1d-87c2c4800839
master
rafael.henrique 2018-07-06 15:55:50 +00:00
parent 6820172e02
commit 95535991a4
3 changed files with 43 additions and 18 deletions

View File

@ -11,11 +11,11 @@ public interface RemessaCNABBancosDAO extends GenericDAO<FechamentoBoleto, Long>
public String findBanco(Empresa empresa);
public ArquivoRemessa remessaBradesco(Empresa empresa, Date dataDe, Date dataAte) throws Exception;
public ArquivoRemessa remessaBradesco(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) throws Exception;
public ArquivoRemessa remessaItau(Empresa empresa, Date dataDe, Date dataAte) throws Exception;
public ArquivoRemessa remessaItau(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) throws Exception;
public ArquivoRemessa remessaBancoBrasil(Empresa empresa, Date dataDe, Date dataAte) 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);

View File

@ -73,7 +73,7 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
}
public ArquivoRemessa remessaBradesco(Empresa empresa, Date dataDe, Date dataAte) throws Exception{
public ArquivoRemessa remessaBradesco(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) throws Exception{
StringBuilder sb = new StringBuilder();
@ -101,7 +101,7 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
sb.append("pv.NOMBPUNTOVENTA AS \"nomePagador\", ");
sb.append("pv.DIRECCIONCALLE || ', ' || pv.DIRECCIONNUMERO || ', ' || pl.NOMBPLAZA || ', ' || ci.NOMBCIUDAD || ', ' || es.NOMBESTADO AS \"enderecoCompletoPagador\", ");
sb.append("pv.CODPOSTAL AS \"cepPagador\" ");
writeFROMClause(sb, dataDe != null && dataAte != null);
writeFROMClause(sb, dataDe != null && dataAte != null, reenviar);
Query query = getSession().createSQLQuery(sb.toString());
query.setInteger("empresaId", empresa.getEmpresaId());
@ -220,7 +220,7 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
}
@Override
public ArquivoRemessa remessaItau(Empresa empresa, Date dataDe, Date dataAte) throws Exception {
public ArquivoRemessa remessaItau(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) throws Exception {
StringBuilder sb = new StringBuilder();
@ -252,7 +252,7 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
sb.append("pv.CODPOSTAL AS \"cepPagador\", ");
sb.append("ci.NOMBCIUDAD AS \"cidadePagador\", ");
sb.append("es.NOMBESTADO AS \"estadoPagador\" ");
writeFROMClause(sb, dataDe != null && dataAte != null);
writeFROMClause(sb, dataDe != null && dataAte != null, reenviar);
Query query = getSession().createSQLQuery(sb.toString());
query.setInteger("empresaId", empresa.getEmpresaId());
@ -376,7 +376,7 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
}
@Override
public ArquivoRemessa remessaBancoBrasil(Empresa empresa, Date dataDe, Date dataAte) throws Exception {
public ArquivoRemessa remessaBancoBrasil(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) throws Exception {
StringBuilder sb = new StringBuilder();
@ -410,7 +410,7 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
sb.append("es.NOMBESTADO AS \"estadoPagador\", ");
sb.append("fp.BOLETO_BANCO_AGENCIA_DIGITO AS \"digitoAgencia\", ");
sb.append("fp.BOLETO_BANCO_CARTEIRA_VARIAVEL AS \"variavelCarteira\" ");
writeFROMClause(sb, dataDe != null && dataAte != null);
writeFROMClause(sb, dataDe != null && dataAte != null, reenviar);
Query query = getSession().createSQLQuery(sb.toString());
query.setInteger("empresaId", empresa.getEmpresaId());
@ -489,6 +489,7 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
String []doc = tupla[9].toString().split("-");
DetalheObrigatorioDadosTitulosBancoBrasil titulosBancoBrasil = new DetalheObrigatorioDadosTitulosBancoBrasil();
titulosBancoBrasil.setIdBoletoFechamento(Integer.valueOf(tupla[0].toString()));
titulosBancoBrasil.setNumAgencia(tupla[5].toString());
titulosBancoBrasil.setDigAgencia(((BigDecimal) tupla[27]).toString());
titulosBancoBrasil.setNumContaCorrente(tupla[6].toString());
@ -549,7 +550,12 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
pagadorBancoBrasil.setNomeSacado(tupla[21].toString());
pagadorBancoBrasil.setLogradouroSacado(tupla[22].toString());
pagadorBancoBrasil.setBairroSacado(tupla[23].toString());
String cep = StringUtils.right("00000000" + tupla[24].toString(), 8);
String cep = "";
try{
cep = StringUtils.right("00000000" + tupla[24].toString(), 8);
}catch(Exception e){
cep = "00000000";
}
int cepPrefix = Integer.parseInt(cep.substring(0, 5));
int cepSufix = Integer.parseInt(cep.substring(5));
pagadorBancoBrasil.setCepSacado(cepPrefix);
@ -588,7 +594,7 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
return arquivoRemessa;
}
private void writeFROMClause(StringBuilder sb, boolean hasDate) {
private void writeFROMClause(StringBuilder sb, boolean hasDate, Boolean reenviar) {
sb.append("FROM ");
sb.append("FECHAMENTO_BOLETO fb ");
sb.append("LEFT JOIN FECHAMENTO_CNTCORRENTE fc on fb.FECHAMENTOCNTCORRENTE_ID = fc.FECHAMENTOCNTCORRENTE_ID AND fc.ACTIVO = 1 ");
@ -602,7 +608,9 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
sb.append("WHERE ");
sb.append("fb.STATUS = 'I' ");
sb.append("AND fb.activo = 1 ");
sb.append("AND fb.REMESSA_ID IS NULL ");
if(!reenviar){
sb.append("AND fb.REMESSA_ID IS NULL ");
}
sb.append("AND fp.EMPRESA_ID = :empresaId ");
if(hasDate){
sb.append("AND fb.FECDOCUMENTO BETWEEN :dataDe AND :dataAte ");

View File

@ -62,19 +62,19 @@ public class ArquivoRemessaCNABImpl implements ArquivoRemessaCNAB {
}
@Override
public ArquivoRemessa remessa(Empresa empresa, Date dataDe, Date dataAte) {
public ArquivoRemessa remessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) {
BancoLayout banco = BancoLayout.getInstanceByCodBanco(remessaCNABBancosDAO.findBanco(empresa));
try{
if(BancoLayout.BRADESCO_400_Envio.equals(banco)){
return remessaCNABBancosDAO.remessaBradesco(empresa, dataDe, dataAte);
return remessaCNABBancosDAO.remessaBradesco(empresa, dataDe, dataAte, reenviar);
}else if(BancoLayout.ITAU_400_Envio.equals(banco)){
return remessaCNABBancosDAO.remessaItau(empresa, dataDe, dataAte);
}
else if(BancoLayout.BB_240_Envio.equals(banco)){
return remessaCNABBancosDAO.remessaBancoBrasil(empresa, dataDe, dataAte);
return remessaCNABBancosDAO.remessaItau(empresa, dataDe, dataAte, reenviar);
}else if(BancoLayout.BB_240_Envio.equals(banco)){
return remessaCNABBancosDAO.remessaBancoBrasil(empresa, dataDe, dataAte, reenviar);
}
}catch(Exception e){
e.printStackTrace();
@ -121,4 +121,21 @@ public class ArquivoRemessaCNABImpl implements ArquivoRemessaCNAB {
return toReturn;
}
@Override
public boolean boletosAEnviar(List<FechamentoBoleto> boletos) {
boolean toReturn = Boolean.FALSE;
for (java.util.Iterator<FechamentoBoleto> it = boletos.iterator(); it.hasNext();) {
FechamentoBoleto fechamentoBoleto = it.next();
if(fechamentoBoleto.getFechamentoboletoId() == null){
return Boolean.TRUE;
}
}
return toReturn;
}
}