fixes bug#20776

fixes bug#20777
dev:wilian
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@104232 d1611594-4594-4d17-8e1d-87c2c4800839
master
wilian 2020-11-10 22:56:13 +00:00
parent 0e562fcb43
commit e1ca30e4f9
24 changed files with 1360 additions and 118 deletions

11
pom.xml
View File

@ -306,6 +306,17 @@
<artifactId>jboss-logging</artifactId> <artifactId>jboss-logging</artifactId>
<version>3.0.0.GA</version> <version>3.0.0.GA</version>
</dependency> </dependency>
<dependency>
<groupId>br.com.rjconsultores</groupId>
<artifactId>Auditador</artifactId>
<version>0.0.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies> </dependencies>
<build> <build>
<sourceDirectory>src</sourceDirectory> <sourceDirectory>src</sourceDirectory>

View File

@ -0,0 +1,11 @@
package com.rjconsultores.ventaboletos.dao;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.LogAuditoria;
public interface LogAuditoriaDAO extends GenericDAO<LogAuditoria, Long> {
public List<String> listarTodasAsTelas();
}

View File

@ -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<LogAuditoria, Long> implements LogAuditoriaDAO {
@Autowired
public LogAuditoriaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@Override
@SuppressWarnings("unchecked")
public List<String> listarTodasAsTelas() {
Query query = getSession().createSQLQuery("select tela from log_auditoria where activo = 1 group by tela");
List<String> lista = query.list();
return lista;
}
}

View File

