diff --git a/pom.xml b/pom.xml
index eb052760c..8801078b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -306,6 +306,17 @@
jboss-logging
3.0.0.GA
+
+ br.com.rjconsultores
+ Auditador
+ 0.0.1-SNAPSHOT
+
+
+ commons-lang
+ commons-lang
+
+
+
src
diff --git a/src/com/rjconsultores/ventaboletos/dao/LogAuditoriaDAO.java b/src/com/rjconsultores/ventaboletos/dao/LogAuditoriaDAO.java
new file mode 100644
index 000000000..168fb8510
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/dao/LogAuditoriaDAO.java
@@ -0,0 +1,11 @@
+package com.rjconsultores.ventaboletos.dao;
+
+import java.util.List;
+
+import com.rjconsultores.ventaboletos.entidad.LogAuditoria;
+
+public interface LogAuditoriaDAO extends GenericDAO {
+
+ public List listarTodasAsTelas();
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/LogAuditoriaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/LogAuditoriaHibernateDAO.java
new file mode 100644
index 000000000..1b6fbd940
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/LogAuditoriaHibernateDAO.java
@@ -0,0 +1,30 @@
+package com.rjconsultores.ventaboletos.dao.hibernate;
+
+import java.util.List;
+
+import org.hibernate.Query;
+import org.hibernate.SessionFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Repository;
+
+import com.rjconsultores.ventaboletos.dao.LogAuditoriaDAO;
+import com.rjconsultores.ventaboletos.entidad.LogAuditoria;
+
+@Repository("LogAuditoriaDAO")
+public class LogAuditoriaHibernateDAO extends GenericHibernateDAO implements LogAuditoriaDAO {
+
+ @Autowired
+ public LogAuditoriaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
+ setSessionFactory(factory);
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public List listarTodasAsTelas() {
+ Query query = getSession().createSQLQuery("select tela from log_auditoria where activo = 1 group by tela");
+ List lista = query.list();
+ return lista;
+ }
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/Autobus.java b/src/com/rjconsultores/ventaboletos/entidad/Autobus.java
index e84736dd8..9003969a9 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/Autobus.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/Autobus.java
@@ -22,6 +22,10 @@ import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
+import javax.persistence.Transient;
+
+import br.com.rjconsultores.auditador.annotations.NaoAuditar;
+import br.com.rjconsultores.auditador.interfaces.Auditavel;
/**
*
@@ -30,7 +34,7 @@ import javax.persistence.TemporalType;
@Entity
@SequenceGenerator(name = "AUTOBUS_SEQ", sequenceName = "AUTOBUS_SEQ", allocationSize = 1)
@Table(name = "AUTOBUS")
-public class Autobus implements Serializable {
+public class Autobus implements Serializable, Auditavel {
private static final long serialVersionUID = 1L;
@Id
@@ -38,6 +42,7 @@ public class Autobus implements Serializable {
@Column(name = "AUTOBUS_ID")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "AUTOBUS_SEQ")
private Integer autobusId;
+
@Column(name = "NUMAUTOBUS")
private String numautobus;
@Column(name = "CANTPARADOS")
@@ -87,6 +92,10 @@ public class Autobus implements Serializable {
private List autobusDocList;
@Column(name = "NUMVAGON")
private String numvagon;
+
+ @Transient
+ @NaoAuditar
+ private Autobus autobusClone;
public Autobus() {
}
@@ -242,7 +251,7 @@ public class Autobus implements Serializable {
@Override
public int hashCode() {
int hash = 0;
- hash += (autobusId != null ? autobusId.hashCode() : 0);
+ hash += (getAutobusId() != null ? getAutobusId().hashCode() : 0);
return hash;
}
@@ -285,7 +294,7 @@ public class Autobus implements Serializable {
return false;
}
Autobus other = (Autobus) object;
- if ((this.autobusId == null && other.autobusId != null) || (this.autobusId != null && !this.autobusId.equals(other.autobusId))) {
+ if ((this.getAutobusId() == null && other.getAutobusId() != null) || (this.getAutobusId() != null && !this.getAutobusId().equals(other.getAutobusId()))) {
return false;
}
return true;
@@ -303,4 +312,19 @@ public class Autobus implements Serializable {
public void setNumvagon(String numvagon) {
this.numvagon = numvagon;
}
+
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ autobusClone = (Autobus) this.clone();
+ }
+
+ @Override
+ public Autobus getCloneObject() throws CloneNotSupportedException {
+ return autobusClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("AutobusID [%s]", getAutobusId());
+ }
}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/ClaseServicio.java b/src/com/rjconsultores/ventaboletos/entidad/ClaseServicio.java
index 7379c1de9..0c49fbfd9 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/ClaseServicio.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/ClaseServicio.java
@@ -9,6 +9,7 @@ import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -19,9 +20,13 @@ import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
+import javax.persistence.Transient;
import org.hibernate.annotations.GenericGenerator;
+import br.com.rjconsultores.auditador.annotations.NaoAuditar;
+import br.com.rjconsultores.auditador.interfaces.Auditavel;
+
/**
*
* @author Administrador
@@ -29,7 +34,7 @@ import org.hibernate.annotations.GenericGenerator;
@Entity
@SequenceGenerator(name = "CLASE_SERVICIO_SEQ", sequenceName = "CLASE_SERVICIO_SEQ", allocationSize = 1)
@Table(name = "CLASE_SERVICIO")
-public class ClaseServicio implements Serializable {
+public class ClaseServicio implements Serializable, Auditavel {
public final static short TODOS = -1;
@@ -38,8 +43,9 @@ public class ClaseServicio implements Serializable {
@Id
@GenericGenerator(name = "claseservicioIdgen", strategy = "com.rjconsultores.ventaboletos.dao.util.ClaseServicioGenerator")
@GeneratedValue(generator = "claseservicioIdgen")
- @Column(name = "CLASESERVICIO_ID")
+ @Column(name = "CLASESERVICIO_ID")
private Integer claseservicioId;
+
@Column(name = "DESCCLASE")
private String descclase;
@Column(name = "TIPOSERVICOBPE")
@@ -69,6 +75,10 @@ public class ClaseServicio implements Serializable {
@Column(name = "COEFICIENTETARIFA")
private BigDecimal coeficiente;
+ @Transient
+ @NaoAuditar
+ private ClaseServicio claseServicioClone;
+
public ClaseServicio() {
}
@@ -164,7 +174,7 @@ public class ClaseServicio implements Serializable {
@Override
public int hashCode() {
int hash = 0;
- hash += (claseservicioId != null ? claseservicioId.hashCode() : 0);
+ hash += (getClaseservicioId() != null ? getClaseservicioId().hashCode() : 0);
return hash;
}
@@ -175,7 +185,7 @@ public class ClaseServicio implements Serializable {
return false;
}
ClaseServicio other = (ClaseServicio) object;
- if ((this.claseservicioId == null && other.claseservicioId != null) || (this.claseservicioId != null && !this.claseservicioId.equals(other.claseservicioId))) {
+ if ((this.getClaseservicioId() == null && other.getClaseservicioId() != null) || (this.getClaseservicioId() != null && !this.getClaseservicioId().equals(other.getClaseservicioId()))) {
return false;
}
return true;
@@ -234,4 +244,20 @@ public class ClaseServicio implements Serializable {
this.coeficiente = coeficiente;
}
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ claseServicioClone = new ClaseServicio();
+ claseServicioClone = (ClaseServicio) this.clone();
+ }
+
+ @Override
+ public ClaseServicio getCloneObject() throws CloneNotSupportedException {
+ return claseServicioClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("ClaseServicioID [%s]", getClaseservicioId());
+ }
+
}
\ No newline at end of file
diff --git a/src/com/rjconsultores/ventaboletos/entidad/Division.java b/src/com/rjconsultores/ventaboletos/entidad/Division.java
index d1a5a558a..74c2feb6e 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/Division.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/Division.java
@@ -15,11 +15,15 @@ import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
+import javax.persistence.Transient;
+
+import br.com.rjconsultores.auditador.annotations.NaoAuditar;
+import br.com.rjconsultores.auditador.interfaces.Auditavel;
@Entity
@SequenceGenerator(name = "DIVISION_SEQ", sequenceName = "DIVISION_SEQ", allocationSize = 1)
@Table(name = "DIVISION")
-public class Division implements Serializable {
+public class Division implements Serializable, Auditavel {
private static final long serialVersionUID = 1L;
@Id
@@ -27,6 +31,7 @@ public class Division implements Serializable {
@GeneratedValue(strategy = GenerationType.AUTO, generator = "DIVISION_SEQ")
@Column(name = "DIVISION_ID")
private Integer divisionId;
+
@Column(name = "NOMBDIVISION")
private String nombDivion;
@OneToOne
@@ -39,6 +44,10 @@ public class Division implements Serializable {
private Date fecmodif;
@Column(name = "USUARIO_ID")
private Integer usuarioId;
+
+ @Transient
+ @NaoAuditar
+ private Division divisionClone;
public Division() {
@@ -111,13 +120,13 @@ public class Division implements Serializable {
return true;
if (obj == null)
return false;
- if (getClass() != obj.getClass())
+ if (!(obj instanceof Division))
return false;
Division other = (Division) obj;
- if (divisionId == null) {
- if (other.divisionId != null)
+ if (getDivisionId() == null) {
+ if (other.getDivisionId() != null)
return false;
- } else if (!divisionId.equals(other.divisionId))
+ } else if (!getDivisionId().equals(other.getDivisionId()))
return false;
return true;
}
@@ -127,4 +136,20 @@ public class Division implements Serializable {
return this.getNombDivion();
}
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ divisionClone = new Division();
+ divisionClone = (Division) this.clone();
+ }
+
+ @Override
+ public Division getCloneObject() {
+ return divisionClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("ID [%s]", getDivisionId());
+ }
+
}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/Empresa.java b/src/com/rjconsultores/ventaboletos/entidad/Empresa.java
index e3e59f4d4..a572edd87 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/Empresa.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/Empresa.java
@@ -25,6 +25,7 @@ import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
+import javax.persistence.Transient;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.Predicate;
@@ -33,6 +34,10 @@ import org.hibernate.annotations.Where;
import com.rjconsultores.ventaboletos.enums.TipoCstGratuidade;
+import br.com.rjconsultores.auditador.annotations.AuditarID;
+import br.com.rjconsultores.auditador.annotations.NaoAuditar;
+import br.com.rjconsultores.auditador.interfaces.Auditavel;
+
/**
*
* @author Rafius
@@ -41,14 +46,16 @@ import com.rjconsultores.ventaboletos.enums.TipoCstGratuidade;
@Entity
@SequenceGenerator(name = "EMPRESA_SEQ", sequenceName = "EMPRESA_SEQ", allocationSize = 1)
@Table(name = "EMPRESA")
-public class Empresa implements Serializable {
+public class Empresa implements Serializable, Auditavel {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "EMPRESA_SEQ")
@Column(name = "EMPRESA_ID")
+ @AuditarID
private Integer empresaId;
+
@Column(name = "NOMBEMPRESA")
private String nombempresa;
@Column(name = "ACTIVO")
@@ -349,6 +356,10 @@ public class Empresa implements Serializable {
@Column(name = "URLBASESEGURO")
private String urlBaseEmpresaSeguro;
+ @Transient
+ @NaoAuditar
+ private Empresa empresaClone;
+
public Empresa() {
super();
}
@@ -1299,4 +1310,20 @@ public class Empresa implements Serializable {
this.urlBaseEmpresaSeguro = urlBaseEmpresaSeguro;
}
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ empresaClone = new Empresa();
+ empresaClone = (Empresa) this.clone();
+ }
+
+ @Override
+ public Empresa getCloneObject() throws CloneNotSupportedException {
+ return empresaClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("ID [%s]", getEmpresaId());
+ }
+
}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/EsquemaAsiento.java b/src/com/rjconsultores/ventaboletos/entidad/EsquemaAsiento.java
index 2e161290d..189bff8d9 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/EsquemaAsiento.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/EsquemaAsiento.java
@@ -21,6 +21,10 @@ import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
+import javax.persistence.Transient;
+
+import br.com.rjconsultores.auditador.annotations.NaoAuditar;
+import br.com.rjconsultores.auditador.interfaces.Auditavel;
/**
*
@@ -29,7 +33,7 @@ import javax.persistence.TemporalType;
@Entity
@SequenceGenerator(name = "ESQUEMA_ASIENTO_SEQ", sequenceName = "ESQUEMA_ASIENTO_SEQ", allocationSize = 1)
@Table(name = "ESQUEMA_ASIENTO")
-public class EsquemaAsiento implements Serializable {
+public class EsquemaAsiento implements Serializable, Auditavel {
private static final long serialVersionUID = 1L;
@Id
@@ -37,6 +41,7 @@ public class EsquemaAsiento implements Serializable {
@Column(name = "ESQUEMAASIENTO_ID")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "ESQUEMA_ASIENTO_SEQ")
private Integer esquemaasientoId;
+
@Column(name = "NUMASIENTO")
private String numasiento;
@Column(name = "INDVENDIBLE")
@@ -53,14 +58,20 @@ public class EsquemaAsiento implements Serializable {
@JoinColumn(name = "PARADA_ID", referencedColumnName = "PARADA_ID")
@ManyToOne
private Parada parada;
+
@JoinColumn(name = "ESQUEMACORRIDA_ID", referencedColumnName = "ESQUEMACORRIDA_ID")
@ManyToOne(cascade = CascadeType.MERGE)
+ @NaoAuditar
private EsquemaCorrida esquemaCorrida;
@Column(name = "MOTIVOBLOQUEO")
private String motivobloqueo;
@OneToOne
@JoinColumn(name = "DESTINO_ID", referencedColumnName = "PARADA_ID")
private Parada destino;
+
+ @Transient
+ @NaoAuditar
+ private EsquemaAsiento esquemaAsientoClone;
public EsquemaAsiento() {
}
@@ -160,7 +171,7 @@ public class EsquemaAsiento implements Serializable {
@Override
public int hashCode() {
int hash = 0;
- hash += (esquemaasientoId != null ? esquemaasientoId.hashCode() : 0);
+ hash += (getEsquemaasientoId() != null ? getEsquemaasientoId().hashCode() : 0);
return hash;
}
@@ -171,7 +182,7 @@ public class EsquemaAsiento implements Serializable {
return false;
}
EsquemaAsiento other = (EsquemaAsiento) object;
- if ((this.esquemaasientoId == null && other.esquemaasientoId != null) || (this.esquemaasientoId != null && !this.esquemaasientoId.equals(other.esquemaasientoId))) {
+ if ((this.getEsquemaasientoId() == null && other.getEsquemaasientoId() != null) || (this.getEsquemaasientoId() != null && !this.getEsquemaasientoId().equals(other.getEsquemaasientoId()))) {
return false;
}
return true;
@@ -181,4 +192,23 @@ public class EsquemaAsiento implements Serializable {
public String toString() {
return "com.rjconsultores.ventaboletos.entidad.test.EsquemaAsiento[esquemaasientoId=" + esquemaasientoId + "]";
}
+
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ esquemaAsientoClone = new EsquemaAsiento();
+ esquemaAsientoClone = (EsquemaAsiento) this.clone();
+ }
+
+ @Override
+ public EsquemaAsiento getCloneObject() throws CloneNotSupportedException {
+ return esquemaAsientoClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("ID [%s] - ASSENTOS [%s] - Localidade [%s]", getEsquemaasientoId(),
+ getNumasiento(),
+ getParada() != null ? getParada().getDescparada() : null);
+ }
+
}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorrida.java b/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorrida.java
index fa70ee396..bfda8473e 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorrida.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorrida.java
@@ -20,9 +20,19 @@ import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
+import javax.persistence.Transient;
+import org.apache.commons.lang.BooleanUtils;
import org.apache.commons.lang.StringUtils;
+import br.com.rjconsultores.auditador.annotations.AuditarAtributo;
+import br.com.rjconsultores.auditador.annotations.AuditarClasse;
+import br.com.rjconsultores.auditador.annotations.AuditarEntidade;
+import br.com.rjconsultores.auditador.annotations.AuditarID;
+import br.com.rjconsultores.auditador.annotations.AuditarLista;
+import br.com.rjconsultores.auditador.annotations.NaoAuditar;
+import br.com.rjconsultores.auditador.interfaces.Auditavel;
+
/**
*
* @author Rafius
@@ -30,103 +40,154 @@ import org.apache.commons.lang.StringUtils;
@Entity
@SequenceGenerator(name = "ESQUEMA_CORRIDA_SEQ", sequenceName = "ESQUEMA_CORRIDA_SEQ", allocationSize = 1)
@Table(name = "ESQUEMA_CORRIDA")
-public class EsquemaCorrida implements Serializable {
+@AuditarClasse(nome = "ESQUEMA_CORRIDA", campoEmpresa = "empresa", tela = "Configuração de Serviços")
+public class EsquemaCorrida implements Serializable, Auditavel {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "ESQUEMACORRIDA_ID")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "ESQUEMA_CORRIDA_SEQ")
+ @AuditarID
private Integer esquemacorridaId;
+
@Column(name = "HORASALIDA")
@Temporal(TemporalType.TIME)
+ @AuditarAtributo(pattern = "HH:mm")
private Date horasalida;
+
@Column(name = "INDPISOEXTRA")
private Boolean pisoExtra;
+
@Column(name = "INDLUNES")
private Boolean indlunes;
+
@Column(name = "INDMARTES")
private Boolean indmartes;
+
@Column(name = "INDMIERCOLES")
private Boolean indmiercoles;
+
@Column(name = "INDJUEVES")
private Boolean indjueves;
+
@Column(name = "INDVIERNES")
private Boolean indviernes;
+
@Column(name = "INDSABADO")
private Boolean indsabado;
+
@Column(name = "INDDOMINGO")
private Boolean inddomingo;
+
@Column(name = "CANTPARADOS")
private Integer cantparados;
+
@Column(name = "ACTIVO")
+ @NaoAuditar
private Boolean activo;
+
@Column(name = "FECMODIF")
@Temporal(TemporalType.TIMESTAMP)
+ @NaoAuditar
private Date fecmodif;
+
@Column(name = "USUARIO_ID")
+ @NaoAuditar
private Integer usuarioId;
+
@Column(name = "DIAGRAMAAUTOBUS_ID")
private Integer diagramaAutobusId;
+
@Column(name = "STATUSCORRIDA")
private String statusCorrida;
+
@JoinColumn(name = "RUTA_ID", referencedColumnName = "RUTA_ID")
@ManyToOne
private Ruta ruta;
+
@JoinColumn(name = "ROLOPERATIVO_ID", referencedColumnName = "ROLOPERATIVO_ID")
@ManyToOne(cascade = CascadeType.ALL)
private RolOperativo rolOperativo;
+
@JoinColumn(name = "MARCA_ID", referencedColumnName = "MARCA_ID")
@ManyToOne
private Marca marca;
+
@JoinColumn(name = "ESQUEMAOPERACIONAL_ID", referencedColumnName = "ESQUEMAOPERACIONAL_ID")
@ManyToOne(cascade = CascadeType.ALL)
+ @AuditarEntidade
private EsquemaOperacional esquemaOperacional;
+
@JoinColumn(name = "EMPRESACORRIDA_ID", referencedColumnName = "EMPRESA_ID")
@ManyToOne
private Empresa empresa;
+
@JoinColumn(name = "EMPRESAINGRESO_ID", referencedColumnName = "EMPRESA_ID")
@ManyToOne
private Empresa empresa1;
+
@JoinColumn(name = "CLASESERVICIO_ID", referencedColumnName = "CLASESERVICIO_ID")
@ManyToOne(cascade = CascadeType.ALL)
private ClaseServicio claseServicio;
+
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "ESQUEMACORRIDA_ID", referencedColumnName = "ESQUEMACORRIDA_ID")
+ @AuditarLista(auditarEntidades = true, nome = "Localidade")
private List esquemaTramoList;
+
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "ESQUEMACORRIDA_ID", referencedColumnName = "ESQUEMACORRIDA_ID")
+ @AuditarLista(auditarEntidades = true, nome = "Cotas")
private List esquemaAsientoList;
+
@Column(name = "tipocorrida")
private String tipocorrida;
+
@JoinColumn(name = "ESQUEMAREBOTE_ID", referencedColumnName = "ESQUEMACORRIDA_ID")
@ManyToOne(cascade = CascadeType.ALL)
private EsquemaCorrida esquemaCorridaRebote;
+
@JoinColumn(name = "DIVISION_ID", referencedColumnName = "DIVISION_ID")
@ManyToOne(cascade = CascadeType.ALL)
private Division division;
+
@Column(name = "NUMCORRIDA")
private Integer numCorrida;
+
@Column(name = "NUMCORRIDAPISOEXTRA")
private Integer numCorridaPisoExtra;
+
@Column(name = "INDGENERAFERIADO")
private String indGeneraFeriado;
+
@Column(name = "CANTDIASGENERACION")
private Integer cantDiasGeneracion;
+
@Column(name = "ESQUEMAAGRUPACION_ID")
private Integer esquemaAgrupacionId;
+
@Column(name = "INFOCORRIDA")
private String infoCorrida;
+
@Column(name = "INDCORRIDAEXTRA")
private Boolean indCorridaExtra;
+
@Column(name = "INDDIASIMDIANAO")
private Boolean indDiaSimDiaNao;
+
@JoinColumn(name = "AUTOBUS_ID", referencedColumnName = "AUTOBUS_ID")
@ManyToOne(cascade = CascadeType.ALL)
private Autobus autoBus;
+
@OneToMany(mappedBy = "esquemaCorrida", cascade = CascadeType.ALL)
+ @AuditarLista(auditarEntidades = true, nome = "Embarque/Desembarque")
private List lsEsquemaCorridaEmbarqueDesembarque;
+ @Transient
+ @NaoAuditar
+ private EsquemaCorrida esquemaCorridaClone;
+
public enum GerarFeriado {
// Declaração dos enum
GERARSEMPRE("GERAR SEMPRE", "S"),
@@ -559,7 +620,7 @@ public class EsquemaCorrida implements Serializable {
@Override
public int hashCode() {
int hash = 0;
- hash += (esquemacorridaId != null ? esquemacorridaId.hashCode() : 0);
+ hash += (getEsquemacorridaId() != null ? getEsquemacorridaId().hashCode() : 0);
return hash;
}
@@ -571,7 +632,7 @@ public class EsquemaCorrida implements Serializable {
return false;
}
EsquemaCorrida other = (EsquemaCorrida) object;
- if ((this.esquemacorridaId == null && other.esquemacorridaId != null) || (this.esquemacorridaId != null && !this.esquemacorridaId.equals(other.esquemacorridaId))) {
+ if ((this.getEsquemacorridaId() == null && other.getEsquemacorridaId() != null) || (this.getEsquemacorridaId() != null && !this.getEsquemacorridaId().equals(other.getEsquemacorridaId()))) {
return false;
}
return true;
@@ -597,5 +658,105 @@ public class EsquemaCorrida implements Serializable {
public void setLsEsquemaCorridaEmbarqueDesembarque(List lsEsquemaCorridaEmbarqueDesembarque) {
this.lsEsquemaCorridaEmbarqueDesembarque = lsEsquemaCorridaEmbarqueDesembarque;
}
+
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ esquemaCorridaClone = new EsquemaCorrida();
+ esquemaCorridaClone = (EsquemaCorrida) this.clone();
+
+ if(this.getAutoBus() != null) {
+ this.getAutoBus().clonar();
+ esquemaCorridaClone.setAutoBus(this.getAutoBus().getCloneObject());
+ }
+
+ if(this.getClaseServicio() != null) {
+ this.getClaseServicio().clonar();
+ esquemaCorridaClone.setClaseServicio(this.getClaseServicio().getCloneObject());
+ }
+
+ if(this.getDivision() != null) {
+ this.getDivision().clonar();
+ esquemaCorridaClone.setDivision(this.getDivision().getCloneObject());
+ }
+
+ if(this.getEmpresa() != null) {
+ this.getEmpresa().clonar();
+ esquemaCorridaClone.setEmpresa(this.getEmpresa().getCloneObject());
+ }
+
+ if(this.getEmpresa1() != null) {
+ this.getEmpresa1().clonar();
+ esquemaCorridaClone.setEmpresa1(this.getEmpresa1().getCloneObject());
+ }
+
+ if(this.getMarca() != null) {
+ this.getMarca().clonar();
+ esquemaCorridaClone.setMarca(this.getMarca().getCloneObject());
+ }
+
+ if(this.getEsquemaCorridaRebote() != null) {
+ this.getEsquemaCorridaRebote().clonar();
+ esquemaCorridaClone.setEsquemaCorridaRebote(this.getEsquemaCorridaRebote().getCloneObject());
+ }
+
+ if(this.getEsquemaOperacional() != null) {
+ this.getEsquemaOperacional().clonar();
+ esquemaCorridaClone.setEsquemaOperacional(this.getEsquemaOperacional().getCloneObject());
+ }
+
+ if(this.getRolOperativo() != null) {
+ this.getRolOperativo().clonar();
+ esquemaCorridaClone.setRolOperativo(this.getRolOperativo().getCloneObject());
+ }
+
+ if(this.getRuta() != null) {
+ this.getRuta().clonar();
+ esquemaCorridaClone.setRuta(this.getRuta().getCloneObject());
+ }
+
+ if(this.getEsquemaAsientoList() != null) {
+ List lsClones = new ArrayList();
+ for (EsquemaAsiento esquemaAsiento : this.getEsquemaAsientoList()) {
+ if(BooleanUtils.isTrue(esquemaAsiento.getActivo())) {
+ esquemaAsiento.clonar();
+ lsClones.add(esquemaAsiento.getCloneObject());
+ }
+ }
+ esquemaCorridaClone.setEsquemaAsientoList(lsClones);
+ }
+
+ if(this.getEsquemaTramoList() != null) {
+ List lsClones = new ArrayList();
+ for (EsquemaTramo esquemaTramo : this.getEsquemaTramoList()) {
+ if(BooleanUtils.isTrue(esquemaTramo.getActivo())) {
+ esquemaTramo.clonar();
+ lsClones.add(esquemaTramo.getCloneObject());
+ }
+ }
+ esquemaCorridaClone.setEsquemaTramoList(lsClones);
+ }
+
+ if(this.getLsEsquemaCorridaEmbarqueDesembarque() != null) {
+ List lsClones = new ArrayList();
+ for (EsquemaCorridaEmbarqueDesembarque esquemaCorridaEmbarqueDesembarque : this.getLsEsquemaCorridaEmbarqueDesembarque()) {
+ if(BooleanUtils.isTrue(esquemaCorridaEmbarqueDesembarque.getActivo())) {
+ esquemaCorridaEmbarqueDesembarque.clonar();
+ lsClones.add(esquemaCorridaEmbarqueDesembarque.getCloneObject());
+ }
+ }
+ esquemaCorridaClone.setLsEsquemaCorridaEmbarqueDesembarque(lsClones);
+ }
+
+ }
+
+ @Override
+ public EsquemaCorrida getCloneObject() throws CloneNotSupportedException {
+ return esquemaCorridaClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("ID [%s] - Número Serviço [%s]", getEsquemacorridaId(), getNumCorrida());
+ }
}
\ No newline at end of file
diff --git a/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorridaEmbarqueDesembarque.java b/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorridaEmbarqueDesembarque.java
index ccf3b620e..7253c1d45 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorridaEmbarqueDesembarque.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorridaEmbarqueDesembarque.java
@@ -15,11 +15,15 @@ import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
+import javax.persistence.Transient;
+
+import br.com.rjconsultores.auditador.annotations.NaoAuditar;
+import br.com.rjconsultores.auditador.interfaces.Auditavel;
@Entity
@SequenceGenerator(name = "ESQUEMA_CORRIDA_EMB_DESEM_SEQ", sequenceName = "ESQUEMA_CORRIDA_EMB_DESEM_SEQ", allocationSize = 1)
@Table(name = "ESQUEMA_CORRIDA_EMBRQ_DESEMBRQ")
-public class EsquemaCorridaEmbarqueDesembarque implements java.io.Serializable {
+public class EsquemaCorridaEmbarqueDesembarque implements java.io.Serializable, Auditavel {
private static final long serialVersionUID = -6308295160991190414L;
@@ -31,6 +35,7 @@ public class EsquemaCorridaEmbarqueDesembarque implements java.io.Serializable {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "ESQUEMACORRIDA_ID", nullable = false)
+ @NaoAuditar
private EsquemaCorrida esquemaCorrida;
@ManyToOne(fetch = FetchType.LAZY)
@@ -56,6 +61,10 @@ public class EsquemaCorridaEmbarqueDesembarque implements java.io.Serializable {
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "PARADA_EMB_DES_ID")
private Parada localDesembarqueEmbarque;
+
+ @Transient
+ @NaoAuditar
+ private EsquemaCorridaEmbarqueDesembarque esquemaCorridaEmbarqueDesembarqueClone;
public EsquemaCorridaEmbarqueDesembarque() {
}
@@ -154,4 +163,55 @@ public class EsquemaCorridaEmbarqueDesembarque implements java.io.Serializable {
this.localDesembarqueEmbarque = localDesembarqueEmbarque;
}
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((getEsquemaCorridaEmbarqueDesembarqueId() == null) ? 0 : getEsquemaCorridaEmbarqueDesembarqueId().hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (!(obj instanceof EsquemaCorridaEmbarqueDesembarque))
+ return false;
+ EsquemaCorridaEmbarqueDesembarque other = (EsquemaCorridaEmbarqueDesembarque) obj;
+ if (getEsquemaCorridaEmbarqueDesembarqueId() == null) {
+ if (other.getEsquemaCorridaEmbarqueDesembarqueId() != null)
+ return false;
+ } else if (!getEsquemaCorridaEmbarqueDesembarqueId().equals(other.getEsquemaCorridaEmbarqueDesembarqueId()))
+ return false;
+ return true;
+ }
+
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ esquemaCorridaEmbarqueDesembarqueClone = new EsquemaCorridaEmbarqueDesembarque();
+ esquemaCorridaEmbarqueDesembarqueClone = (EsquemaCorridaEmbarqueDesembarque) this.clone();
+
+ if(this.getParada() != null) {
+ esquemaCorridaEmbarqueDesembarqueClone.setParada(this.getParada().getCloneObject());
+ }
+
+ if(this.getLocalDesembarqueEmbarque() != null) {
+ esquemaCorridaEmbarqueDesembarqueClone.setLocalDesembarqueEmbarque(this.getLocalDesembarqueEmbarque().getCloneObject());
+ }
+ }
+
+ @Override
+ public EsquemaCorridaEmbarqueDesembarque getCloneObject() throws CloneNotSupportedException {
+ return esquemaCorridaEmbarqueDesembarqueClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("ID [%s] - Embarque [%s] - Desemb. [%s]",
+ getEsquemaCorridaEmbarqueDesembarqueId(), getParada() != null ? getParada().getDescparada() : "",
+ getEsquemaCorridaEmbarqueDesembarqueId(), getLocalDesembarqueEmbarque() != null ? getLocalDesembarqueEmbarque().getDescparada() : "");
+ }
+
}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/EsquemaOperacional.java b/src/com/rjconsultores/ventaboletos/entidad/EsquemaOperacional.java
index 5d128074b..529019002 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/EsquemaOperacional.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/EsquemaOperacional.java
@@ -10,6 +10,7 @@ import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
+
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -17,10 +18,15 @@ import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
+import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
-import javax.persistence.SequenceGenerator;
+import javax.persistence.Transient;
+
+import br.com.rjconsultores.auditador.annotations.AuditarAtributo;
+import br.com.rjconsultores.auditador.annotations.NaoAuditar;
+import br.com.rjconsultores.auditador.interfaces.Auditavel;
/**
*
@@ -29,7 +35,7 @@ import javax.persistence.SequenceGenerator;
@Entity
@SequenceGenerator(name = "ESQUEMA_OPERACIONAL_SEQ", sequenceName = "ESQUEMA_OPERACIONAL_SEQ", allocationSize = 1)
@Table(name = "ESQUEMA_OPERACIONAL")
-public class EsquemaOperacional implements Serializable {
+public class EsquemaOperacional implements Serializable, Auditavel {
private static final long serialVersionUID = 1L;
@Id
@@ -37,21 +43,37 @@ public class EsquemaOperacional implements Serializable {
@Column(name = "ESQUEMAOPERACIONAL_ID")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "ESQUEMA_OPERACIONAL_SEQ")
private Integer esquemaoperacionalId;
+
@Column(name = "FECNICIOVIGENCIA")
@Temporal(TemporalType.TIMESTAMP)
+ @AuditarAtributo(pattern = "dd/MM/yyyy", nome = "Inicio Vigencia")
private Date fecniciovigencia;
+
@Column(name = "FECFINVIGENCIA")
@Temporal(TemporalType.TIMESTAMP)
+ @AuditarAtributo(pattern = "dd/MM/yyyy", nome = "Fim Vigencia")
private Date fecfinvigencia;
+
@Column(name = "ACTIVO")
+ @NaoAuditar
private Boolean activo;
+
@Column(name = "USUARIO_ID")
+ @NaoAuditar
private Integer usuarioId;
+
@Column(name = "FECMODIF")
@Temporal(TemporalType.TIMESTAMP)
+ @NaoAuditar
private Date fecmodif;
+
@OneToMany(mappedBy = "esquemaOperacional")
+ @NaoAuditar
private List esquemaCorridaList;
+
+ @Transient
+ @NaoAuditar
+ private EsquemaOperacional esquemaOperacionalClone;
public EsquemaOperacional() {
}
@@ -147,7 +169,7 @@ public class EsquemaOperacional implements Serializable {
@Override
public int hashCode() {
int hash = 0;
- hash += (esquemaoperacionalId != null ? esquemaoperacionalId.hashCode() : 0);
+ hash += (getEsquemaoperacionalId() != null ? getEsquemaoperacionalId().hashCode() : 0);
return hash;
}
@@ -158,7 +180,7 @@ public class EsquemaOperacional implements Serializable {
return false;
}
EsquemaOperacional other = (EsquemaOperacional) object;
- if ((this.esquemaoperacionalId == null && other.esquemaoperacionalId != null) || (this.esquemaoperacionalId != null && !this.esquemaoperacionalId.equals(other.esquemaoperacionalId))) {
+ if ((this.getEsquemaoperacionalId() == null && other.getEsquemaoperacionalId() != null) || (this.getEsquemaoperacionalId() != null && !this.getEsquemaoperacionalId().equals(other.getEsquemaoperacionalId()))) {
return false;
}
return true;
@@ -168,4 +190,21 @@ public class EsquemaOperacional implements Serializable {
public String toString() {
return "com.rjconsultores.ventaboletos.entidad.test.EsquemaOperacional[esquemaoperacionalId=" + esquemaoperacionalId + "]";
}
+
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ esquemaOperacionalClone = new EsquemaOperacional();
+ esquemaOperacionalClone = (EsquemaOperacional) this.clone();
+
+ }
+
+ @Override
+ public EsquemaOperacional getCloneObject() throws CloneNotSupportedException {
+ return esquemaOperacionalClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("ID [%s]", getEsquemaoperacionalId());
+ }
}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/EsquemaTramo.java b/src/com/rjconsultores/ventaboletos/entidad/EsquemaTramo.java
index b26aecaa2..7d69ec1ae 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/EsquemaTramo.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/EsquemaTramo.java
@@ -6,6 +6,7 @@ package com.rjconsultores.ventaboletos.entidad;
import java.io.Serializable;
import java.util.Date;
+
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -14,10 +15,16 @@ import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
+import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
-import javax.persistence.SequenceGenerator;
+import javax.persistence.Transient;
+
+import org.hibernate.Hibernate;
+
+import br.com.rjconsultores.auditador.annotations.NaoAuditar;
+import br.com.rjconsultores.auditador.interfaces.Auditavel;
/**
*
@@ -26,7 +33,7 @@ import javax.persistence.SequenceGenerator;
@Entity
@SequenceGenerator(name = "ESQUEMA_TRAMO_SEQ", sequenceName = "ESQUEMA_TRAMO_SEQ", allocationSize = 1)
@Table(name = "ESQUEMA_TRAMO")
-public class EsquemaTramo implements Serializable, Comparable {
+public class EsquemaTramo implements Serializable, Comparable, Auditavel {
private static final long serialVersionUID = 1L;
@Id
@@ -57,6 +64,7 @@ public class EsquemaTramo implements Serializable, Comparable {
@JoinColumn(name = "ESQUEMACORRIDA_ID", referencedColumnName = "ESQUEMACORRIDA_ID")
@ManyToOne
+ @NaoAuditar
private EsquemaCorrida esquemaCorrida;
@Column(name = "PLATAFORMA")
@@ -67,6 +75,10 @@ public class EsquemaTramo implements Serializable, Comparable {
@Column(name = "TIPO_PASSAGEM")
private String tipoPassagem;
+
+ @Transient
+ @NaoAuditar
+ private EsquemaTramo esquemaTramoClone;
public Date getTiempoEstancia() {
return tiempoEstancia;
@@ -166,7 +178,7 @@ public class EsquemaTramo implements Serializable, Comparable {
@Override
public int hashCode() {
int hash = 0;
- hash += (esquematramoId != null ? esquematramoId.hashCode() : 0);
+ hash += (getEsquematramoId() != null ? getEsquematramoId().hashCode() : 0);
return hash;
}
@@ -176,7 +188,7 @@ public class EsquemaTramo implements Serializable, Comparable {
return false;
}
EsquemaTramo other = (EsquemaTramo) object;
- if ((this.esquematramoId == null && other.esquematramoId != null) || (this.esquematramoId != null && !this.esquematramoId.equals(other.esquematramoId))) {
+ if ((this.getEsquematramoId() == null && other.getEsquematramoId() != null) || (this.getEsquematramoId() != null && !this.getEsquematramoId().equals(other.getEsquematramoId()))) {
return false;
}
return true;
@@ -196,4 +208,24 @@ public class EsquemaTramo implements Serializable, Comparable {
}
return 0;
}
+
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ esquemaTramoClone = new EsquemaTramo();
+ esquemaTramoClone = (EsquemaTramo) this.clone();
+ Hibernate.initialize(esquemaTramoClone.getTramo());
+ }
+
+ @Override
+ public EsquemaTramo getCloneObject() throws CloneNotSupportedException {
+ return esquemaTramoClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("EsquemaTramo - Sequencia [%s] - Origem [%s] - Destino [%s]", getNumsecuencia(),
+ getTramo() != null && getTramo().getOrigem() != null ? getTramo().getOrigem().getDescparada() : "",
+ getTramo() != null && getTramo().getDestino() != null ? getTramo().getDestino().getDescparada() : "");
+ }
+
}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/LogAuditoria.java b/src/com/rjconsultores/ventaboletos/entidad/LogAuditoria.java
new file mode 100644
index 000000000..4c8d66e1d
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/entidad/LogAuditoria.java
@@ -0,0 +1,200 @@
+package com.rjconsultores.ventaboletos.entidad;
+
+import java.io.Serializable;
+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.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+@Entity
+@SequenceGenerator(name = "LOG_AUDITORIA_SEQ", sequenceName = "LOG_AUDITORIA_SEQ", allocationSize = 1)
+@Table(name = "LOG_AUDITORIA")
+public class LogAuditoria implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ @Basic(optional = false)
+ @GeneratedValue(strategy = GenerationType.AUTO, generator = "LOG_AUDITORIA_SEQ")
+ @Column(name = "LOGAUDITORIA_ID")
+ private Long logauditoriaId;
+
+ @Column(name = "ID_AUDITADO")
+ private Long idAuditado;
+
+ @ManyToOne
+ @JoinColumn(name = "EMPRESA_ID")
+ private Empresa empresa;
+
+ @Column(name = "VALOR_ANTERIOR")
+ private String valorAnterior;
+
+ @Column(name = "VALOR_NOVO")
+ private String valorNovo;
+
+ @Column(name = "CAMPO_ALTERADO")
+ private String campoAlterado;
+
+ @Column(name = "CLASSE_ALTERADA")
+ private String classeAlterada;
+
+ @Column(name = "CLASSE_PRINCIPAL")
+ private String classePrincipal;
+
+ @Column(name = "TELA")
+ private String tela;
+
+ @Column(name = "TIPO_ALTERACAO")
+ private String tipoAlteracao;
+
+ @Column(name = "ACTIVO")
+ private boolean activo;
+
+ @Column(name = "FECMODIF")
+ @Temporal(TemporalType.TIMESTAMP)
+ private Date fecmodif;
+
+ @ManyToOne
+ @JoinColumn(name = "USUARIO_ID")
+ private Usuario usuario;
+
+ public Long getLogauditoriaId() {
+ return logauditoriaId;
+ }
+
+ public void setLogauditoriaId(Long logauditoriaId) {
+ this.logauditoriaId = logauditoriaId;
+ }
+
+ public Empresa getEmpresa() {
+ return empresa;
+ }
+
+ public void setEmpresa(Empresa empresa) {
+ this.empresa = empresa;
+ }
+
+ public String getValorAnterior() {
+ return valorAnterior;
+ }
+
+ public void setValorAnterior(String valorAnterior) {
+ this.valorAnterior = valorAnterior;
+ }
+
+ public String getValorNovo() {
+ return valorNovo;
+ }
+
+ public void setValorNovo(String valorNovo) {
+ this.valorNovo = valorNovo;
+ }
+
+ public String getCampoAlterado() {
+ return campoAlterado;
+ }
+
+ public void setCampoAlterado(String campoAlterado) {
+ this.campoAlterado = campoAlterado;
+ }
+
+ public String getClasseAlterada() {
+ return classeAlterada;
+ }
+
+ public void setClasseAlterada(String classeAlterada) {
+ this.classeAlterada = classeAlterada;
+ }
+
+ public String getClassePrincipal() {
+ return classePrincipal;
+ }
+
+ public void setClassePrincipal(String classePrincipal) {
+ this.classePrincipal = classePrincipal;
+ }
+
+ public String getTela() {
+ return tela;
+ }
+
+ public void setTela(String tela) {
+ this.tela = tela;
+ }
+
+ public String getTipoAlteracao() {
+ return tipoAlteracao;
+ }
+
+ public void setTipoAlteracao(String tipoAlteracao) {
+ this.tipoAlteracao = tipoAlteracao;
+ }
+
+ public boolean isActivo() {
+ return activo;
+ }
+
+ public void setActivo(boolean activo) {
+ this.activo = activo;
+ }
+
+ public Date getFecmodif() {
+ return fecmodif;
+ }
+
+ public void setFecmodif(Date fecmodif) {
+ this.fecmodif = fecmodif;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((getLogauditoriaId() == null) ? 0 : getLogauditoriaId().hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (!(obj instanceof LogAuditoria))
+ return false;
+ LogAuditoria other = (LogAuditoria) obj;
+ if (getLogauditoriaId() == null) {
+ if (other.getLogauditoriaId() != null)
+ return false;
+ } else if (!getLogauditoriaId().equals(other.getLogauditoriaId()))
+ return false;
+ return true;
+ }
+
+ public Usuario getUsuario() {
+ return usuario;
+ }
+
+ public void setUsuario(Usuario usuario) {
+ this.usuario = usuario;
+ }
+
+ public Long getIdAuditado() {
+ return idAuditado;
+ }
+
+ public void setIdAuditado(Long idAuditado) {
+ this.idAuditado = idAuditado;
+ }
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/Marca.java b/src/com/rjconsultores/ventaboletos/entidad/Marca.java
index 59f8726ae..64b91daca 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/Marca.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/Marca.java
@@ -23,10 +23,14 @@ 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 br.com.rjconsultores.auditador.annotations.NaoAuditar;
+import br.com.rjconsultores.auditador.interfaces.Auditavel;
+
/**
*
* @author Administrador
@@ -34,7 +38,7 @@ import org.hibernate.annotations.FetchMode;
@Entity
@SequenceGenerator(name = "MARCA_SEQ", sequenceName = "MARCA_SEQ", allocationSize = 1)
@Table(name = "MARCA")
-public class Marca implements Serializable {
+public class Marca implements Serializable, Auditavel {
public final static short TODOS = -1;
private static final long serialVersionUID = 1L;
@@ -43,8 +47,10 @@ public class Marca implements Serializable {
@GeneratedValue(strategy = GenerationType.AUTO, generator = "MARCA_SEQ")
@Column(name = "MARCA_ID")
private Short marcaId;
+
@Column(name = "DESCMARCA")
private String descmarca;
+
@OneToOne
@JoinColumn(name = "EMPRESA_ID")
private Empresa empresa;
@@ -75,6 +81,10 @@ public class Marca implements Serializable {
@OneToMany(mappedBy = "marca")
@Fetch(FetchMode.SELECT)
private List corridaList;
+
+ @Transient
+ @NaoAuditar
+ private Marca marcaClone;
public Marca() {
}
@@ -207,7 +217,7 @@ public class Marca implements Serializable {
@Override
public int hashCode() {
int hash = 0;
- hash += (marcaId != null ? marcaId.hashCode() : 0);
+ hash += (getMarcaId() != null ? getMarcaId().hashCode() : 0);
return hash;
}
@@ -218,7 +228,7 @@ public class Marca implements Serializable {
return false;
}
Marca other = (Marca) object;
- if ((this.marcaId == null && other.marcaId != null) || (this.marcaId != null && !this.marcaId.equals(other.marcaId))) {
+ if ((this.getMarcaId() == null && other.getMarcaId() != null) || (this.getMarcaId() != null && !this.getMarcaId().equals(other.getMarcaId()))) {
return false;
}
return true;
@@ -244,4 +254,20 @@ public class Marca implements Serializable {
public void setTarifaHistList(List tarifaHistList) {
this.tarifaHistList = tarifaHistList;
}
+
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ marcaClone = new Marca();
+ marcaClone = (Marca) this.clone();
+ }
+
+ @Override
+ public Marca getCloneObject() throws CloneNotSupportedException {
+ return marcaClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("ID [%s]", getMarcaId());
+ }
}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/Parada.java b/src/com/rjconsultores/ventaboletos/entidad/Parada.java
index af1518bcc..4c18ebf7e 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/Parada.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/Parada.java
@@ -24,10 +24,14 @@ 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 br.com.rjconsultores.auditador.annotations.NaoAuditar;
+import br.com.rjconsultores.auditador.interfaces.Auditavel;
+
/**
*
* @author Administrador
@@ -35,7 +39,7 @@ import org.hibernate.annotations.FetchMode;
@Entity
@SequenceGenerator(name = "PARADA_SEQ", sequenceName = "PARADA_SEQ", allocationSize = 1)
@Table(name = "PARADA")
-public class Parada implements Serializable {
+public class Parada implements Serializable, Auditavel {
public static Integer ID_PARADA_TODOS = -1;
private static final long serialVersionUID = 1L;
@@ -100,6 +104,10 @@ public class Parada implements Serializable {
@Fetch(value = FetchMode.SUBSELECT)
private List codigosOrgaosConcedentes = new ArrayList();
+ @Transient
+ @NaoAuditar
+ private Parada paradaClone;
+
public Parada() {
super();
}
@@ -337,4 +345,24 @@ public class Parada implements Serializable {
public void setIndVisibleInternet(Boolean indVisibleInternet) {
this.indVisibleInternet = indVisibleInternet;
}
+
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ paradaClone = new Parada();
+ paradaClone = (Parada) this.clone();
+ }
+
+ @Override
+ public Parada getCloneObject() throws CloneNotSupportedException {
+// if(paradaClone == null) {
+// this.clonar();
+// }
+ return paradaClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("EsquemaAsientoID [%s]", getParadaId());
+ }
+
}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/RolOperativo.java b/src/com/rjconsultores/ventaboletos/entidad/RolOperativo.java
index 22c2b6136..2664f99d9 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/RolOperativo.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/RolOperativo.java
@@ -7,6 +7,7 @@ package com.rjconsultores.ventaboletos.entidad;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
+
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
@@ -15,10 +16,14 @@ import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
+import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
-import javax.persistence.SequenceGenerator;
+import javax.persistence.Transient;
+
+import br.com.rjconsultores.auditador.annotations.NaoAuditar;
+import br.com.rjconsultores.auditador.interfaces.Auditavel;
/**
*
@@ -27,7 +32,7 @@ import javax.persistence.SequenceGenerator;
@Entity
@SequenceGenerator(name = "ROL_OPERATIVO_SEQ", sequenceName = "ROL_OPERATIVO_SEQ", allocationSize=1)
@Table(name = "ROL_OPERATIVO")
-public class RolOperativo implements Serializable {
+public class RolOperativo implements Serializable, Auditavel {
private static final long serialVersionUID = 1L;
@Id
@@ -51,6 +56,10 @@ public class RolOperativo implements Serializable {
@JoinColumn(name = "DIAGRAMAAUTOBUS_ID", referencedColumnName = "DIAGRAMAAUTOBUS_ID")
@ManyToOne
private DiagramaAutobus diagramaAutobus;
+
+ @Transient
+ @NaoAuditar
+ private RolOperativo rolOperativoClone;
public RolOperativo() {
}
@@ -137,7 +146,7 @@ public class RolOperativo implements Serializable {
return false;
}
RolOperativo other = (RolOperativo) object;
- if ((this.roloperativoId == null && other.roloperativoId != null) || (this.roloperativoId != null && !this.roloperativoId.equals(other.roloperativoId))) {
+ if ((this.getRoloperativoId() == null && other.getRoloperativoId() != null) || (this.getRoloperativoId() != null && !this.getRoloperativoId().equals(other.getRoloperativoId()))) {
return false;
}
return true;
@@ -147,4 +156,21 @@ public class RolOperativo implements Serializable {
public String toString() {
return this.getDescroloperativo();
}
+
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ rolOperativoClone = new RolOperativo();
+ rolOperativoClone = (RolOperativo) this.clone();
+ }
+
+ @Override
+ public RolOperativo getCloneObject() throws CloneNotSupportedException {
+ return rolOperativoClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("ID [%s]", getRoloperativoId());
+ }
+
}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/Ruta.java b/src/com/rjconsultores/ventaboletos/entidad/Ruta.java
index 779cb3782..a2d1417ef 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/Ruta.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/Ruta.java
@@ -28,6 +28,9 @@ import javax.persistence.Transient;
import org.hibernate.annotations.Where;
+import br.com.rjconsultores.auditador.annotations.NaoAuditar;
+import br.com.rjconsultores.auditador.interfaces.Auditavel;
+
/**
*
* @author Rafius
@@ -36,7 +39,7 @@ import org.hibernate.annotations.Where;
@SequenceGenerator(name = "RUTA_SEQ", sequenceName = "RUTA_SEQ", allocationSize = 1)
@org.hibernate.annotations.Entity(dynamicUpdate = true)
@Table(name = "RUTA")
-public class Ruta implements Serializable, Comparable {
+public class Ruta implements Serializable, Comparable, Auditavel {
private static final long serialVersionUID = 1L;
@@ -156,6 +159,10 @@ public class Ruta implements Serializable, Comparable {
@Column(name = "indnumfidelidadobligatorio")
private Boolean indNumFidelidadObligatorio;
+ @Transient
+ @NaoAuditar
+ private Ruta rutaClone;
+
public Ruta() {
super();
indRutaCancelada = false;
@@ -601,6 +608,22 @@ public class Ruta implements Serializable, Comparable {
public void setLsRutaIcmsExcepcions(List lsRutaIcmsExcepcions) {
this.lsRutaIcmsExcepcions = lsRutaIcmsExcepcions;
}
+
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ rutaClone = new Ruta();
+ rutaClone = (Ruta) this.clone();
+ }
+
+ @Override
+ public Ruta getCloneObject() throws CloneNotSupportedException {
+ return rutaClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("ID [%s]", getRutaId());
+ }
public Boolean getIndPrecioPorDemanda() {
return indPrecioPorDemanda;
diff --git a/src/com/rjconsultores/ventaboletos/entidad/Tarifa.java b/src/com/rjconsultores/ventaboletos/entidad/Tarifa.java
index 99275b0d1..3d7b0fec0 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/Tarifa.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/Tarifa.java
@@ -24,6 +24,14 @@ import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
+import javax.persistence.Transient;
+
+import br.com.rjconsultores.auditador.annotations.AuditarAtributo;
+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;
+import br.com.rjconsultores.auditador.interfaces.AuditavelTelaAlternativa;
/**
*
@@ -32,72 +40,130 @@ import javax.persistence.TemporalType;
@Entity
@SequenceGenerator(name = "TARIFA_SEQ", sequenceName = "TARIFA_SEQ", allocationSize = 1)
@Table(name = "TARIFA")
-public class Tarifa implements Serializable {
+@AuditarClasse(nome = "TARIFA", tela = "Alteração de Preço", campoEmpresa = "empresaId")
+public class Tarifa implements Serializable, Auditavel, AuditavelTelaAlternativa {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "TARIFA_SEQ")
@Column(name = "TARIFA_ID")
+ @AuditarID
private Integer tarifaId;
+
@Column(name = "PRECIO")
+ @AuditarAtributo(nome = "Tarifa")
private BigDecimal precio;
+
@Column(name = "IMPORTETAXAEMBARQUE")
+ @AuditarAtributo(nome = "Taxa de Embarque")
private BigDecimal importetaxaembarque;
+
@Column(name = "IMPORTEPEDAGIO")
+ @AuditarAtributo(nome = "Pedagio")
private BigDecimal importepedagio;
+
@Column(name = "IMPORTEOUTROS")
+ @AuditarAtributo(nome = "Outros")
private BigDecimal importeoutros;
+
@Column(name = "IMPORTESEGURO")
+ @AuditarAtributo(nome = "Seguro")
private BigDecimal importeseguro;
+
@Column(name = "IMPORTETPP")
+ @AuditarAtributo(nome = "Tarifa TPP")
private BigDecimal importeTPP;
+
@Column(name = "PRECIOORIGINAL")
+ @AuditarAtributo(nome = "Tarifa Original")
private BigDecimal preciooriginal;
+
@Column(name = "STATUSTARIFA")
+ @AuditarAtributo(nome = "Status Tarifa")
private String statustarifa;
+
@Column(name = "ACTIVO")
+ @NaoAuditar
private Boolean activo;
+
@Column(name = "FECMODIF")
@Temporal(TemporalType.TIMESTAMP)
+ @NaoAuditar
private Date fecmodif;
@Column(name = "USUARIO_ID")
+ @NaoAuditar
private Integer usuarioId;
+
@OneToOne
@JoinColumn(name = "TRAMO_ID")
+ @NaoAuditar
private Tramo tramo;
+
@OneToOne
@JoinColumn(name = "MARCA_ID")
+ @NaoAuditar
private Marca marca;
+
@OneToOne
@JoinColumn(name = "CLASESERVICIO_ID")
+ @NaoAuditar
private ClaseServicio claseServicio;
+
@OneToOne
@JoinColumn(name = "MONEDA_ID")
+ @NaoAuditar
private Moneda moneda;
+
@OneToOne
@JoinColumn(name = "VIGENCIATARIFA_ID")
+ @NaoAuditar
private VigenciaTarifa vigenciaTarifa;
+
@Column(name = "PRECIOREDABIERTO")
+ @AuditarAtributo(nome = "Tarifa volta em aberto")
private BigDecimal precioredabierto;
+
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "TARIFA_ID", referencedColumnName = "TARIFA_ID")
+ @NaoAuditar
private List lsTarifaTipoptovta;
+
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "TARIFA_ID", referencedColumnName = "TARIFA_ID")
+ @NaoAuditar
private List lsTarifaCategoria;
+
@OneToOne
@JoinColumn(name = "ORIGEN_ID")
+ @NaoAuditar
private Parada origen;
+
@OneToOne
@JoinColumn(name = "DESTINO_ID")
+ @NaoAuditar
private Parada destino;
+
@OneToOne
@JoinColumn(name = "RUTA_ID")
+ @NaoAuditar
private Ruta ruta;
+
@OneToOne
@JoinColumn(name = "ORGAOCONCEDENTE_ID")
+ @NaoAuditar
private OrgaoConcedente orgaoConcedente;
+
+ @Transient
+ @NaoAuditar
+ private Tarifa tarifaClone;
+
+ @NaoAuditar
+ @Transient
+ private String telaAlternativa;
+
+ @Transient
+ private Integer empresaId;
public Tarifa() {
}
@@ -344,4 +410,39 @@ public class Tarifa implements Serializable {
public void setImporteseguro(BigDecimal importeseguro) {
this.importeseguro = importeseguro;
}
+
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ tarifaClone = new Tarifa();
+ tarifaClone = (Tarifa) this.clone();
+ tarifaClone.setEmpresaId(this.getMarca() != null && this.getMarca().getEmpresa() != null ? this.getMarca().getEmpresa().getEmpresaId() : null);
+ }
+
+ @Override
+ public Tarifa getCloneObject() throws CloneNotSupportedException {
+ return tarifaClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("ID [%s]", getTarifaId());
+ }
+
+ public Integer getEmpresaId() {
+ return empresaId;
+ }
+
+ public void setEmpresaId(Integer empresaId) {
+ this.empresaId = empresaId;
+ }
+
+ public void setTelaAlternativa(String telaAlternativa) {
+ this.telaAlternativa = telaAlternativa;
+ }
+
+ @Override
+ public String getTelaAlternativa() {
+ return telaAlternativa;
+ }
+
}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/TarifaOficial.java b/src/com/rjconsultores/ventaboletos/entidad/TarifaOficial.java
index 4b4f58015..8906065a0 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/TarifaOficial.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/TarifaOficial.java
@@ -16,70 +16,128 @@ import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
+import javax.persistence.Transient;
+
+import br.com.rjconsultores.auditador.annotations.AuditarAtributo;
+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
@SequenceGenerator(name = "TARIFA_OFICIAL_SEQ", sequenceName = "TARIFA_OFICIAL_SEQ", allocationSize = 1)
@Table(name = "TARIFA_OFICIAL")
-public class TarifaOficial implements Serializable {
+@AuditarClasse(nome = "TARIFA", tela = "Alteração de Preço / Tarifa Oficial", campoEmpresa = "empresaId")
+public class TarifaOficial implements Serializable, Auditavel {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "TARIFA_OFICIAL_SEQ")
@Column(name = "TARIFAOFICIAL_ID")
+ @AuditarID
private Integer tarifaOficialId;
+
@Column(name = "PRECIO")
+ @AuditarAtributo(nome = "Tarifa")
private BigDecimal precio;
+
@Column(name = "PRECIOORIGINAL")
+ @AuditarAtributo(nome = "Tarifa Original")
private BigDecimal preciooriginal;
+
@Column(name = "IMPORTETAXAEMBARQUE")
+ @AuditarAtributo(nome = "Taxa de Embarque")
private BigDecimal importetaxaembarque;
+
@Column(name = "IMPORTEPEDAGIO")
+ @AuditarAtributo(nome = "Pedagio")
private BigDecimal importepedagio;
+
@Column(name = "IMPORTEOUTROS")
+ @AuditarAtributo(nome = "Outros")
private BigDecimal importeoutros;
+
@Column(name = "IMPORTESEGURO")
+ @AuditarAtributo(nome = "Seguro")
private BigDecimal importeseguro;
+
@Column(name = "IMPORTETPP")
+ @AuditarAtributo(nome = "Tarifa TPP")
private BigDecimal importetpp;
+
@Column(name = "STATUSTARIFA")
+ @AuditarAtributo(nome = "Status Tarifa")
private String statustarifa;
+
@Column(name = "ACTIVO")
+ @NaoAuditar
private Boolean activo;
+
@Column(name = "FECMODIF")
@Temporal(TemporalType.TIMESTAMP)
+ @NaoAuditar
private Date fecmodif;
+
@Column(name = "USUARIO_ID")
+ @NaoAuditar
private Integer usuarioId;
+
@OneToOne
@JoinColumn(name = "TRAMO_ID")
+ @NaoAuditar
private Tramo tramo;
+
@OneToOne
@JoinColumn(name = "MARCA_ID")
+ @NaoAuditar
private Marca marca;
+
@OneToOne
@JoinColumn(name = "CLASESERVICIO_ID")
+ @NaoAuditar
private ClaseServicio claseServicio;
+
@OneToOne
@JoinColumn(name = "MONEDA_ID")
+ @NaoAuditar
private Moneda moneda;
+
@OneToOne
@JoinColumn(name = "VIGENCIATARIFA_ID")
+ @NaoAuditar
private VigenciaTarifa vigenciaTarifa;
+
@Column(name = "PRECIOREDABIERTO")
+ @AuditarAtributo(nome = "Tarifa volta em aberto")
private BigDecimal precioredabierto;
+
@OneToOne
@JoinColumn(name = "ORIGEN_ID")
+ @NaoAuditar
private Parada origen;
+
@OneToOne
@JoinColumn(name = "DESTINO_ID")
+ @NaoAuditar
private Parada destino;
+
@OneToOne
@JoinColumn(name = "RUTA_ID")
+ @NaoAuditar
private Ruta ruta;
+
@OneToOne
@JoinColumn(name = "ORGAOCONCEDENTE_ID")
+ @NaoAuditar
private OrgaoConcedente orgaoConcedente;
+
+ @Transient
+ @NaoAuditar
+ private TarifaOficial tarifaOficialClone;
+
+ @Transient
+ private Integer empresaId;
public TarifaOficial() {
}
@@ -283,4 +341,30 @@ public class TarifaOficial implements Serializable {
public void setImporteseguro(BigDecimal importeseguro) {
this.importeseguro = importeseguro;
}
+
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ tarifaOficialClone = new TarifaOficial();
+ tarifaOficialClone = (TarifaOficial) this.clone();
+ tarifaOficialClone.setEmpresaId(this.getMarca() != null && this.getMarca().getEmpresa() != null ? this.getMarca().getEmpresa().getEmpresaId() : null);
+ }
+
+ @Override
+ public TarifaOficial getCloneObject() throws CloneNotSupportedException {
+ return tarifaOficialClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("ID [%s]", getTarifaOficialId());
+ }
+
+ public Integer getEmpresaId() {
+ return empresaId;
+ }
+
+ public void setEmpresaId(Integer empresaId) {
+ this.empresaId = empresaId;
+ }
+
}
diff --git a/src/com/rjconsultores/ventaboletos/service/LogAuditoriaService.java b/src/com/rjconsultores/ventaboletos/service/LogAuditoriaService.java
new file mode 100644
index 000000000..a5a3ffb74
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/service/LogAuditoriaService.java
@@ -0,0 +1,19 @@
+package com.rjconsultores.ventaboletos.service;
+
+import java.util.List;
+
+import com.rjconsultores.ventaboletos.entidad.LogAuditoria;
+
+import br.com.rjconsultores.auditador.model.AuditadorObjects;
+
+public interface LogAuditoriaService extends GenericService {
+
+ public void auditar(Object objetoOriginal, Object objetoNovo);
+
+ public void auditarExclusao(Object objeto);
+
+ public List listarTodasAsTelas();
+
+ public void suscribir(List lsObjects);
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java
index 2706dee4a..d65523f07 100644
--- a/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java
+++ b/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java
@@ -9,6 +9,7 @@ import java.util.Calendar;
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;
@@ -29,7 +30,9 @@ import com.rjconsultores.ventaboletos.entidad.ParadaEsquema;
import com.rjconsultores.ventaboletos.entidad.RolOperativo;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.Tramo;
+import com.rjconsultores.ventaboletos.service.EsquemaAsientoService;
import com.rjconsultores.ventaboletos.service.EsquemaCorridaService;
+import com.rjconsultores.ventaboletos.service.LogAuditoriaService;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@@ -39,6 +42,8 @@ import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
*/
@Service("esquemaCorridaService")
public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
+
+ private static Logger log = Logger.getLogger(EsquemaCorridaServiceImpl.class);
@Autowired
private EsquemaCorridaDAO esquemaCorridaDAO;
@@ -46,13 +51,24 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
private RutaCombinacionDAO rutaCombinacionDAO;
@Autowired
private EsquemaTramoDAO esquemaTramoDAO;
+ @Autowired
+ private EsquemaAsientoService esquemaAsientoService;
+
+ @Autowired
+ private LogAuditoriaService logAuditoriaService;
public List obtenerTodos() {
return esquemaCorridaDAO.obtenerTodos();
}
public EsquemaCorrida obtenerID(Integer id) {
- return esquemaCorridaDAO.obtenerID(id);
+ EsquemaCorrida esquemaCorrida = esquemaCorridaDAO.obtenerID(id);
+ try {
+ esquemaCorrida.clonar();
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ }
+ return esquemaCorrida;
}
@Override
@@ -86,16 +102,45 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
entidad.setClaseServicio(c);
entidad.setRolOperativo(r);
- return esquemaCorridaDAO.actualizacion(entidad);
+ entidad = esquemaCorridaDAO.actualizacion(entidad);
+
+ logAuditoriaService.auditar(null, entidad);
+
+ return entidad;
}
@Transactional
public EsquemaCorrida actualizacion(EsquemaCorrida entidad) {
- entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
- entidad.setFecmodif(Calendar.getInstance().getTime());
- entidad.setActivo(Boolean.TRUE);
+ try {
+ entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
+ entidad.setFecmodif(Calendar.getInstance().getTime());
+ entidad.setActivo(Boolean.TRUE);
+
+ EsquemaCorrida clone = entidad.getCloneObject();
+
+ entidad = esquemaCorridaDAO.actualizacion(entidad);
+ entidad.clonar();
+ EsquemaCorrida novoClone = entidad.getCloneObject();
+
+ novoClone.setEsquemaAsientoList(null);
+ List lsAsientos = esquemaAsientoService.obtenerPorCorrida(entidad);
+ if(lsAsientos != null) {
+ List lsNovoAsientos = new ArrayList();
+ for (EsquemaAsiento esquemaAsiento : lsAsientos) {
+ esquemaAsiento.clonar();
+ lsNovoAsientos.add(esquemaAsiento.getCloneObject());
+ }
+ novoClone.setEsquemaAsientoList(lsNovoAsientos);
+ }
+
+ logAuditoriaService.auditar(clone, entidad.getCloneObject());
+
+ return entidad;
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ throw new RuntimeException(e.getMessage(), e);
+ }
- return esquemaCorridaDAO.actualizacion(entidad);
}
@Transactional
@@ -116,6 +161,8 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.FALSE);
+
+ logAuditoriaService.auditarExclusao(entidad);
esquemaCorridaDAO.actualizacion(entidad);
}
@@ -139,54 +186,72 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
@Transactional
public void actualizaEsquemaTramo(List listParadaEsquema, EsquemaCorrida ec) {
-
- ec = this.obtenerID(ec.getEsquemacorridaId());
- if (ec.getEsquemaTramoList() != null) {
- for (EsquemaTramo et : ec.getEsquemaTramoList()) {
- et.setActivo(Boolean.FALSE);
- et.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
+
+ try {
+
+ ec = this.obtenerID(ec.getEsquemacorridaId());
+ ec.clonar();
+ EsquemaCorrida originalClone = ec.getCloneObject();
+ ec.clonar();
+ EsquemaCorrida novoClone = ec.getCloneObject();
+ List lsTramosNovo = new ArrayList();
+
+ if (ec.getEsquemaTramoList() != null) {
+ for (EsquemaTramo et : ec.getEsquemaTramoList()) {
+ et.setActivo(Boolean.FALSE);
+ et.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
+ et.setFecmodif(Calendar.getInstance().getTime());
+ esquemaTramoDAO.actualizacion(et);
+ }
+ }
+
+ Date dataHorInicioSistema = DateUtil.getFecInicio().getTime();
+ for (int i = 0; (i < listParadaEsquema.size() - 1); i++) {
+ Parada paradaOrigen = listParadaEsquema.get(i).getParada();
+ Parada paradaDestino = listParadaEsquema.get(i + 1).getParada();
+
+ Tramo t = rutaCombinacionDAO.busqueda(ec.getRuta(), paradaOrigen, paradaDestino);
+
+ if (t == null) {
+ throw new RuntimeException("No fue encontrado el tramo para el origen:" + paradaOrigen + " y destino:" + paradaDestino);
+ }
+
+ EsquemaTramo et = new EsquemaTramo();
+ et.setActivo(Boolean.TRUE);
+ et.setEsquemaCorrida(ec);
et.setFecmodif(Calendar.getInstance().getTime());
- esquemaTramoDAO.actualizacion(et);
+ et.setNumsecuencia((short) (i + 1));
+ et.setTramo(t);
+ et.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
+ et.setPlataforma(listParadaEsquema.get(i).getPlataforma());
+ et.setTipoPassagem(listParadaEsquema.get(i).getTipoPassagem());
+ Date tiempoEstancia = listParadaEsquema.get(i).getTiempoEstancia();
+ if ((tiempoEstancia != null) && (DateUtil.compareDate(tiempoEstancia, dataHorInicioSistema) == 0)) {
+ et.setTiempoEstancia(null);
+ } else {
+ et.setTiempoEstancia(tiempoEstancia);
+ }
+
+ Date excepcionRecorrido = listParadaEsquema.get(i).getExcepcionRecorrido();
+ if ((excepcionRecorrido != null) && (DateUtil.compareDate(excepcionRecorrido, dataHorInicioSistema) == 0)) {
+ et.setExcepcionRecorrido(null);
+ } else {
+ et.setExcepcionRecorrido(excepcionRecorrido);
+ }
+ if(esquemaTramoDAO.verificarDuplicidadeEsquemaTramo(et)){
+ throw new RuntimeException("No es possible suscribir tramos duplicados.");
+ }
+ esquemaTramoDAO.suscribir(et);
+
+ lsTramosNovo.add(et);
}
- }
-
- Date dataHorInicioSistema = DateUtil.getFecInicio().getTime();
- for (int i = 0; (i < listParadaEsquema.size() - 1); i++) {
- Parada paradaOrigen = listParadaEsquema.get(i).getParada();
- Parada paradaDestino = listParadaEsquema.get(i + 1).getParada();
-
- Tramo t = rutaCombinacionDAO.busqueda(ec.getRuta(), paradaOrigen, paradaDestino);
-
- if (t == null) {
- throw new RuntimeException("No fue encontrado el tramo para el origen:" + paradaOrigen + " y destino:" + paradaDestino);
- }
-
- EsquemaTramo et = new EsquemaTramo();
- et.setActivo(Boolean.TRUE);
- et.setEsquemaCorrida(ec);
- et.setFecmodif(Calendar.getInstance().getTime());
- et.setNumsecuencia((short) (i + 1));
- et.setTramo(t);
- et.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
- et.setPlataforma(listParadaEsquema.get(i).getPlataforma());
- et.setTipoPassagem(listParadaEsquema.get(i).getTipoPassagem());
- Date tiempoEstancia = listParadaEsquema.get(i).getTiempoEstancia();
- if ((tiempoEstancia != null) && (DateUtil.compareDate(tiempoEstancia, dataHorInicioSistema) == 0)) {
- et.setTiempoEstancia(null);
- } else {
- et.setTiempoEstancia(tiempoEstancia);
- }
-
- Date excepcionRecorrido = listParadaEsquema.get(i).getExcepcionRecorrido();
- if ((excepcionRecorrido != null) && (DateUtil.compareDate(excepcionRecorrido, dataHorInicioSistema) == 0)) {
- et.setExcepcionRecorrido(null);
- } else {
- et.setExcepcionRecorrido(excepcionRecorrido);
- }
- if(esquemaTramoDAO.verificarDuplicidadeEsquemaTramo(et)){
- throw new RuntimeException("No es possible suscribir tramos duplicados.");
- }
- esquemaTramoDAO.suscribir(et);
+ novoClone.setEsquemaTramoList(lsTramosNovo);
+
+ logAuditoriaService.auditar(originalClone, novoClone);
+
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ throw new RuntimeException(e.getMessage(), e);
}
}
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/LogAuditoriaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/LogAuditoriaServiceImpl.java
new file mode 100644
index 000000000..ef64bed49
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/service/impl/LogAuditoriaServiceImpl.java
@@ -0,0 +1,134 @@
+package com.rjconsultores.ventaboletos.service.impl;
+
+import java.util.Calendar;
+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;
+
+import com.rjconsultores.ventaboletos.dao.LogAuditoriaDAO;
+import com.rjconsultores.ventaboletos.entidad.Empresa;
+import com.rjconsultores.ventaboletos.entidad.LogAuditoria;
+import com.rjconsultores.ventaboletos.service.LogAuditoriaService;
+import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
+
+import br.com.rjconsultores.auditador.auditadores.Auditador;
+import br.com.rjconsultores.auditador.enums.AuditadorTipoAlteracao;
+import br.com.rjconsultores.auditador.model.AuditadorObjects;
+
+@Service("LogAuditoriaService")
+public class LogAuditoriaServiceImpl implements LogAuditoriaService {
+
+ private static Logger log = Logger.getLogger(LogAuditoriaServiceImpl.class);
+
+ @Autowired
+ private LogAuditoriaDAO logAuditoriaDAO;
+
+ @Override
+ public List obtenerTodos() {
+ return logAuditoriaDAO.obtenerTodos();
+ }
+
+ @Override
+ public LogAuditoria obtenerID(Long id) {
+ return logAuditoriaDAO.obtenerID(id);
+ }
+
+ @Override
+ @Transactional
+ public LogAuditoria suscribir(LogAuditoria entidad) {
+ entidad.setUsuario(UsuarioLogado.getUsuarioLogado());
+ entidad.setFecmodif(Calendar.getInstance().getTime());
+ entidad.setActivo(Boolean.TRUE);
+ return logAuditoriaDAO.suscribir(entidad);
+ }
+
+ @Override
+ @Transactional
+ public LogAuditoria actualizacion(LogAuditoria entidad) {
+ entidad.setUsuario(UsuarioLogado.getUsuarioLogado());
+ entidad.setFecmodif(Calendar.getInstance().getTime());
+ entidad.setActivo(Boolean.TRUE);
+ return logAuditoriaDAO.actualizacion(entidad);
+ }
+
+ @Override
+ @Transactional
+ public void borrar(LogAuditoria entidad) {
+ entidad.setUsuario(UsuarioLogado.getUsuarioLogado());
+ entidad.setFecmodif(Calendar.getInstance().getTime());
+ entidad.setActivo(Boolean.FALSE);
+ logAuditoriaDAO.actualizacion(entidad);
+ }
+
+ @Override
+ @Transactional
+ public void auditar(Object original, Object novo) {
+ try {
+ log.info(String.format(":: Iniciando gravação registros de auditoria classe: %s", novo.getClass().toString()));
+ Integer totalRegistrosAuditados = 0;
+ List lista = Auditador.getInstance().auditar(original, novo);
+ if(lista != null && !lista.isEmpty()) {
+ suscribir(lista);
+ totalRegistrosAuditados = lista.size();
+ }
+ log.info(String.format(":: Iniciando gravação registros de auditoria classe: %s - Total Registros auditados: %d", novo.getClass().toString(), totalRegistrosAuditados));
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ }
+ }
+
+ private LogAuditoria convertToLogAuditoria(AuditadorObjects log) {
+ LogAuditoria logAuditoria = new LogAuditoria();
+ logAuditoria.setUsuario(UsuarioLogado.getUsuarioLogado());
+ logAuditoria.setFecmodif(Calendar.getInstance().getTime());
+ logAuditoria.setActivo(Boolean.TRUE);
+ logAuditoria.setCampoAlterado(log.getCampoAlterado() != null ? log.getCampoAlterado().toUpperCase() : null);
+ logAuditoria.setClasseAlterada(log.getClasseAlterada());
+ logAuditoria.setClassePrincipal(log.getClassePrincipal());
+ logAuditoria.setTela(log.getTela());
+ logAuditoria.setTipoAlteracao(log.getTipoAlteracao() != null ? log.getTipoAlteracao().toString() : AuditadorTipoAlteracao.ALTERACAO.toString());
+ logAuditoria.setValorAnterior(log.getValorAnterior() != null ? log.getValorAnterior().toUpperCase() : null);
+ logAuditoria.setValorNovo(log.getValorNovo() != null ? log.getValorNovo().toUpperCase() : null);
+ logAuditoria.setIdAuditado(log.getIdAuditado());
+
+ if(log.getEmpresaId() != null) {
+ logAuditoria.setEmpresa(new Empresa(log.getEmpresaId()));
+ }
+ return logAuditoria;
+ }
+
+ @Override
+ @Transactional
+ public void auditarExclusao(Object objeto) {
+ try {
+ log.info(String.format(":: Iniciando gravação registros de auditoria de exclusao classe: %s", objeto.getClass().getSimpleName()));
+ Integer totalRegistrosAuditados = 0;
+ List lista = Auditador.getInstance().auditarExclusao(objeto);
+ if(lista != null && !lista.isEmpty()) {
+ suscribir(lista);
+ totalRegistrosAuditados = lista.size();
+ }
+ log.info(String.format(":: Iniciando gravação registros de auditoria de exclusao classe: %s - Total Registros auditados: %d", objeto.getClass().getSimpleName(), totalRegistrosAuditados));
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public List listarTodasAsTelas() {
+ return logAuditoriaDAO.listarTodasAsTelas();
+ }
+
+ @Override
+ @Transactional
+ public void suscribir(List lsObjects) {
+ for (AuditadorObjects auditado : lsObjects) {
+ LogAuditoria logAuditoria = convertToLogAuditoria(auditado);
+ suscribir(logAuditoria);
+ }
+ }
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java
index adda5cc82..fdfed24c8 100644
--- a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java
+++ b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java
@@ -26,6 +26,7 @@ import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.entidad.Via;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.exception.BusinessException;
+import com.rjconsultores.ventaboletos.service.LogAuditoriaService;
import com.rjconsultores.ventaboletos.service.TarifaOficialService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.vo.comissao.TarifaOficialVO;
@@ -43,6 +44,9 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
private SeguroTarifaDAO seguroTarifaDAO;
@Autowired
private OrgaoConcedenteDAO orgaoConcedenteDAO;
+
+ @Autowired
+ private LogAuditoriaService logAuditoriaService;
@Override
@Transactional
@@ -245,18 +249,34 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
@Override
@Transactional
public void actualizacion(TarifaOficial tarifaOficial) {
- tarifaOficialDAO.actualizacion(tarifaOficial);
+ try {
+ TarifaOficial originalClone = tarifaOficial.getCloneObject();
+ tarifaOficialDAO.actualizacion(tarifaOficial);
+ tarifaOficial.setEmpresaId(tarifaOficial.getMarca() != null && tarifaOficial.getMarca().getEmpresa() != null ? tarifaOficial.getMarca().getEmpresa().getEmpresaId() : null);
+ logAuditoriaService.auditar(originalClone, tarifaOficial);
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ throw new RuntimeException(e.getMessage(), e);
+ }
}
@Override
public TarifaOficial obtenerID(Integer tarifaOficialId) {
- return tarifaOficialDAO.obtenerID(tarifaOficialId);
+ TarifaOficial tarifaOficial = tarifaOficialDAO.obtenerID(tarifaOficialId);
+ try {
+ tarifaOficial.clonar();
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ }
+ return tarifaOficial;
}
@Override
@Transactional
public void borrar(TarifaOficial tarifaOficial) {
tarifaOficialDAO.borrar(tarifaOficial);
+ tarifaOficial.setEmpresaId(tarifaOficial.getMarca() != null && tarifaOficial.getMarca().getEmpresa() != null ? tarifaOficial.getMarca().getEmpresa().getEmpresaId() : null);
+ logAuditoriaService.auditarExclusao(tarifaOficial);
}
@Override
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TarifaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TarifaServiceImpl.java
index d86d8a2ab..e4e14e04b 100644
--- a/src/com/rjconsultores/ventaboletos/service/impl/TarifaServiceImpl.java
+++ b/src/com/rjconsultores/ventaboletos/service/impl/TarifaServiceImpl.java
@@ -36,6 +36,7 @@ import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.entidad.Via;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.exception.BusinessException;
+import com.rjconsultores.ventaboletos.service.LogAuditoriaService;
import com.rjconsultores.ventaboletos.service.MonedaService;
import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.service.TarifaHistService;
@@ -61,6 +62,10 @@ public class TarifaServiceImpl implements TarifaService {
private TarifaMinimaService tarifaMinimaService;
@Autowired
private RutaService rutaService;
+
+ @Autowired
+ private LogAuditoriaService logAuditoriaService;
+
private static Logger log = Logger.getLogger(TarifaServiceImpl.class);
public List obtenerTodos() {
@@ -69,7 +74,13 @@ public class TarifaServiceImpl implements TarifaService {
@Transactional(readOnly = true)
public Tarifa obtenerID(Integer id) {
- return tarifaDAO.obtenerID(id);
+ Tarifa tarifa = tarifaDAO.obtenerID(id);
+ try {
+ tarifa.clonar();
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ }
+ return tarifa;
}
private void cadastrarTarifaHistorico(Tarifa entidad) {
@@ -103,36 +114,57 @@ public class TarifaServiceImpl implements TarifaService {
entidad.setPrecioredabierto(entidad.getPrecioredabierto().setScale(2, RoundingMode.HALF_UP));
}
cadastrarTarifaHistorico(entidad);
-
+
+ entidad.setEmpresaId(entidad.getMarca() != null && entidad.getMarca().getEmpresa() != null ? entidad.getMarca().getEmpresa().getEmpresaId() : null);
+
+ logAuditoriaService.auditar(null, entidad);
+
return tarifaDAO.suscribir(entidad);
+
}
@Transactional
public Tarifa actualizacion(Tarifa entidad) {
- entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
- entidad.setFecmodif(Calendar.getInstance().getTime());
- entidad.setActivo(Boolean.TRUE);
- if (entidad.getPrecio() != null) {
- entidad.setPrecio(entidad.getPrecio().setScale(2, RoundingMode.HALF_UP));
+ try {
+
+ entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
+ entidad.setFecmodif(Calendar.getInstance().getTime());
+ entidad.setActivo(Boolean.TRUE);
+ if (entidad.getPrecio() != null) {
+ entidad.setPrecio(entidad.getPrecio().setScale(2, RoundingMode.HALF_UP));
+ }
+ if (entidad.getPreciooriginal() != null) {
+ entidad.setPreciooriginal(entidad.getPreciooriginal().setScale(2, RoundingMode.HALF_UP));
+ }
+ if (entidad.getPrecioredabierto() != null) {
+ entidad.setPrecioredabierto(entidad.getPrecioredabierto().setScale(2, RoundingMode.HALF_UP));
+ }
+
+ // Rafael: Segundo a LetÃcia, não pode atualizar o DOLAR caso haja uma
+ // atualização de preço, os dolores somente são gerados na inclusão de preço.
+
+ // Tarifa tarifa = this.obtenerID(entidad.getTarifaId());
+ // entidad.setLsTarifaCategoria(tarifa.getLsTarifaCategoria());
+ // entidad.setLsTarifaTipoptovta(tarifa.getLsTarifaTipoptovta());
+
+ cadastrarTarifaHistorico(entidad);
+ // cadastrarTarifaMonedaEstrangeira(entidad);
+
+
+ Tarifa originalClone = entidad.getCloneObject();
+
+ tarifaDAO.updateTarifa(entidad);
+
+ entidad.setEmpresaId(entidad.getMarca() != null && entidad.getMarca().getEmpresa() != null ? entidad.getMarca().getEmpresa().getEmpresaId() : null);
+
+ logAuditoriaService.auditar(originalClone, entidad);
+
+ return entidad;
+
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ throw new RuntimeException(e.getMessage(), e);
}
- if (entidad.getPreciooriginal() != null) {
- entidad.setPreciooriginal(entidad.getPreciooriginal().setScale(2, RoundingMode.HALF_UP));
- }
- if (entidad.getPrecioredabierto() != null) {
- entidad.setPrecioredabierto(entidad.getPrecioredabierto().setScale(2, RoundingMode.HALF_UP));
- }
-
- // Rafael: Segundo a LetÃcia, não pode atualizar o DOLAR caso haja uma
- // atualização de preço, os dolores somente são gerados na inclusão de preço.
-
- // Tarifa tarifa = this.obtenerID(entidad.getTarifaId());
- // entidad.setLsTarifaCategoria(tarifa.getLsTarifaCategoria());
- // entidad.setLsTarifaTipoptovta(tarifa.getLsTarifaTipoptovta());
-
- cadastrarTarifaHistorico(entidad);
- // cadastrarTarifaMonedaEstrangeira(entidad);
- tarifaDAO.updateTarifa(entidad);
- return entidad;
}
@Transactional
@@ -154,6 +186,10 @@ public class TarifaServiceImpl implements TarifaService {
entidad.setActivo(Boolean.FALSE);
cadastrarTarifaHistorico(entidad);
+
+ entidad.setEmpresaId(entidad.getMarca() != null && entidad.getMarca().getEmpresa() != null ? entidad.getMarca().getEmpresa().getEmpresaId() : null);
+
+ logAuditoriaService.auditarExclusao(entidad);
tarifaDAO.actualizacion(entidad);
}
@@ -251,8 +287,12 @@ public class TarifaServiceImpl implements TarifaService {
log.debug("Tarifa: Ruta " + ruta.getDescruta() + " - " + ruta.getRutaId() + " Tramo: " + tarifa.getTramo().getTramoId()
+ " Marca " + marca + " Vigencia: " + vigencia);
-
+
tarifa = tarifaDAO.suscribir(tarifa);
+
+ tarifa.setEmpresaId(tarifa.getMarca() != null && tarifa.getMarca().getEmpresa() != null ? tarifa.getMarca().getEmpresa().getEmpresaId() : null);
+
+ logAuditoriaService.auditar(null, tarifa);
}
}
}