bug#al-3564

69586 - Espec - ADM - Log de alterações venda embarcada
dev:
qua:
master
valdir.cordeiro 2024-01-25 14:23:22 -03:00
parent 2fa1d240de
commit ad4fe47b43
5 changed files with 129 additions and 5 deletions

View File

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

View File

@ -20,15 +20,22 @@ import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
import org.hibernate.annotations.Where;
import br.com.rjconsultores.auditador.annotations.AuditarClasse;
import br.com.rjconsultores.auditador.annotations.AuditarID;
import br.com.rjconsultores.auditador.annotations.NaoAuditar;
import br.com.rjconsultores.auditador.interfaces.Auditavel;
@Entity
@Table(name = "OPERADOR_EMBARCADA")
@AuditarClasse(nome = "OPERADOR_EMBARCADA", tela = "auditarClasse.OperadorEmbarcada")
@SequenceGenerator(name = "OPERADOR_EMBARCADA_SEQ", sequenceName = "OPERADOR_EMBARCADA_SEQ", allocationSize = 1)
public class OperadorEmbarcada implements Serializable {
public class OperadorEmbarcada implements Serializable, Auditavel<OperadorEmbarcada> {
private static final long serialVersionUID = 1L;
@ -36,6 +43,7 @@ public class OperadorEmbarcada implements Serializable {
@Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "OPERADOR_EMBARCADA_SEQ")
@Column(name = "OPERADOR_EMBARCADA_ID")
@AuditarID
private Long operadorEmbarcadaId;
@OneToOne
@ -59,6 +67,10 @@ public class OperadorEmbarcada implements Serializable {
@Column(name = "ACTIVO")
private Boolean activo;
@Transient
@NaoAuditar
private OperadorEmbarcada operadorClone;
public Long getOperadorEmbarcadaId() {
return operadorEmbarcadaId;
}
@ -138,4 +150,20 @@ public class OperadorEmbarcada implements Serializable {
public String getName() {
return usuario.getName();
}
@Override
public void clonar() throws CloneNotSupportedException {
operadorClone = new OperadorEmbarcada();
operadorClone = (OperadorEmbarcada) this.clone();
}
@Override
public OperadorEmbarcada getCloneObject() throws CloneNotSupportedException {
return operadorClone;
}
@Override
public String getTextoInclusaoExclusao() {
return String.format("ID [%s]", getOperadorEmbarcadaId());
}
}

View File

@ -13,11 +13,18 @@ import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Transient;
import br.com.rjconsultores.auditador.annotations.AuditarClasse;
import br.com.rjconsultores.auditador.annotations.AuditarID;
import br.com.rjconsultores.auditador.annotations.NaoAuditar;
import br.com.rjconsultores.auditador.interfaces.Auditavel;
@Entity
@Table(name = "OPERADOR_EMBARCADA_LINHA")
@AuditarClasse(nome = "OPERADOR_EMBARCADA_LINHA", tela = "auditarClasse.OperadorEmbarcadaLinha")
@SequenceGenerator(name = "OPERADOR_EMBARCADA_LINHA_SEQ", sequenceName = "OPERADOR_EMBARCADA_LINHA_SEQ", allocationSize = 1)
public class OperadorEmbarcadaLinha implements Serializable {
public class OperadorEmbarcadaLinha implements Serializable, Auditavel<OperadorEmbarcadaLinha> {
private static final long serialVersionUID = 1L;
@ -25,6 +32,7 @@ public class OperadorEmbarcadaLinha implements Serializable {
@Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "OPERADOR_EMBARCADA_LINHA_SEQ")
@Column(name = "OPERADOR_EMBARCADA_LINHA_ID")
@AuditarID
private Long operadorEmbarcadaLinhaId;
@ManyToOne
@ -38,6 +46,10 @@ public class OperadorEmbarcadaLinha implements Serializable {
@Column(name = "ACTIVO")
private Boolean activo;
@Transient
@NaoAuditar
private OperadorEmbarcadaLinha operadorClone;
public Long getOperadorEmbarcadaLinhaId() {
return operadorEmbarcadaLinhaId;
}
@ -70,4 +82,27 @@ public class OperadorEmbarcadaLinha implements Serializable {
this.ruta = ruta;
}
@Override
public void clonar() throws CloneNotSupportedException {
operadorClone = new OperadorEmbarcadaLinha();
operadorClone = (OperadorEmbarcadaLinha) this.clone();
}
@Override
public OperadorEmbarcadaLinha getCloneObject() throws CloneNotSupportedException {
return operadorClone;
}
@Override
public String getTextoInclusaoExclusao() {
return String.format("ID [%s]", getOperadorEmbarcadaLinhaId() + "- linha: " + ruta.getRutaId() + " - " + ruta.getDescruta());
}
@Override
public String toString() {
return ruta.getNumRuta();
}
}

View File

@ -14,11 +14,18 @@ import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Transient;
import br.com.rjconsultores.auditador.annotations.AuditarClasse;
import br.com.rjconsultores.auditador.annotations.AuditarID;
import br.com.rjconsultores.auditador.annotations.NaoAuditar;
import br.com.rjconsultores.auditador.interfaces.Auditavel;
@Entity
@Table(name = "OPERADOR_EMBARCADA_SERVICO")
@AuditarClasse(nome = "OPERADOR_EMBARCADA_SERVICO", tela = "auditarClasse.OperadorEmbarcadaServico")
@SequenceGenerator(name = "OPERADOR_EMBARCADA_SERVICO_SEQ", sequenceName = "OPERADOR_EMBARCADA_SERVICO_SEQ", allocationSize = 1)
public class OperadorEmbarcadaServico implements Serializable {
public class OperadorEmbarcadaServico implements Serializable, Auditavel<OperadorEmbarcadaServico> {
private static final long serialVersionUID = 1L;
@ -26,6 +33,7 @@ public class OperadorEmbarcadaServico implements Serializable {
@Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "OPERADOR_EMBARCADA_SERVICO_SEQ")
@Column(name = "OPERADOR_EMBARCADA_SERVICO_ID")
@AuditarID
private Long operadorEmbarcadaServicoId;
@ManyToOne
@ -39,6 +47,10 @@ public class OperadorEmbarcadaServico implements Serializable {
@Column(name = "ACTIVO")
private Boolean activo;
@Transient
@NaoAuditar
private OperadorEmbarcadaServico operadorClone;
public Long getOperadorEmbarcadaServicoId() {
return operadorEmbarcadaServicoId;
}
@ -70,4 +82,27 @@ public class OperadorEmbarcadaServico implements Serializable {
public void setCorrida(EsquemaCorrida corrida) {
this.corrida = corrida;
}
@Override
public void clonar() throws CloneNotSupportedException {
operadorClone = new OperadorEmbarcadaServico();
operadorClone = (OperadorEmbarcadaServico) this.clone();
}
@Override
public OperadorEmbarcadaServico getCloneObject() throws CloneNotSupportedException {
return operadorClone;
}
@Override
public String getTextoInclusaoExclusao() {
return String.format("ID [%s]", getOperadorEmbarcadaServicoId() + "- servico: " + corrida.getNumCorrida() + " - " + corrida.getInfoCorrida());
}
@Override
public String toString() {
return "" + corrida.getNumCorrida();
}
}

View File

@ -3,6 +3,7 @@ package com.rjconsultores.ventaboletos.service.impl;
import java.util.Date;
import java.util.List;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -17,6 +18,7 @@ import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaServico;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.entidad.PuntoVentaVO;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.LogAuditoriaService;
import com.rjconsultores.ventaboletos.service.OperadorEmbarcadaService;
import com.rjconsultores.ventaboletos.vo.corrida.CorridaVO;
@ -30,6 +32,10 @@ public class OperadorEmbarcadaServiceImpl implements OperadorEmbarcadaService {
@Autowired
private OperadorEmbarcadaLinhaDAO opLinhaDAO;
@Autowired
private LogAuditoriaService logAuditoriaService;
private static final Logger log = Logger.getLogger(OperadorEmbarcadaServiceImpl.class);
@Transactional(rollbackFor = BusinessException.class)
@Override
public OperadorEmbarcada suscribirActualizar(OperadorEmbarcada operador, List<OperadorEmbarcadaLinha> linhas, List<OperadorEmbarcadaServico> listaServicos) throws BusinessException {
@ -57,8 +63,18 @@ public class OperadorEmbarcadaServiceImpl implements OperadorEmbarcadaService {
if (operador.getOperadorEmbarcadaId() == null) {
operador = operadorDAO.suscribir(operador);
logAuditoriaService.auditar(null, operador, null);
} else {
OperadorEmbarcada operadorClone = null;
try {
operadorClone = operador.getCloneObject();
} catch (CloneNotSupportedException e) {
log.error("Erro ao clonar oobjeto OperadorEmbarcada, erro: ",e);
}
operador = operadorDAO.actualizacion(operador);
logAuditoriaService.auditar(operadorClone, operador, null);
}
return operador;
}
@ -66,12 +82,22 @@ public class OperadorEmbarcadaServiceImpl implements OperadorEmbarcadaService {
@Transactional
@Override
public void apagar(OperadorEmbarcada operador) throws BusinessException {
logAuditoriaService.auditarExclusao(operador, null);
operadorDAO.borrar(operador);
}
@Override
public OperadorEmbarcada buscarOperadorEmbarcadaPorUsuario(Integer idUsuario) {
return operadorDAO.buscarOperadorEmbarcadaPorUsuario(idUsuario);
OperadorEmbarcada operador = operadorDAO.buscarOperadorEmbarcadaPorUsuario(idUsuario);
try {
if(operador != null) {
operador.clonar();
}
} catch (CloneNotSupportedException e) {
}
return operador;
}
@Override