@ -22,6 +22,10 @@ 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 br.com.rjconsultores.auditador.annotations.NaoAuditar;
import br.com.rjconsultores.auditador.interfaces.Auditavel;
/** /**
* *
@ -30,7 +34,7 @@ import javax.persistence.TemporalType;
@Entity @Entity
@SequenceGenerator(name = "AUTOBUS_SEQ", sequenceName = "AUTOBUS_SEQ", allocationSize = 1) @SequenceGenerator(name = "AUTOBUS_SEQ", sequenceName = "AUTOBUS_SEQ", allocationSize = 1)
@Table(name = "AUTOBUS") @Table(name = "AUTOBUS")
public class Autobus implements Serializable { public class Autobus implements Serializable, Auditavel<Autobus> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@ -38,6 +42,7 @@ public class Autobus implements Serializable {
@Column(name = "AUTOBUS_ID") @Column(name = "AUTOBUS_ID")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "AUTOBUS_SEQ") @GeneratedValue(strategy = GenerationType.AUTO, generator = "AUTOBUS_SEQ")
private Integer autobusId; private Integer autobusId;
@Column(name = "NUMAUTOBUS") @Column(name = "NUMAUTOBUS")
private String numautobus; private String numautobus;
@Column(name = "CANTPARADOS") @Column(name = "CANTPARADOS")
@ -87,6 +92,10 @@ public class Autobus implements Serializable {
private List<AutobusDoc> autobusDocList; private List<AutobusDoc> autobusDocList;
@Column(name = "NUMVAGON") @Column(name = "NUMVAGON")
private String numvagon; private String numvagon;
@Transient
@NaoAuditar
private Autobus autobusClone;
public Autobus() { public Autobus() {
} }
@ -242,7 +251,7 @@ public class Autobus implements Serializable {
@Override @Override
public int hashCode() { public int hashCode() {
int hash = 0; int hash = 0;
hash += (autobusId != null ? autobusId.hashCode() : 0); hash += (getAutobusId() != null ? getAutobusId().hashCode() : 0);
return hash; return hash;
} }
@ -285,7 +294,7 @@ public class Autobus implements Serializable {
return false; return false;
} }
Autobus other = (Autobus) object; 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 false;
} }
return true; return true;
@ -303,4 +312,19 @@ public class Autobus implements Serializable {
public void setNumvagon(String numvagon) { public void setNumvagon(String numvagon) {
this.numvagon = 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());
}
} }

View File

@ -9,6 +9,7 @@ import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import javax.persistence.Basic; import javax.persistence.Basic;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
@ -19,9 +20,13 @@ 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.GenericGenerator; import org.hibernate.annotations.GenericGenerator;
import br.com.rjconsultores.auditador.annotations.NaoAuditar;
import br.com.rjconsultores.auditador.interfaces.Auditavel;
/** /**
* *
* @author Administrador * @author Administrador
@ -29,7 +34,7 @@ import org.hibernate.annotations.GenericGenerator;
@Entity @Entity
@SequenceGenerator(name = "CLASE_SERVICIO_SEQ", sequenceName = "CLASE_SERVICIO_SEQ", allocationSize = 1) @SequenceGenerator(name = "CLASE_SERVICIO_SEQ", sequenceName = "CLASE_SERVICIO_SEQ", allocationSize = 1)
@Table(name = "CLASE_SERVICIO") @Table(name = "CLASE_SERVICIO")
public class ClaseServicio implements Serializable { public class ClaseServicio implements Serializable, Auditavel<ClaseServicio> {
public final static short TODOS = -1; public final static short TODOS = -1;
@ -38,8 +43,9 @@ public class ClaseServicio implements Serializable {
@Id @Id
@GenericGenerator(name = "claseservicioIdgen", strategy = "com.rjconsultores.ventaboletos.dao.util.ClaseServicioGenerator") @GenericGenerator(name = "claseservicioIdgen", strategy = "com.rjconsultores.ventaboletos.dao.util.ClaseServicioGenerator")
@GeneratedValue(generator = "claseservicioIdgen") @GeneratedValue(generator = "claseservicioIdgen")
@Column(name = "CLASESERVICIO_ID") @Column(name = "CLASESERVICIO_ID")
private Integer claseservicioId; private Integer claseservicioId;
@Column(name = "DESCCLASE") @Column(name = "DESCCLASE")
private String descclase; private String descclase;
@Column(name = "TIPOSERVICOBPE") @Column(name = "TIPOSERVICOBPE")
@ -69,6 +75,10 @@ public class ClaseServicio implements Serializable {
@Column(name = "COEFICIENTETARIFA") @Column(name = "COEFICIENTETARIFA")
private BigDecimal coeficiente; private BigDecimal coeficiente;
@Transient
@NaoAuditar
private ClaseServicio claseServicioClone;
public ClaseServicio() { public ClaseServicio() {
} }
@ -164,7 +174,7 @@ public class ClaseServicio implements Serializable {
@Override @Override
public int hashCode() { public int hashCode() {
int hash = 0; int hash = 0;
hash += (claseservicioId != null ? claseservicioId.hashCode() : 0); hash += (getClaseservicioId() != null ? getClaseservicioId().hashCode() : 0);
return hash; return hash;
} }
@ -175,7 +185,7 @@ public class ClaseServicio implements Serializable {
return false; return false;
} }
ClaseServicio other = (ClaseServicio) object; 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 false;
} }
return true; return true;
@ -234,4 +244,20 @@ public class ClaseServicio implements Serializable {
this.coeficiente = coeficiente; 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());
}
} }

View File

@ -15,11 +15,15 @@ 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 br.com.rjconsultores.auditador.annotations.NaoAuditar;
import br.com.rjconsultores.auditador.interfaces.Auditavel;
@Entity @Entity
@SequenceGenerator(name = "DIVISION_SEQ", sequenceName = "DIVISION_SEQ", allocationSize = 1) @SequenceGenerator(name = "DIVISION_SEQ", sequenceName = "DIVISION_SEQ", allocationSize = 1)
@Table(name = "DIVISION") @Table(name = "DIVISION")
public class Division implements Serializable { public class Division implements Serializable, Auditavel<Division> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@ -27,6 +31,7 @@ public class Division implements Serializable {
@GeneratedValue(strategy = GenerationType.AUTO, generator = "DIVISION_SEQ") @GeneratedValue(strategy = GenerationType.AUTO, generator = "DIVISION_SEQ")
@Column(name = "DIVISION_ID") @Column(name = "DIVISION_ID")
private Integer divisionId; private Integer divisionId;
@Column(name = "NOMBDIVISION") @Column(name = "NOMBDIVISION")
private String nombDivion; private String nombDivion;
@OneToOne @OneToOne
@ -39,6 +44,10 @@ public class Division implements Serializable {
private Date fecmodif; private Date fecmodif;
@Column(name = "USUARIO_ID") @Column(name = "USUARIO_ID")
private Integer usuarioId; private Integer usuarioId;
@Transient
@NaoAuditar
private Division divisionClone;
public Division() { public Division() {
@ -111,13 +120,13 @@ public class Division implements Serializable {
return true; return true;
if (obj == null) if (obj == null)
return false; return false;
if (getClass() != obj.getClass()) if (!(obj instanceof Division))
return false; return false;
Division other = (Division) obj; Division other = (Division) obj;
if (divisionId == null) { if (getDivisionId() == null) {
if (other.divisionId != null) if (other.getDivisionId() != null)
return false; return false;
} else if (!divisionId.equals(other.divisionId)) } else if (!getDivisionId().equals(other.getDivisionId()))
return false; return false;
return true; return true;
} }
@ -127,4 +136,20 @@ public class Division implements Serializable {
return this.getNombDivion(); 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());
}
} }

View File

@ -25,6 +25,7 @@ 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.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.Predicate; import org.apache.commons.collections.Predicate;
@ -33,6 +34,10 @@ import org.hibernate.annotations.Where;
import com.rjconsultores.ventaboletos.enums.TipoCstGratuidade; 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 * @author Rafius
@ -41,14 +46,16 @@ import com.rjconsultores.ventaboletos.enums.TipoCstGratuidade;
@Entity @Entity
@SequenceGenerator(name = "EMPRESA_SEQ", sequenceName = "EMPRESA_SEQ", allocationSize = 1) @SequenceGenerator(name = "EMPRESA_SEQ", sequenceName = "EMPRESA_SEQ", allocationSize = 1)
@Table(name = "EMPRESA") @Table(name = "EMPRESA")
public class Empresa implements Serializable { public class Empresa implements Serializable, Auditavel<Empresa> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@Basic(optional = false) @Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "EMPRESA_SEQ") @GeneratedValue(strategy = GenerationType.AUTO, generator = "EMPRESA_SEQ")
@Column(name = "EMPRESA_ID") @Column(name = "EMPRESA_ID")
@AuditarID
private Integer empresaId; private Integer empresaId;
@Column(name = "NOMBEMPRESA") @Column(name = "NOMBEMPRESA")
private String nombempresa; private String nombempresa;
@Column(name = "ACTIVO") @Column(name = "ACTIVO")
@ -349,6 +356,10 @@ public class Empresa implements Serializable {
@Column(name = "URLBASESEGURO") @Column(name = "URLBASESEGURO")
private String urlBaseEmpresaSeguro; private String urlBaseEmpresaSeguro;
@Transient
@NaoAuditar
private Empresa empresaClone;
public Empresa() { public Empresa() {
super(); super();
} }
@ -1299,4 +1310,20 @@ public class Empresa implements Serializable {
this.urlBaseEmpresaSeguro = urlBaseEmpresaSeguro; 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());
}
} }

View File

@ -21,6 +21,10 @@ 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 br.com.rjconsultores.auditador.annotations.NaoAuditar;
import br.com.rjconsultores.auditador.interfaces.Auditavel;
/** /**
* *
@ -29,7 +33,7 @@ import javax.persistence.TemporalType;
@Entity @Entity
@SequenceGenerator(name = "ESQUEMA_ASIENTO_SEQ", sequenceName = "ESQUEMA_ASIENTO_SEQ", allocationSize = 1) @SequenceGenerator(name = "ESQUEMA_ASIENTO_SEQ", sequenceName = "ESQUEMA_ASIENTO_SEQ", allocationSize = 1)
@Table(name = "ESQUEMA_ASIENTO") @Table(name = "ESQUEMA_ASIENTO")
public class EsquemaAsiento implements Serializable { public class EsquemaAsiento implements Serializable, Auditavel<EsquemaAsiento> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@ -37,6 +41,7 @@ public class EsquemaAsiento implements Serializable {
@Column(name = "ESQUEMAASIENTO_ID") @Column(name = "ESQUEMAASIENTO_ID")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "ESQUEMA_ASIENTO_SEQ") @GeneratedValue(strategy = GenerationType.AUTO, generator = "ESQUEMA_ASIENTO_SEQ")
private Integer esquemaasientoId; private Integer esquemaasientoId;
@Column(name = "NUMASIENTO") @Column(name = "NUMASIENTO")
private String numasiento; private String numasiento;
@Column(name = "INDVENDIBLE") @Column(name = "INDVENDIBLE")
@ -53,14 +58,20 @@ public class EsquemaAsiento implements Serializable {
@JoinColumn(name = "PARADA_ID", referencedColumnName = "PARADA_ID") @JoinColumn(name = "PARADA_ID", referencedColumnName = "PARADA_ID")
@ManyToOne @ManyToOne
private Parada parada; private Parada parada;
@JoinColumn(name = "ESQUEMACORRIDA_ID", referencedColumnName = "ESQUEMACORRIDA_ID") @JoinColumn(name = "ESQUEMACORRIDA_ID", referencedColumnName = "ESQUEMACORRIDA_ID")
@ManyToOne(cascade = CascadeType.MERGE) @ManyToOne(cascade = CascadeType.MERGE)
@NaoAuditar
private EsquemaCorrida esquemaCorrida; private EsquemaCorrida esquemaCorrida;
@Column(name = "MOTIVOBLOQUEO") @Column(name = "MOTIVOBLOQUEO")
private String motivobloqueo; private String motivobloqueo;
@OneToOne @OneToOne
@JoinColumn(name = "DESTINO_ID", referencedColumnName = "PARADA_ID") @JoinColumn(name = "DESTINO_ID", referencedColumnName = "PARADA_ID")
private Parada destino; private Parada destino;
@Transient
@NaoAuditar
private EsquemaAsiento esquemaAsientoClone;
public EsquemaAsiento() { public EsquemaAsiento() {
} }
@ -160,7 +171,7 @@ public class EsquemaAsiento implements Serializable {
@Override @Override
public int hashCode() { public int hashCode() {
int hash = 0; int hash = 0;
hash += (esquemaasientoId != null ? esquemaasientoId.hashCode() : 0); hash += (getEsquemaasientoId() != null ? getEsquemaasientoId().hashCode() : 0);
return hash; return hash;
} }
@ -171,7 +182,7 @@ public class EsquemaAsiento implements Serializable {
return false; return false;
} }
EsquemaAsiento other = (EsquemaAsiento) object; 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 false;
} }
return true; return true;
@ -181,4 +192,23 @@ public class EsquemaAsiento implements Serializable {
public String toString() { public String toString() {
return "com.rjconsultores.ventaboletos.entidad.test.EsquemaAsiento[esquemaasientoId=" + esquemaasientoId + "]"; 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);
}
} }

View File

@ -20,9 +20,19 @@ 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.apache.commons.lang.BooleanUtils;
import org.apache.commons.lang.StringUtils; 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 * @author Rafius
@ -30,103 +40,154 @@ import org.apache.commons.lang.StringUtils;
@Entity @Entity
@SequenceGenerator(name = "ESQUEMA_CORRIDA_SEQ", sequenceName = "ESQUEMA_CORRIDA_SEQ", allocationSize = 1) @SequenceGenerator(name = "ESQUEMA_CORRIDA_SEQ", sequenceName = "ESQUEMA_CORRIDA_SEQ", allocationSize = 1)
@Table(name = "ESQUEMA_CORRIDA") @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<EsquemaCorrida> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@Basic(optional = false) @Basic(optional = false)
@Column(name = "ESQUEMACORRIDA_ID") @Column(name = "ESQUEMACORRIDA_ID")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "ESQUEMA_CORRIDA_SEQ") @GeneratedValue(strategy = GenerationType.AUTO, generator = "ESQUEMA_CORRIDA_SEQ")
@AuditarID
private Integer esquemacorridaId; private Integer esquemacorridaId;
@Column(name = "HORASALIDA") @Column(name = "HORASALIDA")
@Temporal(TemporalType.TIME) @Temporal(TemporalType.TIME)
@AuditarAtributo(pattern = "HH:mm")
private Date horasalida; private Date horasalida;
@Column(name = "INDPISOEXTRA") @Column(name = "INDPISOEXTRA")
private Boolean pisoExtra; private Boolean pisoExtra;
@Column(name = "INDLUNES") @Column(name = "INDLUNES")
private Boolean indlunes; private Boolean indlunes;
@Column(name = "INDMARTES") @Column(name = "INDMARTES")
private Boolean indmartes; private Boolean indmartes;
@Column(name = "INDMIERCOLES") @Column(name = "INDMIERCOLES")
private Boolean indmiercoles; private Boolean indmiercoles;
@Column(name = "INDJUEVES") @Column(name = "INDJUEVES")
private Boolean indjueves; private Boolean indjueves;
@Column(name = "INDVIERNES") @Column(name = "INDVIERNES")
private Boolean indviernes; private Boolean indviernes;
@Column(name = "INDSABADO") @Column(name = "INDSABADO")
private Boolean indsabado; private Boolean indsabado;
@Column(name = "INDDOMINGO") @Column(name = "INDDOMINGO")
private Boolean inddomingo; private Boolean inddomingo;
@Column(name = "CANTPARADOS") @Column(name = "CANTPARADOS")
private Integer cantparados; private Integer cantparados;
@Column(name = "ACTIVO") @Column(name = "ACTIVO")
@NaoAuditar
private Boolean activo; private Boolean activo;
@Column(name = "FECMODIF") @Column(name = "FECMODIF")
@Temporal(TemporalType.TIMESTAMP) @Temporal(TemporalType.TIMESTAMP)
@NaoAuditar
private Date fecmodif; private Date fecmodif;
@Column(name = "USUARIO_ID") @Column(name = "USUARIO_ID")
@NaoAuditar
private Integer usuarioId; private Integer usuarioId;
@Column(name = "DIAGRAMAAUTOBUS_ID") @Column(name = "DIAGRAMAAUTOBUS_ID")
private Integer diagramaAutobusId; private Integer diagramaAutobusId;
@Column(name = "STATUSCORRIDA") @Column(name = "STATUSCORRIDA")
private String statusCorrida; private String statusCorrida;
@JoinColumn(name = "RUTA_ID", referencedColumnName = "RUTA_ID") @JoinColumn(name = "RUTA_ID", referencedColumnName = "RUTA_ID")
@ManyToOne @ManyToOne
private Ruta ruta; private Ruta ruta;
@JoinColumn(name = "ROLOPERATIVO_ID", referencedColumnName = "ROLOPERATIVO_ID") @JoinColumn(name = "ROLOPERATIVO_ID", referencedColumnName = "ROLOPERATIVO_ID")
@ManyToOne(cascade = CascadeType.ALL) @ManyToOne(cascade = CascadeType.ALL)
private RolOperativo rolOperativo; private RolOperativo rolOperativo;
@JoinColumn(name = "MARCA_ID", referencedColumnName = "MARCA_ID") @JoinColumn(name = "MARCA_ID", referencedColumnName = "MARCA_ID")
@ManyToOne @ManyToOne
private Marca marca; private Marca marca;
@JoinColumn(name = "ESQUEMAOPERACIONAL_ID", referencedColumnName = "ESQUEMAOPERACIONAL_ID") @JoinColumn(name = "ESQUEMAOPERACIONAL_ID", referencedColumnName = "ESQUEMAOPERACIONAL_ID")
@ManyToOne(cascade = CascadeType.ALL) @ManyToOne(cascade = CascadeType.ALL)
@AuditarEntidade
private EsquemaOperacional esquemaOperacional; private EsquemaOperacional esquemaOperacional;
@JoinColumn(name = "EMPRESACORRIDA_ID", referencedColumnName = "EMPRESA_ID") @JoinColumn(name = "EMPRESACORRIDA_ID", referencedColumnName = "EMPRESA_ID")
@ManyToOne @ManyToOne
private Empresa empresa; private Empresa empresa;
@JoinColumn(name = "EMPRESAINGRESO_ID", referencedColumnName = "EMPRESA_ID") @JoinColumn(name = "EMPRESAINGRESO_ID", referencedColumnName = "EMPRESA_ID")
@ManyToOne @ManyToOne
private Empresa empresa1; private Empresa empresa1;
@JoinColumn(name = "CLASESERVICIO_ID", referencedColumnName = "CLASESERVICIO_ID") @JoinColumn(name = "CLASESERVICIO_ID", referencedColumnName = "CLASESERVICIO_ID")
@ManyToOne(cascade = CascadeType.ALL) @ManyToOne(cascade = CascadeType.ALL)
private ClaseServicio claseServicio; private ClaseServicio claseServicio;
@OneToMany(cascade = CascadeType.ALL) @OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "ESQUEMACORRIDA_ID", referencedColumnName = "ESQUEMACORRIDA_ID") @JoinColumn(name = "ESQUEMACORRIDA_ID", referencedColumnName = "ESQUEMACORRIDA_ID")
@AuditarLista(auditarEntidades = true, nome = "Localidade")
private List<EsquemaTramo> esquemaTramoList; private List<EsquemaTramo> esquemaTramoList;
@OneToMany(cascade = CascadeType.ALL) @OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "ESQUEMACORRIDA_ID", referencedColumnName = "ESQUEMACORRIDA_ID") @JoinColumn(name = "ESQUEMACORRIDA_ID", referencedColumnName = "ESQUEMACORRIDA_ID")
@AuditarLista(auditarEntidades = true, nome = "Cotas")
private List<EsquemaAsiento> esquemaAsientoList; private List<EsquemaAsiento> esquemaAsientoList;
@Column(name = "tipocorrida") @Column(name = "tipocorrida")
private String tipocorrida; private String tipocorrida;
@JoinColumn(name = "ESQUEMAREBOTE_ID", referencedColumnName = "ESQUEMACORRIDA_ID") @JoinColumn(name = "ESQUEMAREBOTE_ID", referencedColumnName = "ESQUEMACORRIDA_ID")
@ManyToOne(cascade = CascadeType.ALL) @ManyToOne(cascade = CascadeType.ALL)
private EsquemaCorrida esquemaCorridaRebote; private EsquemaCorrida esquemaCorridaRebote;
@JoinColumn(name = "DIVISION_ID", referencedColumnName = "DIVISION_ID") @JoinColumn(name = "DIVISION_ID", referencedColumnName = "DIVISION_ID")
@ManyToOne(cascade = CascadeType.ALL) @ManyToOne(cascade = CascadeType.ALL)
private Division division; private Division division;
@Column(name = "NUMCORRIDA") @Column(name = "NUMCORRIDA")
private Integer numCorrida; private Integer numCorrida;
@Column(name = "NUMCORRIDAPISOEXTRA") @Column(name = "NUMCORRIDAPISOEXTRA")
private Integer numCorridaPisoExtra; private Integer numCorridaPisoExtra;
@Column(name = "INDGENERAFERIADO") @Column(name = "INDGENERAFERIADO")
private String indGeneraFeriado; private String indGeneraFeriado;
@Column(name = "CANTDIASGENERACION") @Column(name = "CANTDIASGENERACION")
private Integer cantDiasGeneracion; private Integer cantDiasGeneracion;
@Column(name = "ESQUEMAAGRUPACION_ID") @Column(name = "ESQUEMAAGRUPACION_ID")
private Integer esquemaAgrupacionId; private Integer esquemaAgrupacionId;
@Column(name = "INFOCORRIDA") @Column(name = "INFOCORRIDA")
private String infoCorrida; private String infoCorrida;
@Column(name = "INDCORRIDAEXTRA") @Column(name = "INDCORRIDAEXTRA")
private Boolean indCorridaExtra; private Boolean indCorridaExtra;
@Column(name = "INDDIASIMDIANAO") @Column(name = "INDDIASIMDIANAO")
private Boolean indDiaSimDiaNao; private Boolean indDiaSimDiaNao;
@JoinColumn(name = "AUTOBUS_ID", referencedColumnName = "AUTOBUS_ID") @JoinColumn(name = "AUTOBUS_ID", referencedColumnName = "AUTOBUS_ID")
@ManyToOne(cascade = CascadeType.ALL) @ManyToOne(cascade = CascadeType.ALL)
private Autobus autoBus; private Autobus autoBus;
@OneToMany(mappedBy = "esquemaCorrida", cascade = CascadeType.ALL) @OneToMany(mappedBy = "esquemaCorrida", cascade = CascadeType.ALL)
@AuditarLista(auditarEntidades = true, nome = "Embarque/Desembarque")
private List<EsquemaCorridaEmbarqueDesembarque> lsEsquemaCorridaEmbarqueDesembarque; private List<EsquemaCorridaEmbarqueDesembarque> lsEsquemaCorridaEmbarqueDesembarque;
@Transient
@NaoAuditar
private EsquemaCorrida esquemaCorridaClone;
public enum GerarFeriado { public enum GerarFeriado {
// Declaração dos enum // Declaração dos enum
GERARSEMPRE("GERAR SEMPRE", "S"), GERARSEMPRE("GERAR SEMPRE", "S"),
@ -559,7 +620,7 @@ public class EsquemaCorrida implements Serializable {
@Override @Override
public int hashCode() { public int hashCode() {
int hash = 0; int hash = 0;
hash += (esquemacorridaId != null ? esquemacorridaId.hashCode() : 0); hash += (getEsquemacorridaId() != null ? getEsquemacorridaId().hashCode() : 0);
return hash; return hash;
} }
@ -571,7 +632,7 @@ public class EsquemaCorrida implements Serializable {
return false; return false;
} }
EsquemaCorrida other = (EsquemaCorrida) object; 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 false;
} }
return true; return true;
@ -597,5 +658,105 @@ public class EsquemaCorrida implements Serializable {
public void setLsEsquemaCorridaEmbarqueDesembarque(List<EsquemaCorridaEmbarqueDesembarque> lsEsquemaCorridaEmbarqueDesembarque) { public void setLsEsquemaCorridaEmbarqueDesembarque(List<EsquemaCorridaEmbarqueDesembarque> lsEsquemaCorridaEmbarqueDesembarque) {
this.lsEsquemaCorridaEmbarqueDesembarque = 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<EsquemaAsiento> lsClones = new ArrayList<EsquemaAsiento>();
for (EsquemaAsiento esquemaAsiento : this.getEsquemaAsientoList()) {
if(BooleanUtils.isTrue(esquemaAsiento.getActivo())) {
esquemaAsiento.clonar();
lsClones.add(esquemaAsiento.getCloneObject());
}
}
esquemaCorridaClone.setEsquemaAsientoList(lsClones);
}
if(this.getEsquemaTramoList() != null) {
List<EsquemaTramo> lsClones = new ArrayList<EsquemaTramo>();
for (EsquemaTramo esquemaTramo : this.getEsquemaTramoList()) {
if(BooleanUtils.isTrue(esquemaTramo.getActivo())) {
esquemaTramo.clonar();
lsClones.add(esquemaTramo.getCloneObject());
}
}
esquemaCorridaClone.setEsquemaTramoList(lsClones);
}
if(this.getLsEsquemaCorridaEmbarqueDesembarque() != null) {
List<EsquemaCorridaEmbarqueDesembarque> lsClones = new ArrayList<EsquemaCorridaEmbarqueDesembarque>();
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());
}
} }

View File

@ -15,11 +15,15 @@ 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 br.com.rjconsultores.auditador.annotations.NaoAuditar;
import br.com.rjconsultores.auditador.interfaces.Auditavel;
@Entity @Entity
@SequenceGenerator(name = "ESQUEMA_CORRIDA_EMB_DESEM_SEQ", sequenceName = "ESQUEMA_CORRIDA_EMB_DESEM_SEQ", allocationSize = 1) @SequenceGenerator(name = "ESQUEMA_CORRIDA_EMB_DESEM_SEQ", sequenceName = "ESQUEMA_CORRIDA_EMB_DESEM_SEQ", allocationSize = 1)
@Table(name = "ESQUEMA_CORRIDA_EMBRQ_DESEMBRQ") @Table(name = "ESQUEMA_CORRIDA_EMBRQ_DESEMBRQ")
public class EsquemaCorridaEmbarqueDesembarque implements java.io.Serializable { public class EsquemaCorridaEmbarqueDesembarque implements java.io.Serializable, Auditavel<EsquemaCorridaEmbarqueDesembarque> {
private static final long serialVersionUID = -6308295160991190414L; private static final long serialVersionUID = -6308295160991190414L;
@ -31,6 +35,7 @@ public class EsquemaCorridaEmbarqueDesembarque implements java.io.Serializable {
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "ESQUEMACORRIDA_ID", nullable = false) @JoinColumn(name = "ESQUEMACORRIDA_ID", nullable = false)
@NaoAuditar
private EsquemaCorrida esquemaCorrida; private EsquemaCorrida esquemaCorrida;
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@ -56,6 +61,10 @@ public class EsquemaCorridaEmbarqueDesembarque implements java.io.Serializable {
@ManyToOne(fetch = FetchType.EAGER) @ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "PARADA_EMB_DES_ID") @JoinColumn(name = "PARADA_EMB_DES_ID")
private Parada localDesembarqueEmbarque; private Parada localDesembarqueEmbarque;
@Transient
@NaoAuditar
private EsquemaCorridaEmbarqueDesembarque esquemaCorridaEmbarqueDesembarqueClone;
public EsquemaCorridaEmbarqueDesembarque() { public EsquemaCorridaEmbarqueDesembarque() {
} }
@ -154,4 +163,55 @@ public class EsquemaCorridaEmbarqueDesembarque implements java.io.Serializable {
this.localDesembarqueEmbarque = localDesembarqueEmbarque; 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() : "");
}
} }

View File

@ -10,6 +10,7 @@ import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.GregorianCalendar; import java.util.GregorianCalendar;
import java.util.List; import java.util.List;
import javax.persistence.Basic; import javax.persistence.Basic;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
@ -17,10 +18,15 @@ import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType; import javax.persistence.GenerationType;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.OneToMany; import javax.persistence.OneToMany;
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.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 @Entity
@SequenceGenerator(name = "ESQUEMA_OPERACIONAL_SEQ", sequenceName = "ESQUEMA_OPERACIONAL_SEQ", allocationSize = 1) @SequenceGenerator(name = "ESQUEMA_OPERACIONAL_SEQ", sequenceName = "ESQUEMA_OPERACIONAL_SEQ", allocationSize = 1)
@Table(name = "ESQUEMA_OPERACIONAL") @Table(name = "ESQUEMA_OPERACIONAL")
public class EsquemaOperacional implements Serializable { public class EsquemaOperacional implements Serializable, Auditavel<EsquemaOperacional> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@ -37,21 +43,37 @@ public class EsquemaOperacional implements Serializable {
@Column(name = "ESQUEMAOPERACIONAL_ID") @Column(name = "ESQUEMAOPERACIONAL_ID")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "ESQUEMA_OPERACIONAL_SEQ") @GeneratedValue(strategy = GenerationType.AUTO, generator = "ESQUEMA_OPERACIONAL_SEQ")
private Integer esquemaoperacionalId; private Integer esquemaoperacionalId;
@Column(name = "FECNICIOVIGENCIA") @Column(name = "FECNICIOVIGENCIA")
@Temporal(TemporalType.TIMESTAMP) @Temporal(TemporalType.TIMESTAMP)
@AuditarAtributo(pattern = "dd/MM/yyyy", nome = "Inicio Vigencia")
private Date fecniciovigencia; private Date fecniciovigencia;
@Column(name = "FECFINVIGENCIA") @Column(name = "FECFINVIGENCIA")
@Temporal(TemporalType.TIMESTAMP) @Temporal(TemporalType.TIMESTAMP)
@AuditarAtributo(pattern = "dd/MM/yyyy", nome = "Fim Vigencia")
private Date fecfinvigencia; private Date fecfinvigencia;
@Column(name = "ACTIVO") @Column(name = "ACTIVO")
@NaoAuditar
private Boolean activo; private Boolean activo;
@Column(name = "USUARIO_ID") @Column(name = "USUARIO_ID")
@NaoAuditar
private Integer usuarioId; private Integer usuarioId;
@Column(name = "FECMODIF") @Column(name = "FECMODIF")
@Temporal(TemporalType.TIMESTAMP) @Temporal(TemporalType.TIMESTAMP)
@NaoAuditar
private Date fecmodif; private Date fecmodif;
@OneToMany(mappedBy = "esquemaOperacional") @OneToMany(mappedBy = "esquemaOperacional")
@NaoAuditar
private List<EsquemaCorrida> esquemaCorridaList; private List<EsquemaCorrida> esquemaCorridaList;
@Transient
@NaoAuditar
private EsquemaOperacional esquemaOperacionalClone;
public EsquemaOperacional() { public EsquemaOperacional() {
} }
@ -147,7 +169,7 @@ public class EsquemaOperacional implements Serializable {
@Override @Override
public int hashCode() { public int hashCode() {
int hash = 0; int hash = 0;
hash += (esquemaoperacionalId != null ? esquemaoperacionalId.hashCode() : 0); hash += (getEsquemaoperacionalId() != null ? getEsquemaoperacionalId().hashCode() : 0);
return hash; return hash;
} }
@ -158,7 +180,7 @@ public class EsquemaOperacional implements Serializable {
return false; return false;
} }
EsquemaOperacional other = (EsquemaOperacional) object; 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 false;
} }
return true; return true;
@ -168,4 +190,21 @@ public class EsquemaOperacional implements Serializable {
public String toString() { public String toString() {
return "com.rjconsultores.ventaboletos.entidad.test.EsquemaOperacional[esquemaoperacionalId=" + esquemaoperacionalId + "]"; 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());
}
} }

View File

@ -6,6 +6,7 @@ package com.rjconsultores.ventaboletos.entidad;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import javax.persistence.Basic; import javax.persistence.Basic;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
@ -14,10 +15,16 @@ import javax.persistence.GenerationType;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.JoinColumn; import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne; import javax.persistence.ManyToOne;
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.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 @Entity
@SequenceGenerator(name = "ESQUEMA_TRAMO_SEQ", sequenceName = "ESQUEMA_TRAMO_SEQ", allocationSize = 1) @SequenceGenerator(name = "ESQUEMA_TRAMO_SEQ", sequenceName = "ESQUEMA_TRAMO_SEQ", allocationSize = 1)
@Table(name = "ESQUEMA_TRAMO") @Table(name = "ESQUEMA_TRAMO")
public class EsquemaTramo implements Serializable, Comparable<EsquemaTramo> { public class EsquemaTramo implements Serializable, Comparable<EsquemaTramo>, Auditavel<EsquemaTramo> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@ -57,6 +64,7 @@ public class EsquemaTramo implements Serializable, Comparable<EsquemaTramo> {
@JoinColumn(name = "ESQUEMACORRIDA_ID", referencedColumnName = "ESQUEMACORRIDA_ID") @JoinColumn(name = "ESQUEMACORRIDA_ID", referencedColumnName = "ESQUEMACORRIDA_ID")
@ManyToOne @ManyToOne
@NaoAuditar
private EsquemaCorrida esquemaCorrida; private EsquemaCorrida esquemaCorrida;
@Column(name = "PLATAFORMA") @Column(name = "PLATAFORMA")
@ -67,6 +75,10 @@ public class EsquemaTramo implements Serializable, Comparable<EsquemaTramo> {
@Column(name = "TIPO_PASSAGEM") @Column(name = "TIPO_PASSAGEM")
private String tipoPassagem; private String tipoPassagem;
@Transient
@NaoAuditar
private EsquemaTramo esquemaTramoClone;
public Date getTiempoEstancia() { public Date getTiempoEstancia() {
return tiempoEstancia; return tiempoEstancia;
@ -166,7 +178,7 @@ public class EsquemaTramo implements Serializable, Comparable<EsquemaTramo> {
@Override @Override
public int hashCode() { public int hashCode() {
int hash = 0; int hash = 0;
hash += (esquematramoId != null ? esquematramoId.hashCode() : 0); hash += (getEsquematramoId() != null ? getEsquematramoId().hashCode() : 0);
return hash; return hash;
} }
@ -176,7 +188,7 @@ public class EsquemaTramo implements Serializable, Comparable<EsquemaTramo> {
return false; return false;
} }
EsquemaTramo other = (EsquemaTramo) object; 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 false;
} }
return true; return true;
@ -196,4 +208,24 @@ public class EsquemaTramo implements Serializable, Comparable<EsquemaTramo> {
} }
return 0; 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() : "");
}
} }

View File

@ -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;
}
}

View File

@ -23,10 +23,14 @@ 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 br.com.rjconsultores.auditador.annotations.NaoAuditar;
import br.com.rjconsultores.auditador.interfaces.Auditavel;
/** /**
* *
* @author Administrador * @author Administrador
@ -34,7 +38,7 @@ import org.hibernate.annotations.FetchMode;
@Entity @Entity
@SequenceGenerator(name = "MARCA_SEQ", sequenceName = "MARCA_SEQ", allocationSize = 1) @SequenceGenerator(name = "MARCA_SEQ", sequenceName = "MARCA_SEQ", allocationSize = 1)
@Table(name = "MARCA") @Table(name = "MARCA")
public class Marca implements Serializable { public class Marca implements Serializable, Auditavel<Marca> {
public final static short TODOS = -1; public final static short TODOS = -1;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -43,8 +47,10 @@ public class Marca implements Serializable {
@GeneratedValue(strategy = GenerationType.AUTO, generator = "MARCA_SEQ") @GeneratedValue(strategy = GenerationType.AUTO, generator = "MARCA_SEQ")
@Column(name = "MARCA_ID") @Column(name = "MARCA_ID")
private Short marcaId; private Short marcaId;
@Column(name = "DESCMARCA") @Column(name = "DESCMARCA")
private String descmarca; private String descmarca;
@OneToOne @OneToOne
@JoinColumn(name = "EMPRESA_ID") @JoinColumn(name = "EMPRESA_ID")
private Empresa empresa; private Empresa empresa;
@ -75,6 +81,10 @@ public class Marca implements Serializable {
@OneToMany(mappedBy = "marca") @OneToMany(mappedBy = "marca")
@Fetch(FetchMode.SELECT) @Fetch(FetchMode.SELECT)
private List<Corrida> corridaList; private List<Corrida> corridaList;
@Transient
@NaoAuditar
private Marca marcaClone;
public Marca() { public Marca() {
} }
@ -207,7 +217,7 @@ public class Marca implements Serializable {
@Override @Override
public int hashCode() { public int hashCode() {
int hash = 0; int hash = 0;
hash += (marcaId != null ? marcaId.hashCode() : 0); hash += (getMarcaId() != null ? getMarcaId().hashCode() : 0);
return hash; return hash;
} }
@ -218,7 +228,7 @@ public class Marca implements Serializable {
return false; return false;
} }
Marca other = (Marca) object; 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 false;
} }
return true; return true;
@ -244,4 +254,20 @@ public class Marca implements Serializable {
public void setTarifaHistList(List<TarifaHist> tarifaHistList) { public void setTarifaHistList(List<TarifaHist> tarifaHistList) {
this.tarifaHistList = 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());
}
} }

View File

@ -24,10 +24,14 @@ 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 br.com.rjconsultores.auditador.annotations.NaoAuditar;
import br.com.rjconsultores.auditador.interfaces.Auditavel;
/** /**
* *
* @author Administrador * @author Administrador
@ -35,7 +39,7 @@ import org.hibernate.annotations.FetchMode;
@Entity @Entity
@SequenceGenerator(name = "PARADA_SEQ", sequenceName = "PARADA_SEQ", allocationSize = 1) @SequenceGenerator(name = "PARADA_SEQ", sequenceName = "PARADA_SEQ", allocationSize = 1)
@Table(name = "PARADA") @Table(name = "PARADA")
public class Parada implements Serializable { public class Parada implements Serializable, Auditavel<Parada> {
public static Integer ID_PARADA_TODOS = -1; public static Integer ID_PARADA_TODOS = -1;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -100,6 +104,10 @@ public class Parada implements Serializable {
@Fetch(value = FetchMode.SUBSELECT) @Fetch(value = FetchMode.SUBSELECT)
private List<ParadaCodOrgaoConcedente> codigosOrgaosConcedentes = new ArrayList<ParadaCodOrgaoConcedente>(); private List<ParadaCodOrgaoConcedente> codigosOrgaosConcedentes = new ArrayList<ParadaCodOrgaoConcedente>();
@Transient
@NaoAuditar
private Parada paradaClone;
public Parada() { public Parada() {
super(); super();
} }
@ -337,4 +345,24 @@ public class Parada implements Serializable {
public void setIndVisibleInternet(Boolean indVisibleInternet) { public void setIndVisibleInternet(Boolean indVisibleInternet) {
this.indVisibleInternet = 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());
}
} }

View File

@ -7,6 +7,7 @@ package com.rjconsultores.ventaboletos.entidad;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.GeneratedValue; import javax.persistence.GeneratedValue;
@ -15,10 +16,14 @@ import javax.persistence.Id;
import javax.persistence.JoinColumn; import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne; import javax.persistence.ManyToOne;
import javax.persistence.OneToMany; import javax.persistence.OneToMany;
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.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 @Entity
@SequenceGenerator(name = "ROL_OPERATIVO_SEQ", sequenceName = "ROL_OPERATIVO_SEQ", allocationSize=1) @SequenceGenerator(name = "ROL_OPERATIVO_SEQ", sequenceName = "ROL_OPERATIVO_SEQ", allocationSize=1)
@Table(name = "ROL_OPERATIVO") @Table(name = "ROL_OPERATIVO")
public class RolOperativo implements Serializable { public class RolOperativo implements Serializable, Auditavel<RolOperativo> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@ -51,6 +56,10 @@ public class RolOperativo implements Serializable {
@JoinColumn(name = "DIAGRAMAAUTOBUS_ID", referencedColumnName = "DIAGRAMAAUTOBUS_ID") @JoinColumn(name = "DIAGRAMAAUTOBUS_ID", referencedColumnName = "DIAGRAMAAUTOBUS_ID")
@ManyToOne @ManyToOne
private DiagramaAutobus diagramaAutobus; private DiagramaAutobus diagramaAutobus;
@Transient
@NaoAuditar
private RolOperativo rolOperativoClone;
public RolOperativo() { public RolOperativo() {
} }
@ -137,7 +146,7 @@ public class RolOperativo implements Serializable {
return false; return false;
} }
RolOperativo other = (RolOperativo) object; 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 false;
} }
return true; return true;
@ -147,4 +156,21 @@ public class RolOperativo implements Serializable {
public String toString() { public String toString() {
return this.getDescroloperativo(); 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());
}
} }

View File

@ -28,6 +28,9 @@ import javax.persistence.Transient;
import org.hibernate.annotations.Where; import org.hibernate.annotations.Where;
import br.com.rjconsultores.auditador.annotations.NaoAuditar;
import br.com.rjconsultores.auditador.interfaces.Auditavel;
/** /**
* *
* @author Rafius * @author Rafius
@ -36,7 +39,7 @@ import org.hibernate.annotations.Where;
@SequenceGenerator(name = "RUTA_SEQ", sequenceName = "RUTA_SEQ", allocationSize = 1) @SequenceGenerator(name = "RUTA_SEQ", sequenceName = "RUTA_SEQ", allocationSize = 1)
@org.hibernate.annotations.Entity(dynamicUpdate = true) @org.hibernate.annotations.Entity(dynamicUpdate = true)
@Table(name = "RUTA") @Table(name = "RUTA")
public class Ruta implements Serializable, Comparable<Ruta> { public class Ruta implements Serializable, Comparable<Ruta>, Auditavel<Ruta> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -156,6 +159,10 @@ public class Ruta implements Serializable, Comparable<Ruta> {
@Column(name = "indnumfidelidadobligatorio") @Column(name = "indnumfidelidadobligatorio")
private Boolean indNumFidelidadObligatorio; private Boolean indNumFidelidadObligatorio;
@Transient
@NaoAuditar
private Ruta rutaClone;
public Ruta() { public Ruta() {
super(); super();
indRutaCancelada = false; indRutaCancelada = false;
@ -601,6 +608,22 @@ public class Ruta implements Serializable, Comparable<Ruta> {
public void setLsRutaIcmsExcepcions(List<RutaIcmsExcepcion> lsRutaIcmsExcepcions) { public void setLsRutaIcmsExcepcions(List<RutaIcmsExcepcion> lsRutaIcmsExcepcions) {
this.lsRutaIcmsExcepcions = 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() { public Boolean getIndPrecioPorDemanda() {
return indPrecioPorDemanda; return indPrecioPorDemanda;

View File

@ -24,6 +24,14 @@ 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 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 @Entity
@SequenceGenerator(name = "TARIFA_SEQ", sequenceName = "TARIFA_SEQ", allocationSize = 1) @SequenceGenerator(name = "TARIFA_SEQ", sequenceName = "TARIFA_SEQ", allocationSize = 1)
@Table(name = "TARIFA") @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<Tarifa>, AuditavelTelaAlternativa {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@Basic(optional = false) @Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "TARIFA_SEQ") @GeneratedValue(strategy = GenerationType.AUTO, generator = "TARIFA_SEQ")
@Column(name = "TARIFA_ID") @Column(name = "TARIFA_ID")
@AuditarID
private Integer tarifaId; private Integer tarifaId;
@Column(name = "PRECIO") @Column(name = "PRECIO")
@AuditarAtributo(nome = "Tarifa")
private BigDecimal precio; private BigDecimal precio;
@Column(name = "IMPORTETAXAEMBARQUE") @Column(name = "IMPORTETAXAEMBARQUE")
@AuditarAtributo(nome = "Taxa de Embarque")
private BigDecimal importetaxaembarque; private BigDecimal importetaxaembarque;
@Column(name = "IMPORTEPEDAGIO") @Column(name = "IMPORTEPEDAGIO")
@AuditarAtributo(nome = "Pedagio")
private BigDecimal importepedagio; private BigDecimal importepedagio;
@Column(name = "IMPORTEOUTROS") @Column(name = "IMPORTEOUTROS")
@AuditarAtributo(nome = "Outros")
private BigDecimal importeoutros; private BigDecimal importeoutros;
@Column(name = "IMPORTESEGURO") @Column(name = "IMPORTESEGURO")
@AuditarAtributo(nome = "Seguro")
private BigDecimal importeseguro; private BigDecimal importeseguro;
@Column(name = "IMPORTETPP") @Column(name = "IMPORTETPP")
@AuditarAtributo(nome = "Tarifa TPP")
private BigDecimal importeTPP; private BigDecimal importeTPP;
@Column(name = "PRECIOORIGINAL") @Column(name = "PRECIOORIGINAL")
@AuditarAtributo(nome = "Tarifa Original")
private BigDecimal preciooriginal; private BigDecimal preciooriginal;
@Column(name = "STATUSTARIFA") @Column(name = "STATUSTARIFA")
@AuditarAtributo(nome = "Status Tarifa")
private String statustarifa; private String statustarifa;
@Column(name = "ACTIVO") @Column(name = "ACTIVO")
@NaoAuditar
private Boolean activo; private Boolean activo;
@Column(name = "FECMODIF") @Column(name = "FECMODIF")
@Temporal(TemporalType.TIMESTAMP) @Temporal(TemporalType.TIMESTAMP)
@NaoAuditar
private Date fecmodif; private Date fecmodif;
@Column(name = "USUARIO_ID") @Column(name = "USUARIO_ID")
@NaoAuditar
private Integer usuarioId; private Integer usuarioId;
@OneToOne @OneToOne
@JoinColumn(name = "TRAMO_ID") @JoinColumn(name = "TRAMO_ID")
@NaoAuditar
private Tramo tramo; private Tramo tramo;
@OneToOne @OneToOne
@JoinColumn(name = "MARCA_ID") @JoinColumn(name = "MARCA_ID")
@NaoAuditar
private Marca marca; private Marca marca;
@OneToOne @OneToOne
@JoinColumn(name = "CLASESERVICIO_ID") @JoinColumn(name = "CLASESERVICIO_ID")
@NaoAuditar
private ClaseServicio claseServicio; private ClaseServicio claseServicio;
@OneToOne @OneToOne
@JoinColumn(name = "MONEDA_ID") @JoinColumn(name = "MONEDA_ID")
@NaoAuditar
private Moneda moneda; private Moneda moneda;
@OneToOne @OneToOne
@JoinColumn(name = "VIGENCIATARIFA_ID") @JoinColumn(name = "VIGENCIATARIFA_ID")
@NaoAuditar
private VigenciaTarifa vigenciaTarifa; private VigenciaTarifa vigenciaTarifa;
@Column(name = "PRECIOREDABIERTO") @Column(name = "PRECIOREDABIERTO")
@AuditarAtributo(nome = "Tarifa volta em aberto")
private BigDecimal precioredabierto; private BigDecimal precioredabierto;
@OneToMany(cascade = CascadeType.ALL) @OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "TARIFA_ID", referencedColumnName = "TARIFA_ID") @JoinColumn(name = "TARIFA_ID", referencedColumnName = "TARIFA_ID")
@NaoAuditar
private List<TarifaTipoptovta> lsTarifaTipoptovta; private List<TarifaTipoptovta> lsTarifaTipoptovta;
@OneToMany(cascade = CascadeType.ALL) @OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "TARIFA_ID", referencedColumnName = "TARIFA_ID") @JoinColumn(name = "TARIFA_ID", referencedColumnName = "TARIFA_ID")
@NaoAuditar
private List<TarifaCategoria> lsTarifaCategoria; private List<TarifaCategoria> lsTarifaCategoria;
@OneToOne @OneToOne
@JoinColumn(name = "ORIGEN_ID") @JoinColumn(name = "ORIGEN_ID")
@NaoAuditar
private Parada origen; private Parada origen;
@OneToOne @OneToOne
@JoinColumn(name = "DESTINO_ID") @JoinColumn(name = "DESTINO_ID")
@NaoAuditar
private Parada destino; private Parada destino;
@OneToOne @OneToOne
@JoinColumn(name = "RUTA_ID") @JoinColumn(name = "RUTA_ID")
@NaoAuditar
private Ruta ruta; private Ruta ruta;
@OneToOne @OneToOne
@JoinColumn(name = "ORGAOCONCEDENTE_ID") @JoinColumn(name = "ORGAOCONCEDENTE_ID")
@NaoAuditar
private OrgaoConcedente orgaoConcedente; private OrgaoConcedente orgaoConcedente;
@Transient
@NaoAuditar
private Tarifa tarifaClone;
@NaoAuditar
@Transient
private String telaAlternativa;
@Transient
private Integer empresaId;
public Tarifa() { public Tarifa() {
} }
@ -344,4 +410,39 @@ public class Tarifa implements Serializable {
public void setImporteseguro(BigDecimal importeseguro) { public void setImporteseguro(BigDecimal importeseguro) {
this.importeseguro = 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;
}
} }

View File

@ -16,70 +16,128 @@ 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 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 @Entity
@SequenceGenerator(name = "TARIFA_OFICIAL_SEQ", sequenceName = "TARIFA_OFICIAL_SEQ", allocationSize = 1) @SequenceGenerator(name = "TARIFA_OFICIAL_SEQ", sequenceName = "TARIFA_OFICIAL_SEQ", allocationSize = 1)
@Table(name = "TARIFA_OFICIAL") @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<TarifaOficial> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@Basic(optional = false) @Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "TARIFA_OFICIAL_SEQ") @GeneratedValue(strategy = GenerationType.AUTO, generator = "TARIFA_OFICIAL_SEQ")
@Column(name = "TARIFAOFICIAL_ID") @Column(name = "TARIFAOFICIAL_ID")
@AuditarID
private Integer tarifaOficialId; private Integer tarifaOficialId;
@Column(name = "PRECIO") @Column(name = "PRECIO")
@AuditarAtributo(nome = "Tarifa")
private BigDecimal precio; private BigDecimal precio;
@Column(name = "PRECIOORIGINAL") @Column(name = "PRECIOORIGINAL")
@AuditarAtributo(nome = "Tarifa Original")
private BigDecimal preciooriginal; private BigDecimal preciooriginal;
@Column(name = "IMPORTETAXAEMBARQUE") @Column(name = "IMPORTETAXAEMBARQUE")
@AuditarAtributo(nome = "Taxa de Embarque")
private BigDecimal importetaxaembarque; private BigDecimal importetaxaembarque;
@Column(name = "IMPORTEPEDAGIO") @Column(name = "IMPORTEPEDAGIO")
@AuditarAtributo(nome = "Pedagio")
private BigDecimal importepedagio; private BigDecimal importepedagio;
@Column(name = "IMPORTEOUTROS") @Column(name = "IMPORTEOUTROS")
@AuditarAtributo(nome = "Outros")
private BigDecimal importeoutros; private BigDecimal importeoutros;
@Column(name = "IMPORTESEGURO") @Column(name = "IMPORTESEGURO")
@AuditarAtributo(nome = "Seguro")
private BigDecimal importeseguro; private BigDecimal importeseguro;
@Column(name = "IMPORTETPP") @Column(name = "IMPORTETPP")
@AuditarAtributo(nome = "Tarifa TPP")
private BigDecimal importetpp; private BigDecimal importetpp;
@Column(name = "STATUSTARIFA") @Column(name = "STATUSTARIFA")
@AuditarAtributo(nome = "Status Tarifa")
private String statustarifa; private String statustarifa;
@Column(name = "ACTIVO") @Column(name = "ACTIVO")
@NaoAuditar
private Boolean activo; private Boolean activo;
@Column(name = "FECMODIF") @Column(name = "FECMODIF")
@Temporal(TemporalType.TIMESTAMP) @Temporal(TemporalType.TIMESTAMP)
@NaoAuditar
private Date fecmodif; private Date fecmodif;
@Column(name = "USUARIO_ID") @Column(name = "USUARIO_ID")
@NaoAuditar
private Integer usuarioId; private Integer usuarioId;
@OneToOne @OneToOne
@JoinColumn(name = "TRAMO_ID") @JoinColumn(name = "TRAMO_ID")
@NaoAuditar
private Tramo tramo; private Tramo tramo;
@OneToOne @OneToOne
@JoinColumn(name = "MARCA_ID") @JoinColumn(name = "MARCA_ID")
@NaoAuditar
private Marca marca; private Marca marca;
@OneToOne @OneToOne
@JoinColumn(name = "CLASESERVICIO_ID") @JoinColumn(name = "CLASESERVICIO_ID")
@NaoAuditar
private ClaseServicio claseServicio; private ClaseServicio claseServicio;
@OneToOne @OneToOne
@JoinColumn(name = "MONEDA_ID") @JoinColumn(name = "MONEDA_ID")
@NaoAuditar
private Moneda moneda; private Moneda moneda;
@OneToOne @OneToOne
@JoinColumn(name = "VIGENCIATARIFA_ID") @JoinColumn(name = "VIGENCIATARIFA_ID")
@NaoAuditar
private VigenciaTarifa vigenciaTarifa; private VigenciaTarifa vigenciaTarifa;
@Column(name = "PRECIOREDABIERTO") @Column(name = "PRECIOREDABIERTO")
@AuditarAtributo(nome = "Tarifa volta em aberto")
private BigDecimal precioredabierto; private BigDecimal precioredabierto;
@OneToOne @OneToOne
@JoinColumn(name = "ORIGEN_ID") @JoinColumn(name = "ORIGEN_ID")
@NaoAuditar
private Parada origen; private Parada origen;
@OneToOne @OneToOne
@JoinColumn(name = "DESTINO_ID") @JoinColumn(name = "DESTINO_ID")
@NaoAuditar
private Parada destino; private Parada destino;
@OneToOne @OneToOne
@JoinColumn(name = "RUTA_ID") @JoinColumn(name = "RUTA_ID")
@NaoAuditar
private Ruta ruta; private Ruta ruta;
@OneToOne @OneToOne
@JoinColumn(name = "ORGAOCONCEDENTE_ID") @JoinColumn(name = "ORGAOCONCEDENTE_ID")
@NaoAuditar
private OrgaoConcedente orgaoConcedente; private OrgaoConcedente orgaoConcedente;
@Transient
@NaoAuditar
private TarifaOficial tarifaOficialClone;
@Transient
private Integer empresaId;
public TarifaOficial() { public TarifaOficial() {
} }
@ -283,4 +341,30 @@ public class TarifaOficial implements Serializable {
public void setImporteseguro(BigDecimal importeseguro) { public void setImporteseguro(BigDecimal importeseguro) {
this.importeseguro = 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;
}
} }

View File

@ -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<LogAuditoria, Long> {
public void auditar(Object objetoOriginal, Object objetoNovo);
public void auditarExclusao(Object objeto);
public List<String> listarTodasAsTelas();
public void suscribir(List<AuditadorObjects> lsObjects);
}

View File

@ -9,6 +9,7 @@ import java.util.Calendar;
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;
@ -29,7 +30,9 @@ import com.rjconsultores.ventaboletos.entidad.ParadaEsquema;
import com.rjconsultores.ventaboletos.entidad.RolOperativo; import com.rjconsultores.ventaboletos.entidad.RolOperativo;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.Tramo; import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.service.EsquemaAsientoService;
import com.rjconsultores.ventaboletos.service.EsquemaCorridaService; import com.rjconsultores.ventaboletos.service.EsquemaCorridaService;
import com.rjconsultores.ventaboletos.service.LogAuditoriaService;
import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@ -39,6 +42,8 @@ import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
*/ */
@Service("esquemaCorridaService") @Service("esquemaCorridaService")
public class EsquemaCorridaServiceImpl implements EsquemaCorridaService { public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
private static Logger log = Logger.getLogger(EsquemaCorridaServiceImpl.class);
@Autowired @Autowired
private EsquemaCorridaDAO esquemaCorridaDAO; private EsquemaCorridaDAO esquemaCorridaDAO;
@ -46,13 +51,24 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
private RutaCombinacionDAO rutaCombinacionDAO; private RutaCombinacionDAO rutaCombinacionDAO;
@Autowired @Autowired
private EsquemaTramoDAO esquemaTramoDAO; private EsquemaTramoDAO esquemaTramoDAO;
@Autowired
private EsquemaAsientoService esquemaAsientoService;
@Autowired
private LogAuditoriaService logAuditoriaService;
public List<EsquemaCorrida> obtenerTodos() { public List<EsquemaCorrida> obtenerTodos() {
return esquemaCorridaDAO.obtenerTodos(); return esquemaCorridaDAO.obtenerTodos();
} }
public EsquemaCorrida obtenerID(Integer id) { 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 @Override
@ -86,16 +102,45 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
entidad.setClaseServicio(c); entidad.setClaseServicio(c);
entidad.setRolOperativo(r); entidad.setRolOperativo(r);
return esquemaCorridaDAO.actualizacion(entidad); entidad = esquemaCorridaDAO.actualizacion(entidad);
logAuditoriaService.auditar(null, entidad);
return entidad;
} }
@Transactional @Transactional
public EsquemaCorrida actualizacion(EsquemaCorrida entidad) { public EsquemaCorrida actualizacion(EsquemaCorrida entidad) {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); try {
entidad.setFecmodif(Calendar.getInstance().getTime()); entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setActivo(Boolean.TRUE); 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<EsquemaAsiento> lsAsientos = esquemaAsientoService.obtenerPorCorrida(entidad);
if(lsAsientos != null) {
List<EsquemaAsiento> lsNovoAsientos = new ArrayList<EsquemaAsiento>();
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 @Transactional
@ -116,6 +161,8 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecmodif(Calendar.getInstance().getTime()); entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.FALSE); entidad.setActivo(Boolean.FALSE);
logAuditoriaService.auditarExclusao(entidad);
esquemaCorridaDAO.actualizacion(entidad); esquemaCorridaDAO.actualizacion(entidad);
} }
@ -139,54 +186,72 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
@Transactional @Transactional
public void actualizaEsquemaTramo(List<ParadaEsquema> listParadaEsquema, EsquemaCorrida ec) { public void actualizaEsquemaTramo(List<ParadaEsquema> listParadaEsquema, EsquemaCorrida ec) {
ec = this.obtenerID(ec.getEsquemacorridaId()); try {
if (ec.getEsquemaTramoList() != null) {
for (EsquemaTramo et : ec.getEsquemaTramoList()) { ec = this.obtenerID(ec.getEsquemacorridaId());
et.setActivo(Boolean.FALSE); ec.clonar();
et.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); EsquemaCorrida originalClone = ec.getCloneObject();
ec.clonar();
EsquemaCorrida novoClone = ec.getCloneObject();
List<EsquemaTramo> lsTramosNovo = new ArrayList<EsquemaTramo>();
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()); 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);
} }
} novoClone.setEsquemaTramoList(lsTramosNovo);
Date dataHorInicioSistema = DateUtil.getFecInicio().getTime(); logAuditoriaService.auditar(originalClone, novoClone);
for (int i = 0; (i < listParadaEsquema.size() - 1); i++) {
Parada paradaOrigen = listParadaEsquema.get(i).getParada(); } catch (Exception e) {
Parada paradaDestino = listParadaEsquema.get(i + 1).getParada(); log.error(e.getMessage(), e);
throw new RuntimeException(e.getMessage(), e);
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);
} }
} }

