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> <modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId> <groupId>br.com.rjconsultores</groupId>
<artifactId>ModelWeb</artifactId> <artifactId>ModelWeb</artifactId>
<version>1.32.2</version> <version>1.33.0</version>
<distributionManagement> <distributionManagement>
<repository> <repository>

View File

@ -20,15 +20,22 @@ import javax.persistence.SequenceGenerator;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.Temporal; import javax.persistence.Temporal;
import javax.persistence.TemporalType; import javax.persistence.TemporalType;
import javax.persistence.Transient;
import org.hibernate.annotations.Fetch; import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode; import org.hibernate.annotations.FetchMode;
import org.hibernate.annotations.Where; 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 @Entity
@Table(name = "OPERADOR_EMBARCADA") @Table(name = "OPERADOR_EMBARCADA")
@AuditarClasse(nome = "OPERADOR_EMBARCADA", tela = "auditarClasse.OperadorEmbarcada")
@SequenceGenerator(name = "OPERADOR_EMBARCADA_SEQ", sequenceName = "OPERADOR_EMBARCADA_SEQ", allocationSize = 1) @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; private static final long serialVersionUID = 1L;
@ -36,6 +43,7 @@ public class OperadorEmbarcada implements Serializable {
@Basic(optional = false) @Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "OPERADOR_EMBARCADA_SEQ") @GeneratedValue(strategy = GenerationType.AUTO, generator = "OPERADOR_EMBARCADA_SEQ")
@Column(name = "OPERADOR_EMBARCADA_ID") @Column(name = "OPERADOR_EMBARCADA_ID")
@AuditarID
private Long operadorEmbarcadaId; private Long operadorEmbarcadaId;
@OneToOne @OneToOne
@ -58,6 +66,10 @@ public class OperadorEmbarcada implements Serializable {
@Column(name = "ACTIVO") @Column(name = "ACTIVO")
private Boolean activo; private Boolean activo;
@Transient
@NaoAuditar
private OperadorEmbarcada operadorClone;
public Long getOperadorEmbarcadaId() { public Long getOperadorEmbarcadaId() {
return operadorEmbarcadaId; return operadorEmbarcadaId;
@ -137,5 +149,21 @@ public class OperadorEmbarcada implements Serializable {
public String getName() { public String getName() {
return usuario.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.OneToOne;
import javax.persistence.SequenceGenerator; import javax.persistence.SequenceGenerator;
import javax.persistence.Table; 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 @Entity
@Table(name = "OPERADOR_EMBARCADA_LINHA") @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) @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; private static final long serialVersionUID = 1L;
@ -25,6 +32,7 @@ public class OperadorEmbarcadaLinha implements Serializable {
@Basic(optional = false) @Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "OPERADOR_EMBARCADA_LINHA_SEQ") @GeneratedValue(strategy = GenerationType.AUTO, generator = "OPERADOR_EMBARCADA_LINHA_SEQ")
@Column(name = "OPERADOR_EMBARCADA_LINHA_ID") @Column(name = "OPERADOR_EMBARCADA_LINHA_ID")
@AuditarID
private Long operadorEmbarcadaLinhaId; private Long operadorEmbarcadaLinhaId;
@ManyToOne @ManyToOne
@ -37,6 +45,10 @@ public class OperadorEmbarcadaLinha implements Serializable {
@Column(name = "ACTIVO") @Column(name = "ACTIVO")
private Boolean activo; private Boolean activo;
@Transient
@NaoAuditar
private OperadorEmbarcadaLinha operadorClone;
public Long getOperadorEmbarcadaLinhaId() { public Long getOperadorEmbarcadaLinhaId() {
return operadorEmbarcadaLinhaId; return operadorEmbarcadaLinhaId;
@ -70,4 +82,27 @@ public class OperadorEmbarcadaLinha implements Serializable {
this.ruta = ruta; 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.OneToOne;
import javax.persistence.SequenceGenerator; import javax.persistence.SequenceGenerator;
import javax.persistence.Table; 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 @Entity
@Table(name = "OPERADOR_EMBARCADA_SERVICO") @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) @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; private static final long serialVersionUID = 1L;
@ -26,6 +33,7 @@ public class OperadorEmbarcadaServico implements Serializable {
@Basic(optional = false) @Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "OPERADOR_EMBARCADA_SERVICO_SEQ") @GeneratedValue(strategy = GenerationType.AUTO, generator = "OPERADOR_EMBARCADA_SERVICO_SEQ")
@Column(name = "OPERADOR_EMBARCADA_SERVICO_ID") @Column(name = "OPERADOR_EMBARCADA_SERVICO_ID")
@AuditarID
private Long operadorEmbarcadaServicoId; private Long operadorEmbarcadaServicoId;
@ManyToOne @ManyToOne
@ -38,6 +46,10 @@ public class OperadorEmbarcadaServico implements Serializable {
@Column(name = "ACTIVO") @Column(name = "ACTIVO")
private Boolean activo; private Boolean activo;
@Transient
@NaoAuditar
private OperadorEmbarcadaServico operadorClone;
public Long getOperadorEmbarcadaServicoId() { public Long getOperadorEmbarcadaServicoId() {
return operadorEmbarcadaServicoId; return operadorEmbarcadaServicoId;
@ -69,5 +81,28 @@ public class OperadorEmbarcadaServico implements Serializable {
public void setCorrida(EsquemaCorrida corrida) { public void setCorrida(EsquemaCorrida corrida) {
this.corrida = 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.Date;
import java.util.List; import java.util.List;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; 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.PuntoVenta;
import com.rjconsultores.ventaboletos.entidad.PuntoVentaVO; import com.rjconsultores.ventaboletos.entidad.PuntoVentaVO;
import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.LogAuditoriaService;
import com.rjconsultores.ventaboletos.service.OperadorEmbarcadaService; import com.rjconsultores.ventaboletos.service.OperadorEmbarcadaService;
import com.rjconsultores.ventaboletos.vo.corrida.CorridaVO; import com.rjconsultores.ventaboletos.vo.corrida.CorridaVO;
@ -29,6 +31,10 @@ public class OperadorEmbarcadaServiceImpl implements OperadorEmbarcadaService {
private OperadorEmbarcadaServicoDAO opServicoDAO; private OperadorEmbarcadaServicoDAO opServicoDAO;
@Autowired @Autowired
private OperadorEmbarcadaLinhaDAO opLinhaDAO; private OperadorEmbarcadaLinhaDAO opLinhaDAO;
@Autowired
private LogAuditoriaService logAuditoriaService;
private static final Logger log = Logger.getLogger(OperadorEmbarcadaServiceImpl.class);
@Transactional(rollbackFor = BusinessException.class) @Transactional(rollbackFor = BusinessException.class)
@Override @Override
@ -57,8 +63,18 @@ public class OperadorEmbarcadaServiceImpl implements OperadorEmbarcadaService {
if (operador.getOperadorEmbarcadaId() == null) { if (operador.getOperadorEmbarcadaId() == null) {
operador = operadorDAO.suscribir(operador); operador = operadorDAO.suscribir(operador);
logAuditoriaService.auditar(null, operador, null);
} else { } else {
OperadorEmbarcada operadorClone = null;
try {
operadorClone = operador.getCloneObject();
} catch (CloneNotSupportedException e) {
log.error("Erro ao clonar oobjeto OperadorEmbarcada, erro: ",e);
}
operador = operadorDAO.actualizacion(operador); operador = operadorDAO.actualizacion(operador);
logAuditoriaService.auditar(operadorClone, operador, null);
} }
return operador; return operador;
} }
@ -66,12 +82,22 @@ public class OperadorEmbarcadaServiceImpl implements OperadorEmbarcadaService {
@Transactional @Transactional
@Override @Override
public void apagar(OperadorEmbarcada operador) throws BusinessException { public void apagar(OperadorEmbarcada operador) throws BusinessException {
logAuditoriaService.auditarExclusao(operador, null);
operadorDAO.borrar(operador); operadorDAO.borrar(operador);
} }
@Override @Override
public OperadorEmbarcada buscarOperadorEmbarcadaPorUsuario(Integer idUsuario) { 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 @Override