|
|
|
@ -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<Fechament
|
|
|
|
|
sb.append("fb.FECHAMENTOBOLETO_ID AS \"id\", ");
|
|
|
|
|
sb.append("(NVL(fp.COUNT_REMESSA, 0) + 1) AS \"idRemessa\", ");
|
|
|
|
|
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_CONTA AS \"conta\", ");
|
|
|
|
|
sb.append("fp.BOLETO_BANCO_CONTA_DIGITO AS \"dac\", ");
|
|
|
|
@ -525,7 +528,6 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
|
|
|
|
|
return arquivoRemessa;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
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("fp.COD_EMP_BANCO AS \"codEmpresaBanco\", ");
|
|
|
|
|
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_CONTA AS \"conta\", ");
|
|
|
|
|
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("fp.COD_EMP_BANCO AS \"codEmpresaBanco\", ");
|
|
|
|
|
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_CONTA AS \"conta\", ");
|
|
|
|
|
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) {
|
|
|
|
|
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 ");
|
|
|
|
|
sb.append(" LEFT 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(" LEFT JOIN FECHAMENTO_PARAMGERAL fp on fp.EMPRESA_ID = emp.EMPRESA_ID AND fp.ACTIVO = 1 ");
|
|
|
|
|
sb.append(" INNER JOIN FECHAMENTO_CNTCORRENTE fc on fb.FECHAMENTOCNTCORRENTE_ID = fc.FECHAMENTOCNTCORRENTE_ID AND fc.ACTIVO = 1 ");
|
|
|
|
|
sb.append(" INNER JOIN PUNTO_VENTA pv on pv.PUNTOVENTA_ID = fc.PUNTOVENTA_ID AND pv.ACTIVO = 1 ");
|
|
|
|
|
sb.append(" INNER JOIN EMPRESA emp on emp.EMPRESA_ID = fc.EMPRESA_ID AND emp.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 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 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 ESTADO es on es.ESTADO_ID = ci.ESTADO_ID AND es.ACTIVO = 1 ");
|
|
|
|
|
sb.append(" WHERE ");
|
|
|
|
|
sb.append(" fb.STATUS = 'I' ");
|
|
|
|
|
sb.append(" AND fb.activo = 1 ");
|
|
|
|
|
sb.append(" WHERE fb.activo = 1 ");
|
|
|
|
|
|
|
|
|
|
if(!reenviar){
|
|
|
|
|
sb.append(" AND fb.REMESSA_ID IS NULL ");
|
|
|
|
@ -935,32 +935,62 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@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();
|
|
|
|
|
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<Object[]> list = query.list();
|
|
|
|
|
List<FechamentoBoleto> retorno = new ArrayList<FechamentoBoleto>();
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|