Conflictos al hacer el merge con master

master
Luis Angel Espina Hernandez 2024-09-02 16:43:43 -04:00
commit b7e4a636e1
7 changed files with 177 additions and 93 deletions

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ModelWeb</artifactId>
<version>1.101.0</version>
<version>1.102.1</version>
<distributionManagement>
<repository>

View File

@ -8,5 +8,6 @@ public interface FechamentoParamgeralDAO extends GenericDAO<FechamentoParamgeral
public List<FechamentoParamgeral> buscaParametrosPorEmpresas(List<Integer> empresasId);
public List<FechamentoParamgeral> buscaParametrosPorEmpresa(Integer empresasId);
public FechamentoParamgeral buscaParametrosPorEmpresasBanco(Integer empresaId, String boletoBancoCod);
}

View File

@ -12,6 +12,7 @@ import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.FechamentoParamgeralDAO;
import com.rjconsultores.ventaboletos.entidad.FechamentoParamgeral;
import com.rjconsultores.ventaboletos.entidad.FechamentoParamptovta;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@Repository("fechamentoParamgeralDAO")
@ -60,4 +61,15 @@ public class FechamentoParamgeralHibernateDAO extends GenericHibernateDAO<Fecham
actualizacion(entity);
}
@Override
public FechamentoParamgeral buscaParametrosPorEmpresasBanco(Integer empresaId, String boletoBancoCod) {
Criteria query = getSession().createCriteria(getPersistentClass());
query.createAlias("empresa", "emp");
query.add(Restrictions.eq("emp.empresaId", empresaId));
query.add(Restrictions.eq("boletoBancoCod", boletoBancoCod));
query.add(Restrictions.eq(ACTIVO, Boolean.TRUE));
return (FechamentoParamgeral) query.uniqueResult();
}
}

View File

@ -130,6 +130,10 @@ public class TipoEventoExtra implements Serializable {
@JoinColumn(name = "IMPRESIONLAYOUTCONFIG_ID")
private ImpresionLayoutConfig impresionLayoutConfig;
@OneToOne
@JoinColumn(name = "IMPRESIONLAYOUTEMAILCONFIG_ID")
private ImpresionLayoutConfig impresionLayoutEmailConfig;
public TipoEventoExtraEmpresa addEmpresa(Empresa e) {
TipoEventoExtraEmpresa t = new TipoEventoExtraEmpresa();
t.setEmpresa(e);
@ -458,6 +462,13 @@ public class TipoEventoExtra implements Serializable {
this.indQuantViasImp = indQuantViasImp;
}
public ImpresionLayoutConfig getImpresionLayoutEmailConfig() {
return impresionLayoutEmailConfig;
}
public void setImpresionLayoutEmailConfig(ImpresionLayoutConfig impresionLayoutEmailConfig) {
this.impresionLayoutEmailConfig = impresionLayoutEmailConfig;
}
@Override
public int hashCode() {

View File

@ -9,5 +9,5 @@ public interface FechamentoParamgeralService extends GenericService<FechamentoPa
public List<FechamentoParamgeral> buscaParametrosPorEmpresas(List<Integer> empresasId);
public List<FechamentoParamgeral> buscaParametrosPorEmpresa(Integer empresasId);
public FechamentoParamgeral suscribirOrActualizacion(FechamentoParamgeral fechamentoParamgeral);
public FechamentoParamgeral buscaParametrosPorEmpresasBanco(Integer empresasId, String boletoBancoCod);
}

View File

@ -69,4 +69,14 @@ public class FechamentoParamgeralServiceImpl implements FechamentoParamgeralServ
}
return null;
}
@Override
public FechamentoParamgeral buscaParametrosPorEmpresasBanco(Integer empresaId, String boletoBancoCod) {
return fechamentoParamgeralDAO.buscaParametrosPorEmpresasBanco(empresaId, boletoBancoCod);
}
}

View File

