Arquivo de Remessa CNAB
fixes bug#9100 fixes bug#9803 dev:rafael.henrique qua:Marcelo git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@80534 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
e2dc453306
commit
13e1d933b7
|
@ -93,12 +93,14 @@ 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);
|
||||
writeFROMClause(sb, dataDe != null && dataAte != null);
|
||||
|
||||
Query query = getSession().createSQLQuery(sb.toString());
|
||||
query.setInteger("empresaId", empresa.getEmpresaId());
|
||||
query.setDate("dataDe", dataDe);
|
||||
query.setDate("dataAte", dataAte);
|
||||
if(dataDe != null && dataAte != null){
|
||||
query.setDate("dataDe", dataDe);
|
||||
query.setDate("dataAte", dataAte);
|
||||
}
|
||||
List<Object[]> list = query.list();
|
||||
|
||||
ArquivoRemessa arquivoRemessa = new ArquivoRemessa(BancoLayout.BRADESCO_Envio);
|
||||
|
@ -113,7 +115,6 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
|
|||
|
||||
for(Object[] tupla : list){
|
||||
|
||||
//Date dataGravacao = new SimpleDateFormat("dd/MM/yy").parse(tupla[1].toString());
|
||||
Integer idRemessa = Integer.valueOf(tupla[1].toString());
|
||||
variavel = idRemessa;
|
||||
String codEmpresaBanco = tupla[2] != null ? tupla[2].toString() : "0";
|
||||
|
@ -244,12 +245,14 @@ 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);
|
||||
writeFROMClause(sb, dataDe != null && dataAte != null);
|
||||
|
||||
Query query = getSession().createSQLQuery(sb.toString());
|
||||
query.setInteger("empresaId", empresa.getEmpresaId());
|
||||
query.setDate("dataDe", dataDe);
|
||||
query.setDate("dataAte", dataAte);
|
||||
if(dataDe != null && dataAte != null){
|
||||
query.setDate("dataDe", dataDe);
|
||||
query.setDate("dataAte", dataAte);
|
||||
}
|
||||
List<Object[]> list = query.list();
|
||||
|
||||
ArquivoRemessa arquivoRemessa = new ArquivoRemessa(BancoLayout.ITAU_Envio);
|
||||
|
@ -367,12 +370,11 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
|
|||
return arquivoRemessa;
|
||||
}
|
||||
|
||||
private void writeFROMClause(StringBuilder sb) {
|
||||
private void writeFROMClause(StringBuilder sb, boolean hasDate) {
|
||||
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 = pv.EMPRESA_ID AND emp.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("LEFT JOIN PARADA pa on pa.PARADA_ID = pv.PARADA_ID AND pa.ACTIVO = 1 ");
|
||||
|
@ -380,11 +382,12 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
|
|||
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.REMESSA_ID US NOT NULL ");
|
||||
sb.append("fp.EMPRESA_ID = :empresaId ");
|
||||
sb.append("fb.STATUS = 'I' ");
|
||||
sb.append("AND fb.REMESSA_ID IS NULL ");
|
||||
sb.append("AND fp.EMPRESA_ID = :empresaId ");
|
||||
sb.append("AND fb.FECDOCUMENTO BETWEEN :dataDe AND :dataAte ");
|
||||
if(hasDate){
|
||||
sb.append("AND fb.FECDOCUMENTO BETWEEN :dataDe AND :dataAte ");
|
||||
}
|
||||
sb.append("ORDER BY ");
|
||||
sb.append("fb.FECMODIF, fb.FECDOCUMENTO ");
|
||||
}
|
||||
|
@ -404,7 +407,7 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO<Fechament
|
|||
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' ");
|
||||
sb.append("AND fb.status = 'I' ");
|
||||
if (empresa != null && empresa.getEmpresaId() != null) {
|
||||
sb.append("AND emp.empresaId = " + empresa.getEmpresaId());
|
||||
}
|
||||
|
|
|
@ -16,4 +16,8 @@ public interface ArquivoRemessaCNAB extends GenericService<FechamentoBoleto, Lon
|
|||
public Boolean atualizaRemessa(Empresa empresa, ArquivoRemessa arquivoRemessa) throws Exception;
|
||||
|
||||
public List<Empresa> getEmpresas();
|
||||
|
||||
public boolean temPermissao();
|
||||
|
||||
public boolean boletosOk(List<FechamentoBoleto> boletos);
|
||||
}
|
||||
|
|
|
@ -8,11 +8,13 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.rjconsultores.ventaboletos.ArquivoRemessa;
|
||||
import com.rjconsultores.ventaboletos.dao.ConstanteDAO;
|
||||
import com.rjconsultores.ventaboletos.dao.RemessaCNABBancosDAO;
|
||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||
import com.rjconsultores.ventaboletos.entidad.FechamentoBoleto;
|
||||
import com.rjconsultores.ventaboletos.enuns.BancoLayout;
|
||||
import com.rjconsultores.ventaboletos.service.ArquivoRemessaCNAB;
|
||||
import com.rjconsultores.ventaboletos.utils.NossoNumeroUtils;
|
||||
|
||||
@Service("arquivoRemessaCNAB")
|
||||
public class ArquivoRemessaCNABImpl implements ArquivoRemessaCNAB {
|
||||
|
@ -20,6 +22,9 @@ public class ArquivoRemessaCNABImpl implements ArquivoRemessaCNAB {
|
|||
@Autowired
|
||||
private RemessaCNABBancosDAO remessaCNABBancosDAO;
|
||||
|
||||
@Autowired
|
||||
private ConstanteDAO constanteDAO;
|
||||
|
||||
@Override
|
||||
public List<FechamentoBoleto> obtenerTodos() {
|
||||
return remessaCNABBancosDAO.obtenerTodos();
|
||||
|
@ -83,4 +88,27 @@ public class ArquivoRemessaCNABImpl implements ArquivoRemessaCNAB {
|
|||
return remessaCNABBancosDAO.getEmpresas();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean temPermissao(){
|
||||
return constanteDAO.buscarPorNomeConstante("USA_REMESSA_CNAB") != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean boletosOk(List<FechamentoBoleto> boletos) {
|
||||
|
||||
BancoLayout banco = null;
|
||||
|
||||
for (FechamentoBoleto fechamentoBoleto : boletos) {
|
||||
|
||||
if(banco == null){
|
||||
banco = BancoLayout.getInstanceByCodBanco(remessaCNABBancosDAO.findBanco(fechamentoBoleto.getFechamentoCntcorrente().getEmpresa()));
|
||||
}
|
||||
|
||||
if(!NossoNumeroUtils.validaNossoNumero(fechamentoBoleto.getNossonumero(), banco)){
|
||||
return Boolean.FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue