Cadastro de contratos corporativos feat bug#AL-4276

master
Fabio 2024-07-02 13:58:12 -03:00
parent db2e641bf3
commit 98d6bb8a58
16 changed files with 309 additions and 305 deletions

View File

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

View File

@ -4,10 +4,12 @@ import java.util.List;
import com.rjconsultores.ventaboletos.entidad.ClienteCorporativo;
public interface ClienteCorporativoDAO extends GenericDAO<ClienteCorporativo, Integer>{
public interface ClienteCorporativoDAO extends GenericDAO<ClienteCorporativo, Long>{
public List<ClienteCorporativo> buscar(Integer classe,Integer alias,Integer orgaoConcedente);
public ClienteCorporativo existe(Integer classe, Integer alias, Integer orgaoConcedente, Integer aliasClasseId);
public List<ClienteCorporativo> buscaLike(String strClienteCorporativo);
}

View File

@ -0,0 +1,15 @@
package com.rjconsultores.ventaboletos.dao;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.ContratoCorporativo;
public interface ContratoDAO extends GenericDAO<ContratoCorporativo, Long>{
public List<ContratoCorporativo> buscar(Integer classe,Integer alias,Integer orgaoConcedente);
public ContratoCorporativo existe(Integer classe, Integer alias, Integer orgaoConcedente, Integer aliasClasseId);
public List<ContratoCorporativo> buscaLike(String strContratoCorporativo);
}

View File

@ -76,4 +76,6 @@ public interface EmpresaDAO {
public boolean isPrimeiraVezLicenca();
public String buscarNomeEmpresa(Integer empresaId);
}

View File

@ -5,6 +5,7 @@ import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
@ -15,7 +16,7 @@ import com.rjconsultores.ventaboletos.entidad.ClienteCorporativo;
@Repository("clienteCorporativoDAO")
@SuppressWarnings("unchecked")
public class ClienteCorporativoHibernateDAO extends GenericHibernateDAO<ClienteCorporativo, Integer>
public class ClienteCorporativoHibernateDAO extends GenericHibernateDAO<ClienteCorporativo, Long>
implements ClienteCorporativoDAO {
@Autowired
@ -66,4 +67,16 @@ public class ClienteCorporativoHibernateDAO extends GenericHibernateDAO<ClienteC
return c.list();
}
@Override
public List<ClienteCorporativo> buscaLike(String nome) {
Criteria c = makeCriteria();
c.add(Restrictions.eq("activo", Boolean.TRUE));
if( nome != null ) {
c.add(Restrictions.like("nomeClienteCorp", nome, MatchMode.ANYWHERE));
}
return c.list();
}
}

View File

@ -0,0 +1,80 @@
package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.ContratoDAO;
import com.rjconsultores.ventaboletos.entidad.ContratoCorporativo;
@Repository("contratoDAO")
@SuppressWarnings("unchecked")
public class ContratoHibernateDAO extends GenericHibernateDAO<ContratoCorporativo, Long> implements ContratoDAO {
@Autowired
public ContratoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@Override
public ContratoCorporativo existe(Integer classe, Integer alias, Integer orgaoConcedente, Integer aliasClasseId) {
Criteria c = makeCriteria();
c.add(Restrictions.eq("activo", Boolean.TRUE));
if( classe != null ) {
c.add(Restrictions.eq("classe.claseservicioId",classe));
}
if ( alias != null ) {
c.add(Restrictions.eq("alias.claseservicioId",alias));
}
if( orgaoConcedente != null ) {
c.add(Restrictions.eq("orgaoConcedente.orgaoConcedenteId", orgaoConcedente));
}
if( aliasClasseId != null ) {
c.add(Restrictions.eq("aliasClasseId",aliasClasseId));
}
return (ContratoCorporativo) c.uniqueResult();
}
@Override
public List<ContratoCorporativo> buscar(Integer classe, Integer alias, Integer orgaoConcedente) {
Criteria c = makeCriteria();
c.add(Restrictions.eq("activo", Boolean.TRUE));
if( classe != null ) {
c.add(Restrictions.eq("classe.claseservicioId",classe));
}
if ( alias != null ) {
c.add(Restrictions.eq("alias.claseservicioId",alias));
}
if( orgaoConcedente != null ) {
c.add(Restrictions.eq("orgaoConcedente.orgaoConcedenteId", orgaoConcedente));
}
return c.list();
}
@Override
public List<ContratoCorporativo> buscaLike(String nome) {
Criteria c = makeCriteria();
c.add(Restrictions.eq("activo", Boolean.TRUE));
if( nome != null ) {
c.add(Restrictions.like("numContrato", "%"+nome+"%"));
}
return c.list();
}
}