@ -5,6 +5,7 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.SQLException;
import org.apache.logging.log4j.LogManager;
@ -20,9 +21,12 @@ import com.rjconsultores.ventaboletos.blocos.safra.DetalheRetornoSafra;
import com.rjconsultores.ventaboletos.dao.RemessaCNABBancosDAO;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.FechamentoBoleto;
import com.rjconsultores.ventaboletos.entidad.FechamentoParamgeral;
import com.rjconsultores.ventaboletos.enuns.BancoLayout;
import com.rjconsultores.ventaboletos.service.FechamentoParamgeralService;
import com.rjconsultores.ventaboletos.service.ImportacaoRetornoBancarioService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.utils.NossoNumeroUtils;
@Service("importacaoRetornoBancarioService")
public class ImportacaoRetornoBancarioServiceImpl implements ImportacaoRetornoBancarioService {
@ -33,6 +37,10 @@ public class ImportacaoRetornoBancarioServiceImpl implements ImportacaoRetornoBa
@Autowired
private RemessaCNABBancosDAO remessaCNABBancosDAO;
@Autowired
private FechamentoParamgeralService fechamentoParamgeralService;
private static final Logger log = LogManager.getLogger(ImportacaoRetornoBancarioServiceImpl.class);
@Override
@ -65,17 +73,19 @@ public class ImportacaoRetornoBancarioServiceImpl implements ImportacaoRetornoBa
if (!detalhe.getCodigoOcorrencia().equals(LIQUIDACAO_NORMAL)
&& !detalhe.getCodigoOcorrencia().equals(LIQUIDACAO_EM_CARTORIO)) {
erros++;
detalhado.append("Registro sem ocorrencia de quitação: ").append(detalhe.getNossoNumero()).append(".\n");
detalhado.append("Registro sem ocorrencia de quitação: ").append(detalhe.getNossoNumero())
.append(".\n");
} else
if( salvarRetornoBancario( detalhe, empresa.getEmpresaId(), usuarioId )) {
atualizados++;
if (salvarRetornoBancario(detalhe, empresa.getEmpresaId(), usuarioId)) {
detalhado.append("Quitado:").append(detalhe.getNossoNumero()).append(".\n");
} else {
erros++;
detalhado.append("Nao Quitado: ").append(detalhe.getNossoNumero()).append(".\n");
}
} catch (SQLException se) {
detalhado.append("Ocorreu um erro no banco de dados: ").append(detalhe.getNossoNumero()).append(".\n");
detalhado.append("Ocorreu um erro no banco de dados: ").append(detalhe.getNossoNumero())
.append(".\n");
log.error(se);
erros++;
} catch (RuntimeException re) {
@ -111,7 +121,8 @@ public class ImportacaoRetornoBancarioServiceImpl implements ImportacaoRetornoBa
}
}
private ArquivoRetornoItem processaRetornoBancario(ByteArrayInputStream bais, BancoLayout banco) throws IOException{
private ArquivoRetornoItem processaRetornoBancario(ByteArrayInputStream bais, BancoLayout banco)
throws IOException {
if (BancoLayout.ITAU_400_Envio.equals(banco)) {
return geraRetornoBancarioItau(bais, banco);
@ -122,7 +133,8 @@ public class ImportacaoRetornoBancarioServiceImpl implements ImportacaoRetornoBa
}
}
private ArquivoRetornoItem geraRetornoBancarioItau(ByteArrayInputStream bais, BancoLayout banco) throws IOException {
private ArquivoRetornoItem geraRetornoBancarioItau(ByteArrayInputStream bais, BancoLayout banco)
throws IOException {
String linha = null;
ArquivoRetornoItem arquivo = new ArquivoRetornoItem();
CabecalhoRetorno cabecalho = new CabecalhoRetorno();
@ -196,20 +208,28 @@ public class ImportacaoRetornoBancarioServiceImpl implements ImportacaoRetornoBa
}
@Override
public boolean salvarRetornoBancario(DetalheRetorno detalhe, Integer empresaId, Integer usuarioId) throws SQLException {
public boolean salvarRetornoBancario(DetalheRetorno detalhe, Integer empresaId, Integer usuarioId)
throws SQLException {
if (detalhe instanceof DetalheRetornoSafra) {
return salvarRetornoBancario(detalhe, usuarioId);
}
FechamentoBoleto boleto = remessaCNABBancosDAO.obtenerFechamentoBoletoPorNossoNumero( detalhe.getNossoNumero(), empresaId );
FechamentoBoleto boleto = remessaCNABBancosDAO.obtenerFechamentoBoletoPorNossoNumero(detalhe.getNossoNumero(),
empresaId);
if (boleto == null) {
throw new RuntimeException("Fechamento não encontrado para a empresa com o nosso numero: "+detalhe.getNossoNumero());
if (detalhe instanceof DetalheRetornoItau) {
return validaDacItau(detalhe, empresaId, usuarioId);
} else {
throw new RuntimeException(
"Fechamento não encontrado para a empresa com o nosso numero: " + detalhe.getNossoNumero());
}
}
if (boleto.getIndBoletoQuitado() != null && boleto.getIndBoletoQuitado()) {
throw new RuntimeException("Boleto já quitado para a empresa com o nosso numero: "+detalhe.getNossoNumero());
throw new RuntimeException(
"Boleto já quitado para a empresa com o nosso numero: " + detalhe.getNossoNumero());
}
return remessaCNABBancosDAO.quitarFechamentoBoleto(boleto.getFechamentoboletoId(), usuarioId, detalhe);
@ -224,16 +244,46 @@ public class ImportacaoRetornoBancarioServiceImpl implements ImportacaoRetornoBa
}
if (boleto.getNossonumero() != null && !boleto.getNossonumero().equals(detalhe.getNossoNumero())) {
throw new RuntimeException("Fechamento encontrado o nosso numero inconsistente: "+detalhe.getNossoNumero());
throw new RuntimeException(
"Fechamento encontrado o nosso numero inconsistente: " + detalhe.getNossoNumero());
}
if (boleto.getIndBoletoQuitado() != null && boleto.getIndBoletoQuitado()) {
throw new RuntimeException("Boleto já quitado para a empresa com o nosso numero: "+detalhe.getNossoNumero());
throw new RuntimeException(
"Boleto já quitado para a empresa com o nosso numero: " + detalhe.getNossoNumero());
}
return remessaCNABBancosDAO.quitarFechamentoBoleto(detalhe, usuarioId);
}
public boolean validaDacItau(DetalheRetorno detalhe, Integer empresaId, Integer usuarioId) throws SQLException {
FechamentoParamgeral dadosContaItau = fechamentoParamgeralService.buscaParametrosPorEmpresasBanco(empresaId, "341");
BigInteger nossoNumero = new BigInteger(detalhe.getNossoNumero().substring(0, 7));
if (dadosContaItau != null) {
String dacItau = NossoNumeroUtils.dacItau(
Integer.valueOf(dadosContaItau.getBoletoBancoAgencia()),
Integer.valueOf(dadosContaItau.getBoletoBancoConta()),
Integer.valueOf(dadosContaItau.getBoletoBancoCarteira()),
nossoNumero);
detalhe.setNossoNumero(detalhe.getNossoNumero().substring(0, 7) + "-" + dacItau);
FechamentoBoleto boleto = remessaCNABBancosDAO.obtenerFechamentoBoletoPorNossoNumero(detalhe.getNossoNumero(),
empresaId);
if (boleto == null) {
throw new RuntimeException("Fechamento não encontrado para a empresa com o nosso numero: " + detalhe.getNossoNumero());
}
if (boleto.getIndBoletoQuitado() != null && boleto.getIndBoletoQuitado()) {
throw new RuntimeException(
"Boleto já quitado para a empresa com o nosso numero: " + detalhe.getNossoNumero());
}
return remessaCNABBancosDAO.quitarFechamentoBoleto(boleto.getFechamentoboletoId(), usuarioId, detalhe);
}else
throw new RuntimeException("Dados da conta não encontrados : " + detalhe.getIdBoletoFechamento());
}
}