View File

@ -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<LogAuditoria> 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<AuditadorObjects> 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<AuditadorObjects> 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<String> listarTodasAsTelas() {
return logAuditoriaDAO.listarTodasAsTelas();
}
@Override
@Transactional
public void suscribir(List<AuditadorObjects> lsObjects) {
for (AuditadorObjects auditado : lsObjects) {
LogAuditoria logAuditoria = convertToLogAuditoria(auditado);
suscribir(logAuditoria);
}
}
}

View File

@ -26,6 +26,7 @@ import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.entidad.Via; import com.rjconsultores.ventaboletos.entidad.Via;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.LogAuditoriaService;
import com.rjconsultores.ventaboletos.service.TarifaOficialService; import com.rjconsultores.ventaboletos.service.TarifaOficialService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.vo.comissao.TarifaOficialVO; import com.rjconsultores.ventaboletos.vo.comissao.TarifaOficialVO;
@ -43,6 +44,9 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
private SeguroTarifaDAO seguroTarifaDAO; private SeguroTarifaDAO seguroTarifaDAO;
@Autowired @Autowired
private OrgaoConcedenteDAO orgaoConcedenteDAO; private OrgaoConcedenteDAO orgaoConcedenteDAO;
@Autowired
private LogAuditoriaService logAuditoriaService;
@Override @Override
@Transactional @Transactional
@ -245,18 +249,34 @@ public class TarifaOficialServiceImpl implements TarifaOficialService {
@Override @Override
@Transactional @Transactional
public void actualizacion(TarifaOficial tarifaOficial) { 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 @Override
public TarifaOficial obtenerID(Integer tarifaOficialId) { 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 @Override
@Transactional @Transactional
public void borrar(TarifaOficial tarifaOficial) { public void borrar(TarifaOficial tarifaOficial) {
tarifaOficialDAO.borrar(tarifaOficial); tarifaOficialDAO.borrar(tarifaOficial);
tarifaOficial.setEmpresaId(tarifaOficial.getMarca() != null && tarifaOficial.getMarca().getEmpresa() != null ? tarifaOficial.getMarca().getEmpresa().getEmpresaId() : null);
logAuditoriaService.auditarExclusao(tarifaOficial);
} }
@Override @Override

View File

@ -36,6 +36,7 @@ import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.entidad.Via; import com.rjconsultores.ventaboletos.entidad.Via;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.LogAuditoriaService;
import com.rjconsultores.ventaboletos.service.MonedaService; import com.rjconsultores.ventaboletos.service.MonedaService;
import com.rjconsultores.ventaboletos.service.RutaService; import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.service.TarifaHistService; import com.rjconsultores.ventaboletos.service.TarifaHistService;
@ -61,6 +62,10 @@ public class TarifaServiceImpl implements TarifaService {
private TarifaMinimaService tarifaMinimaService; private TarifaMinimaService tarifaMinimaService;
@Autowired @Autowired
private RutaService rutaService; private RutaService rutaService;
@Autowired
private LogAuditoriaService logAuditoriaService;
private static Logger log = Logger.getLogger(TarifaServiceImpl.class); private static Logger log = Logger.getLogger(TarifaServiceImpl.class);
public List<Tarifa> obtenerTodos() { public List<Tarifa> obtenerTodos() {
@ -69,7 +74,13 @@ public class TarifaServiceImpl implements TarifaService {
@Transactional(readOnly = true) @Transactional(readOnly = true)
public Tarifa obtenerID(Integer id) { 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) { private void cadastrarTarifaHistorico(Tarifa entidad) {
@ -103,36 +114,57 @@ public class TarifaServiceImpl implements TarifaService {
entidad.setPrecioredabierto(entidad.getPrecioredabierto().setScale(2, RoundingMode.HALF_UP)); entidad.setPrecioredabierto(entidad.getPrecioredabierto().setScale(2, RoundingMode.HALF_UP));
} }
cadastrarTarifaHistorico(entidad); cadastrarTarifaHistorico(entidad);
entidad.setEmpresaId(entidad.getMarca() != null && entidad.getMarca().getEmpresa() != null ? entidad.getMarca().getEmpresa().getEmpresaId() : null);
logAuditoriaService.auditar(null, entidad);
return tarifaDAO.suscribir(entidad); return tarifaDAO.suscribir(entidad);
} }
@Transactional @Transactional
public Tarifa actualizacion(Tarifa entidad) { public Tarifa actualizacion(Tarifa entidad) {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); try {
entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.TRUE); entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
if (entidad.getPrecio() != null) { entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setPrecio(entidad.getPrecio().setScale(2, RoundingMode.HALF_UP)); 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 @Transactional
@ -154,6 +186,10 @@ public class TarifaServiceImpl implements TarifaService {
entidad.setActivo(Boolean.FALSE); entidad.setActivo(Boolean.FALSE);
cadastrarTarifaHistorico(entidad); cadastrarTarifaHistorico(entidad);
entidad.setEmpresaId(entidad.getMarca() != null && entidad.getMarca().getEmpresa() != null ? entidad.getMarca().getEmpresa().getEmpresaId() : null);
logAuditoriaService.auditarExclusao(entidad);
tarifaDAO.actualizacion(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() log.debug("Tarifa: Ruta " + ruta.getDescruta() + " - " + ruta.getRutaId() + " Tramo: " + tarifa.getTramo().getTramoId()
+ " Marca " + marca + " Vigencia: " + vigencia); + " Marca " + marca + " Vigencia: " + vigencia);
tarifa = tarifaDAO.suscribir(tarifa); tarifa = tarifaDAO.suscribir(tarifa);
tarifa.setEmpresaId(tarifa.getMarca() != null && tarifa.getMarca().getEmpresa() != null ? tarifa.getMarca().getEmpresa().getEmpresaId() : null);
logAuditoriaService.auditar(null, tarifa);
} }
} }
} }