diff --git a/pom.xml b/pom.xml
index 2a0f2ec47..b62f623d1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
br.com.rjconsultores
ModelWeb
- 1.74.0
+ 1.75.0
diff --git a/src/com/rjconsultores/ventaboletos/constantes/Constantes.java b/src/com/rjconsultores/ventaboletos/constantes/Constantes.java
index 6a6ee5dd6..583a875c8 100644
--- a/src/com/rjconsultores/ventaboletos/constantes/Constantes.java
+++ b/src/com/rjconsultores/ventaboletos/constantes/Constantes.java
@@ -7,52 +7,53 @@ import java.util.List;
public class Constantes {
- public static final Long FORMA_PAGO_DINHEIRO = new Long(1);
- public static final Long FORMA_PAGO_RESERVA = new Long(94);
- public static final Long FORMA_PAGO_NOTA_CREDITO = new Long(93);
- public static final Long FORMA_PAGO_CREDITO = new Long(2);
- public static final Long FORMA_PAGO_DEBITO = new Long(3);
- public static final Long FORMA_PAGO_GERACAO_OCD = new Long(35);
- public static final Long FORMA_PAGO_TROCA_PASSAGEM = new Long(10);
- public static final Long FORMA_PAGO_ORDEN_SERVICIO = new Long(11);
+ public static final Long FORMA_PAGO_DINHEIRO = 1L;
+ public static final Long FORMA_PAGO_CREDITO = 2L;
+ public static final Long FORMA_PAGO_DEBITO = 3L;
+ public static final Long FORMA_PAGO_TROCA_PASSAGEM = 10L;
+ public static final Long FORMA_PAGO_ORDEN_SERVICIO = 11L;
+ public static final Long FORMA_PAGO_GERACAO_OCD = 35L;
+ public static final Long FORMA_PAGO_NOTA_CREDITO = 93L;
+ public static final Long FORMA_PAGO_RESERVA = 94L;
- public static final Long MVO_CANCEL_CANCELACION = new Long(31);
- public static final Long MVO_CANCEL_DEVOLUCAO = new Long(32);
- public static final Long MVO_CANCEL_DEVOLUCAO_CONTIGENCIA_50 = new Long(36);
- public static final Long MVO_CANCEL_DEVOLUCAO_CONTIGENCIA_100 = new Long(37);
- public static final Long MVO_CANCEL_TROCA = new Long(10);
- public static final Long MVO_CANCEL_CHECKIN = new Long(27);
- public static final Long MVO_CANCEL_TRANSFERENCIA = new Long(23);
- public static final Long MVO_CANCEL_BOLETO_ENTREGADO = new Long(16);
- public static final Long MVO_CANCEL_BOLETO_AGRUPAMENTO = new Long(17);
- public static final Long MVO_CANCEL_GERACAO_OCD = new Long(99);
- public static final Long MVO_CANCEL_QUITACAO_OCD = new Long(35);
- public static final Long MVO_CANCEL_VENDA_PACOTE = new Long(33);
- public static final Long ORGAO_CONCEDENTE_ID_AGERBA = new Long(27);
- public static Long TPV_DIRECTO_NORMAL = new Long(1);
- public static Long TPV_MANUAL = new Long(3);
- public static Long TPV_CALL_CENTER = new Long(5);
- public static Long TPV_BOLETO_REMOTO = new Long(18);
- public static Long TPV_TRANSFERENCIAS = new Long(8); // é a troca de passagens
- public static Long TPV_CAMBIO_VIAJE = new Long(81); // é a transferência de passagens
- public static Long TPV_CHECKIN_VIAGEM = new Long(41); // chekin boletos
- public static Long TPV_BOLETO_ABIERTO = new Long(9);
- public static Long TPV_CONFIRMA_ABIERTO = new Long(82);
- public static Long TPV_VENDA_BOLETO_ABERTO_MANUAL = new Long(39);
+ public static final Long MVO_CANCEL_CANCELACION = 31L;
+ public static final Long MVO_CANCEL_DEVOLUCAO = 32L;
+ public static final Long MVO_CANCEL_DEVOLUCAO_CONTIGENCIA_50 = 36L;
+ public static final Long MVO_CANCEL_DEVOLUCAO_CONTIGENCIA_100 = 37L;
+ public static final Long MVO_CANCEL_TROCA = 10L;
+ public static final Long MVO_CANCEL_CHECKIN = 27L;
+ public static final Long MVO_CANCEL_TRANSFERENCIA = 23L;
+ public static final Long MVO_CANCEL_BOLETO_ENTREGADO = 16L;
+ public static final Long MVO_CANCEL_BOLETO_AGRUPAMENTO = 17L;
+ public static final Long MVO_CANCEL_GERACAO_OCD = 99L;
+ public static final Long MVO_CANCEL_QUITACAO_OCD = 35L;
+ public static final Long MVO_CANCEL_VENDA_PACOTE = 33L;
+ public static final Long ORGAO_CONCEDENTE_ID_AGERBA = 27L;
+
+ public static final Long TPV_DIRECTO_NORMAL = 1L;
+ public static final Long TPV_MANUAL = 3L;
+ public static final Long TPV_CALL_CENTER = 5L;
+ public static final Long TPV_BOLETO_REMOTO = 18L;
+ public static final Long TPV_TRANSFERENCIAS = 8L; // é a troca de passagens
+ public static final Long TPV_CAMBIO_VIAJE = 81L; // é a transferência de passagens
+ public static final Long TPV_CHECKIN_VIAGEM = 41L; // chekin boletos
+ public static final Long TPV_BOLETO_ABIERTO = 9L;
+ public static final Long TPV_CONFIRMA_ABIERTO = 82L;
+ public static final Long TPV_VENDA_BOLETO_ABERTO_MANUAL = 39L;
- public static Long TPV_RESERVACION_POR_INTERNET = new Long(16);
- public static Long TPV_POR_INTERNET = new Long(12);
- public static Long TPV_AGENCIA_WEB = new Long(19);
+ public static final Long TPV_RESERVACION_POR_INTERNET = 16L;
+ public static final Long TPV_POR_INTERNET = 12L;
+ public static final Long TPV_AGENCIA_WEB = 19L;
- public static final Integer TIPO_OPERACION_CC_LQ = new Integer(1);
- public static final Integer TIPO_OPERACION_CC_PAGO = new Integer(2);
+ public static final Integer TIPO_OPERACION_CC_LQ = 1;
+ public static final Integer TIPO_OPERACION_CC_PAGO = 2;
public static final Integer ARTICULO_VENTA = 1;
public static final Integer ARTICULO_OUTROS = 2;
public static final Integer ARTICULO_MANUAL = 3;
- public static Short TURNO_AUTOMATICO = new Short("99");
+ public static final Short TURNO_AUTOMATICO = new Short("99");
public static final String IMAGEM_EMPRESA = "EMPRESA_BACKGROUND";
public static final String IMAGEM_EMPRESA_GENERICA = "EMPRESA_BACKGROUND_GENERICA";
@@ -105,7 +106,7 @@ public class Constantes {
public static final String RETER_COMISSAO_ADM_FECHAMENTO_CAIXA = "RETER_COMISSAO_ADM_FECHAMENTO_CAIXA";
- public static enum FiltroEnviadosSefaz { SIM, NAO, TODOS };
+ public enum FiltroEnviadosSefaz { SIM, NAO, TODOS };
public static final String CVESISTEMA_MOTIVO_CANCELAMENTO_ALTERACAO_POLTRONA = "ALTERACAO_POLTRONA";
@@ -148,4 +149,10 @@ public class Constantes {
public static final String DESATIVAR_OBR_CAM_EMPRESA_IMPOSTO = "DESATIVAR_OBR_CAM_EMPRESA_IMPOSTO";
+ public static final Integer PERFIL_ADM_CONTRATO = 32;
+
+ private Constantes() {
+
+ }
+
}
diff --git a/src/com/rjconsultores/ventaboletos/dao/UsuarioDAO.java b/src/com/rjconsultores/ventaboletos/dao/UsuarioDAO.java
index f9edd996c..11e09fe8a 100644
--- a/src/com/rjconsultores/ventaboletos/dao/UsuarioDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/UsuarioDAO.java
@@ -8,6 +8,9 @@ import java.util.List;
import com.rjconsultores.ventaboletos.entidad.Empleado;
import com.rjconsultores.ventaboletos.entidad.Usuario;
+import com.rjconsultores.ventaboletos.entidad.UsuarioEmpresa;
+import com.rjconsultores.ventaboletos.entidad.UsuarioPerfil;
+import com.rjconsultores.ventaboletos.entidad.UsuarioUbicacion;
import com.rjconsultores.ventaboletos.vo.caja.UsuarioActivoVO;
import com.rjconsultores.ventaboletos.vo.embarcada.UsuarioEmbarcadaVO;
@@ -31,6 +34,12 @@ public interface UsuarioDAO extends GenericDAO {
public Usuario buscarPeloId(Integer usuarioId);
+ public List buscarUsuarioEmpresaList(Integer usuarioId);
+
+ public List buscarUsuarioPerfilList(Integer usuarioId);
+
+ public List buscarUsuarioUbicacionList(Integer usuarioId);
+
public List buscarPorFuncionSistema(Long funcionSistemaId);
public List buscarUsuarioPorPontoVenda(Long puntoVentaId);
@@ -40,5 +49,7 @@ public interface UsuarioDAO extends GenericDAO {
public List buscarUsuarioEmbarcadaPorUsuariosIds(List usuariosIdList);
public List buscaUsuariosDoPuntoVenta(Long puntoventaId);
+
+
}
diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/UsuarioHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/UsuarioHibernateDAO.java
index 0a5737fec..e89afc67b 100644
--- a/src/com/rjconsultores/ventaboletos/dao/hibernate/UsuarioHibernateDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/UsuarioHibernateDAO.java
@@ -26,6 +26,9 @@ import com.rjconsultores.ventaboletos.dao.UsuarioDAO;
import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder;
import com.rjconsultores.ventaboletos.entidad.Empleado;
import com.rjconsultores.ventaboletos.entidad.Usuario;
+import com.rjconsultores.ventaboletos.entidad.UsuarioEmpresa;
+import com.rjconsultores.ventaboletos.entidad.UsuarioPerfil;
+import com.rjconsultores.ventaboletos.entidad.UsuarioUbicacion;
import com.rjconsultores.ventaboletos.vo.caja.UsuarioActivoVO;
import com.rjconsultores.ventaboletos.vo.embarcada.UsuarioEmbarcadaVO;
@@ -247,6 +250,33 @@ public class UsuarioHibernateDAO extends GenericHibernateDAO i
return (List)qr.list();
}
+
+ @Override
+ public List buscarUsuarioEmpresaList(Integer usuarioId) {
+ Criteria c = getSession().createCriteria(getPersistentClass());
+ c.add(Restrictions.eq("usuarioId", usuarioId));
+
+ Usuario result = (Usuario)c.uniqueResult();
+ return result.getUsuarioEmpresaList();
+ }
+
+ @Override
+ public List buscarUsuarioUbicacionList(Integer usuarioId) {
+ Criteria c = getSession().createCriteria(getPersistentClass());
+ c.add(Restrictions.eq("usuarioId", usuarioId));
+
+ Usuario result = (Usuario)c.uniqueResult();
+ return result.getUsuarioUbicacionList();
+ }
+
+ @Override
+ public List buscarUsuarioPerfilList(Integer usuarioId) {
+ Criteria c = getSession().createCriteria(getPersistentClass());
+ c.add(Restrictions.eq("usuarioId", usuarioId));
+
+ Usuario result = (Usuario)c.uniqueResult();
+ return result.getUsuarioPerfilList();
+ }
diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/UsuarioPerfilHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/UsuarioPerfilHibernateDAO.java
index 15b32f0c7..ae85d83cc 100644
--- a/src/com/rjconsultores/ventaboletos/dao/hibernate/UsuarioPerfilHibernateDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/UsuarioPerfilHibernateDAO.java
@@ -19,6 +19,7 @@ import org.springframework.stereotype.Repository;
*
* @author Rafius
*/
+@SuppressWarnings("unchecked")
@Repository("usuarioPerfilDAO")
public class UsuarioPerfilHibernateDAO extends GenericHibernateDAO
implements UsuarioPerfilDAO {
@@ -28,7 +29,8 @@ public class UsuarioPerfilHibernateDAO extends GenericHibernateDAO obtenerTodos() {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
diff --git a/src/com/rjconsultores/ventaboletos/entidad/Usuario.java b/src/com/rjconsultores/ventaboletos/entidad/Usuario.java
index 873ed9a67..007bb7fbf 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/Usuario.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/Usuario.java
@@ -72,28 +72,36 @@ public class Usuario implements Serializable, UserDetails, Auditavel {
@Basic(optional = false)
@Column(name = "USUARIO_ID")
private Integer usuarioId;
+
@Column(name = "NOMBUSUARIO")
private String nombusuario;
+
@Column(name = "NOMBPATERNO")
private String nombpaterno;
+
@Column(name = "NOMBMATERNO")
private String nombmaterno;
+
@Column(name = "ACTIVO")
private Boolean activo;
+
@Column(name = "FECMODIF")
@Temporal(TemporalType.TIMESTAMP)
private Date fecmodif;
+
@Column(name = "USUARIOMODIF_ID")
private Integer usuariomodifId;
+
@Column(name = "DESCCONTRASENA")
private String senha;
+
@Column(name = "CVEUSUARIO")
private String claveUsuario;
+
@Column(name = "DESCCORREO")
private String descCorreo;
@OneToMany(mappedBy = "usuario", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
- @Fetch(FetchMode.SELECT)
@AuditarLista(auditarEntidades = true, nome = "Perfil")
private List usuarioPerfilList;
@@ -104,12 +112,12 @@ public class Usuario implements Serializable, UserDetails, Auditavel {
@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 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
@@ -605,6 +613,26 @@ public class Usuario implements Serializable, UserDetails, Auditavel {
}
usuarioClone.setUsuarioPerfilList((lsClones));
}
+
+ if(this.getUsuarioEmpresaList() != null) {
+ List lsClones = new ArrayList();
+ for (UsuarioEmpresa usuarioEmpresa : this.getUsuarioEmpresaList()) {
+ if(BooleanUtils.isTrue(usuarioEmpresa.getActivo())) {
+ lsClones.add(usuarioEmpresa);
+ }
+ }
+ usuarioClone.setUsuarioEmpresaList((lsClones));
+ }
+
+ if(this.getUsuarioUbicacionList() != null) {
+ List lsClones = new ArrayList();
+ for (UsuarioUbicacion usuarioUbicacion : this.getUsuarioUbicacionList()) {
+ if(BooleanUtils.isTrue(usuarioUbicacion.getActivo())) {
+ lsClones.add(usuarioUbicacion);
+ }
+ }
+ usuarioClone.setUsuarioUbicacionList((lsClones));
+ }
}
@Override
diff --git a/src/com/rjconsultores/ventaboletos/service/UsuarioService.java b/src/com/rjconsultores/ventaboletos/service/UsuarioService.java
index ee0acab5a..74b210343 100644
--- a/src/com/rjconsultores/ventaboletos/service/UsuarioService.java
+++ b/src/com/rjconsultores/ventaboletos/service/UsuarioService.java
@@ -52,4 +52,6 @@ public interface UsuarioService {
public void desativarLinkRecuperacaoSenha(RecuperarSenha entidad);
public void salvarLinkRecuperacaoSenha(RecuperarSenha entidad);
+
+ public Usuario obtenerCompletoID(Integer id);
}
\ No newline at end of file
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/UsuarioServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/UsuarioServiceImpl.java
index 394e34c78..2fdce5422 100644
--- a/src/com/rjconsultores/ventaboletos/service/impl/UsuarioServiceImpl.java
+++ b/src/com/rjconsultores/ventaboletos/service/impl/UsuarioServiceImpl.java
@@ -75,6 +75,19 @@ public class UsuarioServiceImpl implements UsuarioService, UserDetailsService {
return usuario;
}
+
+ @Override
+ public Usuario obtenerCompletoID(Integer id) {
+
+ Usuario usuario = usuarioDAO.obtenerID(id);
+ try {
+ usuario.clonar();
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ }
+ return usuario;
+
+ }
@Transactional(rollbackFor = BusinessException.class)
@Override
diff --git a/src/com/rjconsultores/ventaboletos/utilerias/UsuarioLogado.java b/src/com/rjconsultores/ventaboletos/utilerias/UsuarioLogado.java
index 41da47101..8e42b848c 100644
--- a/src/com/rjconsultores/ventaboletos/utilerias/UsuarioLogado.java
+++ b/src/com/rjconsultores/ventaboletos/utilerias/UsuarioLogado.java
@@ -1,7 +1,3 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
package com.rjconsultores.ventaboletos.utilerias;
import java.util.ArrayList;
@@ -13,22 +9,22 @@ import org.springframework.context.ApplicationContext;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContext;
import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.web.context.ContextLoaderListener;
+import org.springframework.web.context.ContextLoader;
-import com.rjconsultores.ventaboletos.dao.UsuarioPerfilDAO;
+import com.rjconsultores.ventaboletos.constantes.Constantes;
+import com.rjconsultores.ventaboletos.dao.UsuarioDAO;
import com.rjconsultores.ventaboletos.entidad.PerfilFuncion;
import com.rjconsultores.ventaboletos.entidad.Usuario;
+import com.rjconsultores.ventaboletos.entidad.UsuarioEmpresa;
import com.rjconsultores.ventaboletos.entidad.UsuarioPerfil;
+import com.rjconsultores.ventaboletos.entidad.UsuarioUbicacion;
-/**
- *
- * @author rodrigo
- */
public class UsuarioLogado {
private static final Logger log = LogManager.getLogger(UsuarioLogado.class);
public static Usuario getUsuarioLogado() {
+
Usuario usuario = null;
SecurityContext sc = SecurityContextHolder.getContext();
if (sc != null) {
@@ -40,37 +36,101 @@ public class UsuarioLogado {
if(usuario.getListClavesPermisos() == null) {
cargaPermisoClave(usuario);
}
+
+ try {
+ usuario.getUsuarioEmpresaList();
+ }catch (Exception e) {
+ carregaUsuarioEmpresaList(usuario);
+ }
+
+ try {
+ usuario.getUsuarioPerfilList();
+ }catch (Exception e) {
+ carregaUsuarioPerfilList(usuario);
+ }
+
+ try {
+ usuario.getUsuarioUbicacionList();
+ }catch (Exception e) {
+ carregaUsuarioUbicacionList(usuario);
+ }
} else {
usuario = null;
}
}
-
+
return usuario;
}
- private static void cargaPermisoClave(Usuario usuario) {
- try {
- if(usuario != null && usuario.getListClavesPermisos() == null || usuario.getListClavesPermisos().isEmpty()) {
- ApplicationContext context = ContextLoaderListener.getCurrentWebApplicationContext();
-
- if(context != null) {
+ private static void carregaUsuarioPerfilList(Usuario usuario) {
+ try {
+ List list = obtemUsuarioDao().buscarUsuarioPerfilList(usuario.getUsuarioId());
+ usuario.setUsuarioPerfilList(list);
+ }catch (Exception e) {
+ log.error(e.getMessage(), e);
+ }
+ }
+
+ private static void carregaUsuarioUbicacionList(Usuario usuario) {
+ try {
+ List list = obtemUsuarioDao().buscarUsuarioUbicacionList(usuario.getUsuarioId());
+ usuario.setUsuarioUbicacionList(list);
+ }catch (Exception e) {
+ log.error(e.getMessage(), e);
+ }
+ }
+
+ private static void carregaUsuarioEmpresaList(Usuario usuario) {
+ try {
+ List list = obtemUsuarioDao().buscarUsuarioEmpresaList(usuario.getUsuarioId());
+ usuario.setUsuarioEmpresaList(list);
+ }catch (Exception e) {
+ log.error(e.getMessage(), e);
+ }
+ }
- UsuarioPerfilDAO usuarioPerfilDAO = context.getBean(UsuarioPerfilDAO.class);
- if(usuarioPerfilDAO != null) {
- usuario.setListClavesPermisos(new ArrayList());
- List listUsuarioPerfil = usuarioPerfilDAO.obtenerPorUsuario(usuario);
- for (UsuarioPerfil up : listUsuarioPerfil) {
- List listPerfilFuncion = up.getPerfil().getPerfilFuncionList();
- for (PerfilFuncion pf : listPerfilFuncion) {
- usuario.getListClavesPermisos().add(pf.getFuncionSistema().getDescruta());
- }
- }
- }
+ private static void cargaPermisoClave(Usuario usuario) {
+ try {
+ usuario.setListClavesPermisos(new ArrayList());
+ List listUsuarioPerfil = obtemUsuarioDao().buscarUsuarioPerfilList(usuario.getUsuarioId());
+ for (UsuarioPerfil up : listUsuarioPerfil) {
+ List listPerfilFuncion = up.getPerfil().getPerfilFuncionList();
+ for (PerfilFuncion pf : listPerfilFuncion) {
+ usuario.getListClavesPermisos().add(pf.getFuncionSistema().getDescruta());
}
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
+
+ private static UsuarioDAO obtemUsuarioDao() {
+ ApplicationContext context = ContextLoader.getCurrentWebApplicationContext();
+
+ if(context != null) {
+ UsuarioDAO usuarioDAO = context.getBean(UsuarioDAO.class);
+ if(usuarioDAO != null) {
+ return usuarioDAO;
+ }
+ }
+ return null;
+ }
+
+ public static boolean isUsuarioAdmContrato() {
+ if( getUsuarioLogado() == null) {
+ return false;
+ }
+
+ for (UsuarioPerfil perf : getUsuarioLogado().getUsuarioPerfilList()){
+ if(perf.getPerfil().getPerfilId().equals(Constantes.PERFIL_ADM_CONTRATO)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private UsuarioLogado() {
+
+ }
}