View File

@ -438,4 +438,11 @@ public class EmpresaHibernateDAO extends GenericHibernateDAO<Empresa, Integer> i
return StringUtils.isNotBlank(result);
}
@Override
public String buscarNomeEmpresa(Integer empresaId) {
Empresa empresa = obtenerID(empresaId);
return empresa != null ? empresa.getNombempresa():"";
}
}

View File

@ -208,4 +208,9 @@ public class ClienteCorporativo implements Serializable {
public void setNombEmpresa(String nombEmpresa) {
this.nombEmpresa = nombEmpresa;
}
@Override
public String toString() {
return this.nomeClienteCorp;
}
}

View File

@ -1,10 +1,27 @@
package com.rjconsultores.ventaboletos.entidad;
import java.io.Serializable;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@Entity
@Table(name = "CONTRATO_CORPORATIVO")
public class ContratoCorporativo implements Serializable {
@ -23,11 +40,11 @@ public class ContratoCorporativo implements Serializable {
@Column(name = "NUMCONTRATO")
private String numContrato;
@Column(name = "DATA_INICIO")
private Date dataInicio;
@Column(name = "DATA_INICIAL")
private Date dataInicial;
@Column(name = "DATA_FIM")
private Date dataFim;
@Column(name = "DATA_FINAL")
private Date dataFinal;
@Column(name = "VALOR_CONTRATO")
private BigDecimal valorContrato;
@ -36,44 +53,20 @@ public class ContratoCorporativo implements Serializable {
private BigDecimal percentualBonus;
@Column(name = "USUARIOREP_ID")
private Long usuarioRepId;
private Integer usuarioRepId;
@Column(name = "TIPO_CALCULO")
private Long tipoCalculo;
private Integer tipoCalculo;
@Column(name = "TIPO_TARIFA")
private Long tipoTarifa;
private Integer tipoTarifa;
@Column(name = "TIPO_CONTRATO")
private Long tipoContrato;
private Integer tipoContrato;
@Column(name = "PUNTOVENTA_ID")
private Long puntoVentaId;
@Column(name = "CIUDAD_ID")
private Long ciudadId;
@Column(name = "LOGRADOURO")
private String logradouro;
@Column(name = "NUMERO")
private String numero;
@Column(name = "COMPLEMENTO")
private String complemento;
@Column(name = "BAIRRO")
private String bairro;
@Column(name = "CEP")
private String cep;
@Column(name = "TELEFONE")
private String telefone;
@Column(name = "EMAIL")
private String email;
@Column(name = "OBSERVACAO")
private String observacao;
@ -81,280 +74,60 @@ public class ContratoCorporativo implements Serializable {
private String divisao;
@Column(name = "STATUS_CONTRATO")
private Long statusContrato;
private Integer statusContrato;
@Column(name = "GRUPOCONTRATO_ID")
private Integer grupoContratoId;
@Column(name = "DESCONTO_FATURA")
private BigDecimal descontoFatura;
@Column(name = "IND_BILHETES_ABERTOS")
private boolean indBilhetesAbertos;
@Column(name = "IND_BILHETES_CONFIRMADOS")
private Boolean indBilhetesConfirmados;
private boolean indBilhetesConfirmados;
@Column(name = "IND_RESERVA_BILHETE")
private Boolean indReservaBilhete;
private boolean indReservaBilhete;
@Column(name = "IND_MANIPULA_BONUS")
private Boolean indManipulaBonus;
private boolean indManipulaBonus;
@Column(name = "IND_EXIGE_EXCEDENTE")
private Boolean indExigeExcedente;
private boolean indExigeExcedente;
@Column(name = "USUARIO_ID")
private Long usuarioId;
private Integer usuarioId;
@Column(name = "ACTIVO")
private Integer activo;
private boolean activo;
@Basic(optional = false)
@Column(name = "FECMODIF")
@Temporal(TemporalType.TIMESTAMP)
private Date fecModif;
private transient String nomeClienteCorp;
public Long getContratoId() {
return contratoId;
}
private transient String nomeGrupoContrato;
public void setContratoId(Long contratoId) {
this.contratoId = contratoId;
}
public Long getClienteCorporativoId() {
return clienteCorporativoId;
}
public ContratoCorporativo(Long clienteCorporativoId) {
this();
this.clienteCorporativoId = clienteCorporativoId;
}
public void setClienteCorporativoId(Long clienteCorporativoId) {
this.clienteCorporativoId = clienteCorporativoId;
}
public ContratoCorporativo(Long clienteCorporativoId, String nomeClienteCorp) {
this();
this.clienteCorporativoId = clienteCorporativoId;
this.nomeClienteCorp = nomeClienteCorp;
}
public String getNumContrato() {
return numContrato;
}
public ContratoCorporativo(Long clienteCorporativoId, Date fecModif) {
this();
this.clienteCorporativoId = clienteCorporativoId;
this.fecModif = fecModif;
}
public void setNumContrato(String numContrato) {
this.numContrato = numContrato;
}
public Date getDataInicio() {
return dataInicio;
}
public void setDataInicio(Date dataInicio) {
this.dataInicio = dataInicio;
}
public Date getDataFim() {
return dataFim;
}
public void setDataFim(Date dataFim) {
this.dataFim = dataFim;
}
public BigDecimal getValorContrato() {
return valorContrato;
}
public void setValorContrato(BigDecimal valorContrato) {
this.valorContrato = valorContrato;
}
public BigDecimal getPercentualBonus() {
return percentualBonus;
}
public void setPercentualBonus(BigDecimal percentualBonus) {
this.percentualBonus = percentualBonus;
}
public Long getUsuarioRepId() {
return usuarioRepId;
}
public void setUsuarioRepId(Long usuarioRepId) {
this.usuarioRepId = usuarioRepId;
}
public Long getTipoCalculo() {
return tipoCalculo;
}
public void setTipoCalculo(Long tipoCalculo) {
this.tipoCalculo = tipoCalculo;
}
public Long getTipoTarifa() {
return tipoTarifa;
}
public void setTipoTarifa(Long tipoTarifa) {
this.tipoTarifa = tipoTarifa;
}
public Long getTipoContrato() {
return tipoContrato;
}
public void setTipoContrato(Long tipoContrato) {
this.tipoContrato = tipoContrato;
}
public Long getPuntoVentaId() {
return puntoVentaId;
}
public void setPuntoVentaId(Long puntoVentaId) {
this.puntoVentaId = puntoVentaId;
}
public Long getCiudadId() {
return ciudadId;
}
public void setCiudadId(Long ciudadId) {
this.ciudadId = ciudadId;
}
public String getLogradouro() {
return logradouro;
}
public void setLogradouro(String logradouro) {
this.logradouro = logradouro;
}
public String getNumero() {
return numero;
}
public void setNumero(String numero) {
this.numero = numero;
}
public String getComplemento() {
return complemento;
}
public void setComplemento(String complemento) {
this.complemento = complemento;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getObservacao() {
return observacao;
}
public void setObservacao(String observacao) {
this.observacao = observacao;
}
public String getDivisao() {
return divisao;
}
public void setDivisao(String divisao) {
this.divisao = divisao;
}
public Long getStatusContrato() {
return statusContrato;
}
public void setStatusContrato(Long statusContrato) {
this.statusContrato = statusContrato;
}
public BigDecimal getDescontoFatura() {
return descontoFatura;
}
public void setDescontoFatura(BigDecimal descontoFatura) {
this.descontoFatura = descontoFatura;
}
public Boolean getIndBilhetesConfirmados() {
return indBilhetesConfirmados;
}
public void setIndBilhetesConfirmados(Boolean indBilhetesConfirmados) {
this.indBilhetesConfirmados = indBilhetesConfirmados;
}
public Boolean getIndReservaBilhete() {
return indReservaBilhete;
}
public void setIndReservaBilhete(Boolean indReservaBilhete) {
this.indReservaBilhete = indReservaBilhete;
}
public Boolean getIndManipulaBonus() {
return indManipulaBonus;
}
public void setIndManipulaBonus(Boolean indManipulaBonus) {
this.indManipulaBonus = indManipulaBonus;
}
public Boolean getIndExigeExcedente() {
return indExigeExcedente;
}
public void setIndExigeExcedente(Boolean indExigeExcedente) {
this.indExigeExcedente = indExigeExcedente;
}
public Long getUsuarioId() {
return usuarioId;
}
public void setUsuarioId(Long usuarioId) {
this.usuarioId = usuarioId;
}
public Integer getActivo() {
return activo;
}
public void setActivo(Integer activo) {
this.activo = activo;
}
public Date getFecModif() {
return fecModif;
}
public void setFecModif(Date fecmodif) {
this.fecModif = fecmodif;
}
}

View File

@ -91,21 +91,25 @@ public class Usuario implements Serializable, UserDetails, Auditavel<Usuario> {
private String claveUsuario;
@Column(name = "DESCCORREO")
private String descCorreo;
@OneToMany(mappedBy = "usuario", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@Fetch(FetchMode.SELECT)
@AuditarLista(auditarEntidades = true, nome = "Perfil")
private List<UsuarioPerfil> usuarioPerfilList;
@Column(name = "INDCORTEAUTOMATICO")
private Boolean indCorteAutomatico;
@OneToOne
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "EMPLEADO_ID")
private Empleado empleado;
@OneToMany(mappedBy = "usuarioLog", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@OneToMany(mappedBy = "usuarioLog", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@Fetch(FetchMode.SELECT)
@NaoAuditar
private List<UsuarioEmpresa> usuarioEmpresaList;
@OneToMany(mappedBy = "usuario", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@OneToMany(mappedBy = "usuario", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@Fetch(FetchMode.SELECT)
@OrderBy("padrao desc")
@NaoAuditar

View File

@ -9,7 +9,7 @@ public interface ClienteCorporativoService{
public List<ClienteCorporativo> obtenerTodos();
public ClienteCorporativo obtenerID(Integer id);
public ClienteCorporativo obtenerID(Long id);
public ClienteCorporativo suscribirActualizar(ClienteCorporativo entidad) throws BusinessException;
@ -18,4 +18,6 @@ public interface ClienteCorporativoService{
public ClienteCorporativo existe(Integer classe, Integer alias, Integer orgaoConcedente, Integer aliasClasseId);
public List<ClienteCorporativo> buscar(Integer classe,Integer alias,Integer orgaoConcedente);
public List<ClienteCorporativo> buscaLike(String strClienteCorporativo);
}

View File

@ -0,0 +1,23 @@
package com.rjconsultores.ventaboletos.service;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.ContratoCorporativo;
import com.rjconsultores.ventaboletos.exception.BusinessException;
public interface ContratoService{
public List<ContratoCorporativo> obtenerTodos();
public ContratoCorporativo obtenerID(Long id);
public ContratoCorporativo suscribirActualizar(ContratoCorporativo entidad) throws BusinessException;
public void borrar(ContratoCorporativo entidad);
public ContratoCorporativo existe(Integer classe, Integer alias, Integer orgaoConcedente, Integer aliasClasseId);
public List<ContratoCorporativo> buscar(Integer classe,Integer alias,Integer orgaoConcedente);
public List<ContratoCorporativo> buscaLike(String numContrato);
}

View File

@ -64,11 +64,6 @@ public interface EmpresaService {
public List<Empresa> buscarEmpresaPtoVtaComissao();
/**
* Atualiza se necessário as licenças no primeiro acesso
*
* @return A quantidade de empresas atualizadas
*/
public Integer atualizarLicencaEmpresasPrimeiraVez();
public List<Empresa> filtrarApenasEmpresasLicencaValida(List<Empresa> lsEmpresa);
@ -77,4 +72,6 @@ public interface EmpresaService {
public String validarTokenLicensa(Empresa empresa, String tokenLicenca);
public String buscarNomeEmpresa(Integer empresaId);
}

View File

@ -23,7 +23,7 @@ public class ClienteCorporativoServiceImpl implements ClienteCorporativoService
return clienteCorpDAO.obtenerTodos();
}
public ClienteCorporativo obtenerID(Integer id) {
public ClienteCorporativo obtenerID(Long id) {
return clienteCorpDAO.obtenerID(id);
}
@ -66,4 +66,9 @@ public class ClienteCorporativoServiceImpl implements ClienteCorporativoService
public List<ClienteCorporativo> buscar(Integer classe, Integer alias, Integer orgaoConcedente) {
return clienteCorpDAO.buscar(classe, alias, orgaoConcedente);
}
@Override
public List<ClienteCorporativo> buscaLike(String strClienteCorporativo) {
return clienteCorpDAO.buscaLike( strClienteCorporativo);
}
}

View File

@ -0,0 +1,76 @@
package com.rjconsultores.ventaboletos.service.impl;
import java.util.Calendar;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.rjconsultores.ventaboletos.dao.ContratoDAO;
import com.rjconsultores.ventaboletos.entidad.ContratoCorporativo;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.ContratoService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@Service("contratoService")
public class ContratoServiceImpl implements ContratoService {
@Autowired
private ContratoDAO contratoDAO;
public List<ContratoCorporativo> obtenerTodos() {
return contratoDAO.obtenerTodos();
}
public ContratoCorporativo obtenerID(Long id) {
return contratoDAO.obtenerID(id);
}
@Transactional
public ContratoCorporativo suscribirActualizar(ContratoCorporativo entidad) throws BusinessException {
if ( entidad.getClienteCorporativoId() == null ||
entidad.getGrupoContratoId() == null ||
entidad.getNumContrato() == null ||
entidad.getDataFinal() == null ||
entidad.getDataInicial() == null ){
throw new BusinessException("editarContratoController.MSG.camposObrigatorios");
}
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecModif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.TRUE);
if (entidad.getContratoId() == null){
entidad.setStatusContrato(1);
return contratoDAO.suscribir(entidad);
}else{
return contratoDAO.actualizacion(entidad);
}
}
@Transactional
public void borrar(ContratoCorporativo entidad) {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecModif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.FALSE);
contratoDAO.actualizacion(entidad);
}
@Override
public ContratoCorporativo existe(Integer classe, Integer alias, Integer orgaoConcedente, Integer clienteCorpId) {
return contratoDAO.existe(classe, alias, orgaoConcedente, clienteCorpId);
}
@Override
public List<ContratoCorporativo> buscar(Integer classe, Integer alias, Integer orgaoConcedente) {
return contratoDAO.buscar(classe, alias, orgaoConcedente);
}
@Override
public List<ContratoCorporativo> buscaLike(String strContratoCorporativo) {
return contratoDAO.buscaLike( strContratoCorporativo);
}
}

View File

@ -155,11 +155,6 @@ public class EmpresaServiceImpl implements EmpresaService {
return empresaDAO.obtenerIndTipo2();
}
/*
* (non-Javadoc)
*
* @see com.rjconsultores.ventaboletos.service.EmpresaService#buscarNotInPuntoVtaComissao(com.rjconsultores.ventaboletos.entidad.PuntoVenta)
*/
@Override
public List<Empresa> buscarNotInPuntoVtaComissao(PuntoVenta puntoVenta) {
return empresaDAO.buscarNotInPuntoVtaComissao(puntoVenta);
@ -329,4 +324,9 @@ public class EmpresaServiceImpl implements EmpresaService {
return cantEmpresasAtualizadas;
}
@Override
public String buscarNomeEmpresa(Integer empresaId) {
return empresaDAO.buscarNomeEmpresa(empresaId);
}
}