fixes bug#AL_4075

master
Aristides dos Reis Júnior 2024-06-12 11:06:47 -03:00
parent 1711e7be5c
commit ce74cc2746
14 changed files with 100 additions and 17 deletions

View File

@ -4,12 +4,12 @@
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ventaboletosadm</artifactId>
<version>1.80.2</version>
<version>1.81.0</version>
<packaging>war</packaging>
<properties>
<modelWeb.version>1.60.1</modelWeb.version>
<flyway.version>1.45.3</flyway.version>
<modelWeb.version>1.61.0</modelWeb.version>
<flyway.version>1.46.0</flyway.version>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>

View File

@ -76,6 +76,7 @@ public class RelatorioCadastroClientesConsolidado extends Relatorio {
sql.append("WHERE cliente.ACTIVO = 1 ");
sql.append("AND usuarioUbicacion.ACTIVO = 1 ");
sql.append("AND usuarioUbicacion.PADRAO = 1 ");
sql.append("AND usuario.ACTIVO = 1 ");
if (puntoVentas != null && !puntoVentas.isEmpty()) {

View File

@ -122,6 +122,7 @@ public class RelatorioCadastroClientesDetalhado extends Relatorio {
sql.append("WHERE cliente.ACTIVO = 1 ");
sql.append("AND usuarioUbicacion.ACTIVO = 1 ");
sql.append("AND usuarioUbicacion.PADRAO = 1 ");
sql.append("AND usuario.ACTIVO = 1 ");
if (puntoVentas != null && !puntoVentas.isEmpty()) {

View File

@ -128,7 +128,7 @@ public class RelatorioVendasBilheteiroSintetico extends Relatorio {
if (isDigitacao) {
sql.append(" JOIN DIGITA_ITEM_BOLETO dib on (ca.TRANSACAO_ID = dib.BOLETO_ID) ");
sql.append(" LEFT JOIN DIGITA_VENTA dv on (dib.DIGITAVENTA_ID = dv.DIGITAVENTA_ID) ");
sql.append(" LEFT JOIN USUARIO_UBICACION udu on (udu.USUARIO_ID = dv.USUARIO_ID and udu.ACTIVO = 1) ");
sql.append(" LEFT JOIN USUARIO_UBICACION udu on (udu.USUARIO_ID = dv.USUARIO_ID and udu.ACTIVO = 1 and udu.PADRAO = 1) ");
sql.append(" LEFT JOIN ESTACION est on ( est.estacion_id = ca.estacion_id AND est.ACTIVO = 1 ) ");
}
@ -139,7 +139,7 @@ public class RelatorioVendasBilheteiroSintetico extends Relatorio {
sql.append(" AND ca.PUNTOVENTA_ID = ct.PUNTOVENTA_ID ");
sql.append(" AND ca.TURNO_ID = ct.TURNO_ID ");
sql.append(" AND ca.ACTIVO = 1 ");
sql.append(" LEFT JOIN USUARIO_UBICACION uu on uu.USUARIO_ID = ct.USUARIO_ID and uu.ACTIVO = 1 ");
sql.append(" LEFT JOIN USUARIO_UBICACION uu on uu.USUARIO_ID = ct.USUARIO_ID and uu.ACTIVO = 1 and udu.PADRAO = 1");
sql.append(" INNER JOIN usuario uc ON uc.usuario_id = ct.usuario_id ");
sql.append(" INNER JOIN punto_venta pvc ON pvc.puntoventa_id = uu.puntoventa_id ");
}

View File

@ -65,10 +65,14 @@ public class LoginService {
retorno.setEstacionId(estacion.getEstacionId());
List<UsuarioUbicacion> ubicacion = usuarioUbicacionService.buscarPorUsuario(usuario);
List<UsuarioUbicacion> lsUubicacion = usuarioUbicacionService.buscarPorUsuario(usuario);
if (ubicacion != null && !ubicacion.isEmpty()) {
retorno.setPuntoventaId(ubicacion.get(0).getPuntoVenta().getPuntoventaId());
if (lsUubicacion != null && !lsUubicacion.isEmpty()) {
for (UsuarioUbicacion ubicacion : lsUubicacion) {
if (ubicacion.getPadrao()) {
retorno.setPuntoventaId(ubicacion.getPuntoVenta().getPuntoventaId());
}
}
}
List<UsuarioEmpresa> empresas = usuarioEmpresaService.obtenerPorUsuario(usuario);

View File

@ -315,7 +315,7 @@ public class GestaoPricingController extends MyGenericForwardComposer {
params.put("funcion", false);
params.put("verificaBPe", false);
params.put("esViajeRedondo", false);
params.put("unPuntoVenta_id", UsuarioLogado.getUsuarioLogado().getUsuarioUbicacionActivoList().iterator().next().getPuntoVenta().getPuntoventaId());
params.put("unPuntoVenta_id", UsuarioLogado.getUsuarioLogado().getUsuarioUbicacionPadrao().getPuntoVenta().getPuntoventaId());
params.put("usuarioId", UsuarioLogado.getUsuarioLogado().getUsuarioId());
params.put("unTipoVenta_id", "1");
params.put("unaHoraCorrida", "00:01");

View File

@ -125,7 +125,7 @@ public class RelatorioMensalDAERController extends MyGenericForwardComposer {
// Filtro nome usuário
parametros.put("NOME_USUARIO", UsuarioLogado.getUsuarioLogado().getNombusuario().toString());
parametros.put("AGENCIA", agenciasUsuario);
parametros.put("RODOVIARIA", UsuarioLogado.getUsuarioLogado().getUsuarioUbicacionList().get(0).getPuntoVenta().getNombpuntoventa().toString());
parametros.put("RODOVIARIA", UsuarioLogado.getUsuarioLogado().getUsuarioUbicacionPadrao().getPuntoVenta().getNombpuntoventa().toString());
parametros.put("ESTACION", "");
StringBuilder tipVenta = new StringBuilder();

View File

@ -11,6 +11,7 @@ import java.util.List;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.Predicate;
import org.apache.commons.lang.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
@ -29,10 +30,12 @@ import org.zkoss.zul.Comboitem;
import org.zkoss.zul.Label;
import org.zkoss.zul.ListModelList;
import org.zkoss.zul.Radio;
import org.zkoss.zul.Row;
import org.zkoss.zul.Tab;
import org.zkoss.zul.Textbox;
import com.rjconsultores.ventaboletos.constantes.ConstantesFuncionSistema;
import com.rjconsultores.ventaboletos.entidad.Constante;
import com.rjconsultores.ventaboletos.entidad.Empleado;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Parada;
@ -45,6 +48,7 @@ import com.rjconsultores.ventaboletos.entidad.UsuarioEmpresa;
import com.rjconsultores.ventaboletos.entidad.UsuarioPerfil;
import com.rjconsultores.ventaboletos.entidad.UsuarioUbicacion;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.ConstanteService;
import com.rjconsultores.ventaboletos.service.EmpleadoService;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.PerfilFuncionService;
@ -101,6 +105,8 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
private UsuarioSesionService usuarioSesionService;
@Autowired
private PerfilFuncionService perfilFuncionService;
@Autowired
private ConstanteService constanteService;
private List<Perfil> lsPerfil;
private List<Empresa> lsEmpresa;
private List<PuntoVenta> lsPuntoVenta = null;
@ -144,6 +150,10 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
private Radio radioNao;
private Textbox txtDescMac;
private Checkbox chkTrocarSenha;
private Checkbox chkUsuarioUbicacionPadrao;
private Row rowUsuarioUbicacionPadrao;
private boolean indConstanteIndMultiPuntoVenta;
private final String nombreIndConstanteIndMultiPuntoVenta ="IND_MULTI_PUNTOVENTA";
@Override
@ -153,7 +163,8 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
lsPerfil = perfilService.buscaPerfilJerarquia(perfilUsuario);
lsEmpresa = empresaService.obtenerTodos();
lsTiposVenta = tipoVentaService.obterTiposVentaIntegracao();
lsTiposVenta = tipoVentaService.obterTiposVentaIntegracao();
super.doAfterCompose(comp);
@ -162,6 +173,9 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
usuarioList = (MyListbox) Executions.getCurrent().getArg().get("usuarioList");
usrAdmin = (Boolean) Executions.getCurrent().getArg().get("usrAdmin");
validarSeIsMultiPuntoVenta();
rowUsuarioUbicacionPadrao.setVisible(indConstanteIndMultiPuntoVenta);
lsUsuarioUbicacion = new ArrayList<UsuarioUbicacion>();
if (usuario.getUsuarioId() != null) {
lsUsuarioUbicacion.addAll(usuarioUbicacionService.buscarPorUsuario(usuario));
@ -227,6 +241,19 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
validaUsuarioAdmin(perfilUsuario);
}
private void validarSeIsMultiPuntoVenta() {
List<Constante> list = constanteService.buscar(nombreIndConstanteIndMultiPuntoVenta);
if(!list.isEmpty()) {
Constante constante = list.get(0);
if (StringUtils.isNotBlank(constante.getValorconstante())){
if(constante.getValorconstante().equalsIgnoreCase("true")) {
indConstanteIndMultiPuntoVenta = true;
}
}
}
}
private void validaUsuarioAdmin(Perfil perfilUsuario) {
chkCorteTurnoAutomatico.setDisabled(!validaHabilitarViradaCaixaAutomatico());
boolean constanteValidacao = ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.IS_DESABILITA_USUARIO_ADMINISTRADORES_PERFIL.getDescricao());
@ -322,10 +349,12 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
}
private void enableAddUbicacion() {
if (lsUsuarioUbicacion.size() > 0) {
btnAdicionarUbicacion.setDisabled(true);
} else {
btnAdicionarUbicacion.setDisabled(false);
if (!indConstanteIndMultiPuntoVenta) {
if (lsUsuarioUbicacion.size() > 0) {
btnAdicionarUbicacion.setDisabled(true);
} else {
btnAdicionarUbicacion.setDisabled(false);
}
}
}
@ -539,6 +568,25 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
MensagensUtils.showMessageExclamation("editarUsuarioController.MSG.necessitaUbicacion", TITULO_CONTROLER);
return;
}
int qtdPadrao = 0;
for(UsuarioUbicacion ub : usuario.getUsuarioUbicacionActivoList()) {
if(ub.getPadrao()) {
qtdPadrao++;
}
}
if(qtdPadrao==0) {
tabUbicacion.setSelected(Boolean.TRUE);
MensagensUtils.showMessageExclamation("editarUsuarioController.MSG.QtdPadraoVazio", TITULO_CONTROLER);
return;
}
if(qtdPadrao>1) {
tabUbicacion.setSelected(Boolean.TRUE);
MensagensUtils.showMessageExclamation("editarUsuarioController.MSG.QtdPadraoMaiorDoQueUm", TITULO_CONTROLER);
return;
}
if (tipoVentaSeleccionado != null) {
usuario.setTipoVentaIntegracaoId(Long.valueOf(tipoVentaSeleccionado.getTipoventaId()));
@ -618,12 +666,18 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
public void onClick$btnAdicionarUbicacion() {
Comboitem cbiParada = cmbParada.getSelectedItem();
Comboitem cbiPuntoVenta = cmbPuntoVenta.getSelectedItem();
boolean chkiUsuarioUbicacionPadrao;
if (indConstanteIndMultiPuntoVenta) {
chkiUsuarioUbicacionPadrao = chkUsuarioUbicacionPadrao.isChecked();
} else {
chkiUsuarioUbicacionPadrao = true;
}
if ((cbiParada != null) && (cbiPuntoVenta != null)) {
Parada parada = (Parada) cbiParada.getValue();
PuntoVenta puntoVenta = (PuntoVenta) cbiPuntoVenta.getValue();
UsuarioUbicacion uu = inicializaUsuarioUbicacion(parada, puntoVenta);
UsuarioUbicacion uu = inicializaUsuarioUbicacion(parada, puntoVenta, chkiUsuarioUbicacionPadrao);
lsUsuarioUbicacion.add(uu);
List<UsuarioUbicacion> usuarioUbicacionList = getUsuarioUbicacionList();
usuarioUbicacionList.add(uu);
@ -640,7 +694,7 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
return usuario.getUsuarioUbicacionList();
}
protected UsuarioUbicacion inicializaUsuarioUbicacion(Parada parada, PuntoVenta puntoVenta) {
protected UsuarioUbicacion inicializaUsuarioUbicacion(Parada parada, PuntoVenta puntoVenta, boolean padrao) {
UsuarioUbicacion uu = new UsuarioUbicacion();
uu.setActivo(Boolean.TRUE);
uu.setFecmodif(Calendar.getInstance().getTime());
@ -648,6 +702,7 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
uu.setParada(parada);
uu.setPuntoVenta(puntoVenta);
uu.setUsuario(usuario);
uu.setPadrao(padrao);
return uu;
}

View File

@ -36,6 +36,9 @@ public class RenderUbicacion implements ListitemRenderer {
lc = new Listcell("");
}
lc.setParent(lstm);
lc = new Listcell(ubicacion.getPadrao() ? "Sim" : "Não");
lc.setParent(lstm);
lstm.setAttribute("data", ubicacion);
}

View File

@ -7038,6 +7038,9 @@ editarUsuarioController.txtEstacion.label = Estação
editarUsuarioController.txtItensComissao.label = Item considerado na Comissão
editarUsuarioController.txtTempoDevolucao.label = Tempo(minutos) de Devolução da Passagem após embarque - Contingência
editarUsuarioController.txtTipoVenta.label = Tipo de Venda
editarUsuarioController.lhPadrao.label= Ponto de Venda (Padrão)
editarUsuarioController.MSG.QtdPadraoVazio= Precisa definir um ponto de venda como padrão.
editarUsuarioController.MSG.QtdPadraoMaiorDoQueUm= Apenas um ponto de venda pode ser configurado como padrão.
# Editar User
editarUsuarioController.window.title = User
editarViaController.MSG.borrarOK = Via Excluida com Sucesso.

View File

@ -7124,6 +7124,9 @@ editarUsuarioController.txtEstacion.label = Estación
editarUsuarioController.txtItensComissao.label = Item considerado na Comissão
editarUsuarioController.txtTempoDevolucao.label = Tempo(minutos) de Devolução da Passagem após embarque - Contingência
editarUsuarioController.txtTipoVenta.label = Tipo Venta
editarUsuarioController.lhPadrao.label= Ponto de Venda (Padrão)
editarUsuarioController.MSG.QtdPadraoVazio= Precisa definir um ponto de venda como padrão.
editarUsuarioController.MSG.QtdPadraoMaiorDoQueUm= Apenas um ponto de venda pode ser configurado como padrão.
# Editar Usuário
editarUsuarioController.window.title = Usuário
editarViaController.MSG.borrarOK = Via se eliminó exitosamente

View File

@ -7113,6 +7113,9 @@ editarUsuarioController.txtEstacion.label = Gare
editarUsuarioController.txtItensComissao.label = Point examiné par le Comité
editarUsuarioController.txtTempoDevolucao.label = Temps de retour du billet (minutes) après l'embarquement - Contingence
editarUsuarioController.txtTipoVenta.label = Type de vente
editarUsuarioController.lhPadrao.label= Ponto de Venda (Padrão)
editarUsuarioController.MSG.QtdPadraoVazio= Precisa definir um ponto de venda como padrão.
editarUsuarioController.MSG.QtdPadraoMaiorDoQueUm= Apenas um ponto de venda pode ser configurado como padrão.
# Editar Usuário
editarUsuarioController.window.title = Utilisateur
editarViaController.MSG.borrarOK = Chemin supprimé avec succès.

View File

@ -7119,6 +7119,9 @@ editarUsuarioController.txtEstacion.label = Estação
editarUsuarioController.txtItensComissao.label = Item considerado na Comissão
editarUsuarioController.txtTempoDevolucao.label = Tempo(minutos) de Devolução da Passagem após embarque - Contingência
editarUsuarioController.txtTipoVenta.label = Tipo de Venda
editarUsuarioController.lhPadrao.label= Ponto de Venda (Padrão)
editarUsuarioController.MSG.QtdPadraoVazio= Precisa definir um ponto de venda como padrão.
editarUsuarioController.MSG.QtdPadraoMaiorDoQueUm= Apenas um ponto de venda pode ser configurado como padrão.
# Editar Usuário
editarUsuarioController.window.title = Usuário
editarViaController.MSG.borrarOK = Via Excluida com Sucesso.

View File

@ -162,6 +162,10 @@
<combobox id="cmbPuntoVenta" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="100%" />
</row>
<row id="rowUsuarioUbicacionPadrao" >
<label value="${c:l('editarUsuarioController.lhPadrao.label')}"/>
<checkbox id="chkUsuarioUbicacionPadrao" />
</row>
</rows>
</grid>
@ -172,6 +176,9 @@
label="${c:l('editarUsuarioController.lhParada.label')}"/>
<listheader id="lhPuntoVenta" image="/gui/img/create_doc.gif"
label="${c:l('editarUsuarioController.lhPuntoVenta.label')}"/>
<listheader id="lhPadrao" image="/gui/img/create_doc.gif"
label="${c:l('editarUsuarioController.lhPadrao.label')}"/>
</listhead>
</listbox>
</tabpanel>