Cadastro de desconto por contrato feat bug#AL-4342' (!227) from AL-4342 into master
Reviewed-on: adm/ModelWeb#227 Reviewed-by: Valdir Cordeiro <valdir.cordeiro@totvs.com.br>master
commit
998629d197
2
pom.xml
2
pom.xml
|
@ -3,7 +3,7 @@
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>br.com.rjconsultores</groupId>
|
<groupId>br.com.rjconsultores</groupId>
|
||||||
<artifactId>ModelWeb</artifactId>
|
<artifactId>ModelWeb</artifactId>
|
||||||
<version>1.81.0</version>
|
<version>1.82.0</version>
|
||||||
|
|
||||||
<distributionManagement>
|
<distributionManagement>
|
||||||
<repository>
|
<repository>
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
package com.rjconsultores.ventaboletos.dao;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.DescontoContrato;
|
||||||
|
|
||||||
|
public interface DescontoContratoDAO extends GenericDAO<DescontoContrato, Long>{
|
||||||
|
|
||||||
|
public boolean gravarDescontosContrato(List<DescontoContrato> descontos);
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,45 @@
|
||||||
|
package com.rjconsultores.ventaboletos.dao.hibernate;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.hibernate.Criteria;
|
||||||
|
import org.hibernate.SessionFactory;
|
||||||
|
import org.hibernate.criterion.Restrictions;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import com.rjconsultores.ventaboletos.dao.DescontoContratoDAO;
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.DescontoContrato;
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
@Repository("descontoContratoDAO")
|
||||||
|
public class DescontoContratoHibernateDAO extends GenericHibernateDAO<DescontoContrato, Long> implements DescontoContratoDAO {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public DescontoContratoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
||||||
|
setSessionFactory(factory);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DescontoContrato> obtenerTodos() {
|
||||||
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
||||||
|
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
||||||
|
|
||||||
|
return c.list();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean gravarDescontosContrato(List<DescontoContrato> descontos) {
|
||||||
|
|
||||||
|
for (DescontoContrato desconto : descontos) {
|
||||||
|
if(desconto.getDescontoContratoId() == null) {
|
||||||
|
suscribir(desconto);
|
||||||
|
}else {
|
||||||
|
actualizacion(desconto);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
|
@ -3,18 +3,24 @@ package com.rjconsultores.ventaboletos.entidad;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import javax.persistence.Basic;
|
import javax.persistence.Basic;
|
||||||
|
import javax.persistence.CascadeType;
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.FetchType;
|
||||||
import javax.persistence.GeneratedValue;
|
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.SequenceGenerator;
|
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 org.hibernate.annotations.Where;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
@ -108,6 +114,10 @@ public class ContratoCorporativo implements Serializable {
|
||||||
@Temporal(TemporalType.TIMESTAMP)
|
@Temporal(TemporalType.TIMESTAMP)
|
||||||
private Date fecModif;
|
private Date fecModif;
|
||||||
|
|
||||||
|
@OneToMany(mappedBy = "contratoId", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
|
||||||
|
@Where(clause = "ACTIVO=1")
|
||||||
|
private List<DescontoContrato> descontosContrato;
|
||||||
|
|
||||||
private transient String nomeClienteCorp;
|
private transient String nomeClienteCorp;
|
||||||
|
|
||||||
private transient String nomeGrupoContrato;
|
private transient String nomeGrupoContrato;
|
||||||
|
@ -129,5 +139,31 @@ public class ContratoCorporativo implements Serializable {
|
||||||
this.clienteCorporativoId = clienteCorporativoId;
|
this.clienteCorporativoId = clienteCorporativoId;
|
||||||
this.fecModif = fecModif;
|
this.fecModif = fecModif;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (obj == null ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (getClass() != obj.getClass()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
final ContratoCorporativo other = (ContratoCorporativo) obj;
|
||||||
|
|
||||||
|
if (other.getContratoId() == null ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.getContratoId().equals(other.getContratoId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
int hash = 7;
|
||||||
|
hash = 59 * hash + (this.getContratoId() != null ? this.getContratoId().hashCode() : 0);
|
||||||
|
return hash;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -0,0 +1,68 @@
|
||||||
|
package com.rjconsultores.ventaboletos.entidad;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
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.SequenceGenerator;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
import javax.persistence.Temporal;
|
||||||
|
import javax.persistence.TemporalType;
|
||||||
|
|
||||||
|
import com.rjconsultores.ventaboletos.anotacao.Renderizado;
|
||||||
|
import com.rjconsultores.ventaboletos.enums.EnumDesconto;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@Entity
|
||||||
|
@SequenceGenerator(name = "DESCONTO_CONTRATO_SEQ", sequenceName = "DESCONTO_CONTRATO_SEQ", allocationSize = 1)
|
||||||
|
@Table(name = "DESCONTO_CONTRATO")
|
||||||
|
public class DescontoContrato implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = -3684489881654368314L;
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@Basic(optional = false)
|
||||||
|
@GeneratedValue(strategy = GenerationType.AUTO, generator = "DESCONTO_CONTRATO_SEQ")
|
||||||
|
@Column(name = "DESCONTOCONTRATO_ID")
|
||||||
|
private Long descontoContratoId;
|
||||||
|
|
||||||
|
@Column(name = "CONTRATO_ID")
|
||||||
|
private Long contratoId;
|
||||||
|
|
||||||
|
@Renderizado
|
||||||
|
@Column(name = "DATA_INICIAL")
|
||||||
|
private Date dataInicial;
|
||||||
|
|
||||||
|
@Renderizado
|
||||||
|
@Column(name = "DATA_FINAL")
|
||||||
|
private Date dataFinal;
|
||||||
|
|
||||||
|
@Renderizado
|
||||||
|
@Column(name = "PORCENTAGEM")
|
||||||
|
private BigDecimal porcentagem;
|
||||||
|
|
||||||
|
@Renderizado( conversor = EnumDesconto.class)
|
||||||
|
@Column(name = "INDDESCONTO")
|
||||||
|
private boolean indDesconto;
|
||||||
|
|
||||||
|
@Column(name = "ACTIVO")
|
||||||
|
private Boolean activo;
|
||||||
|
|
||||||
|
@Column(name = "FECMODIF")
|
||||||
|
@Temporal(TemporalType.TIMESTAMP)
|
||||||
|
private Date fecModif;
|
||||||
|
|
||||||
|
@Column(name = "USUARIO_ID")
|
||||||
|
private Integer usuarioId;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
package com.rjconsultores.ventaboletos.enums;
|
||||||
|
|
||||||
|
public enum EnumDesconto {
|
||||||
|
|
||||||
|
INATIVO("false", "Acrescimo"),
|
||||||
|
ATIVO("true", "Desconto");
|
||||||
|
|
||||||
|
private String valor;
|
||||||
|
private String descricao;
|
||||||
|
|
||||||
|
private EnumDesconto(String valor, String descricao) {
|
||||||
|
this.valor = valor;
|
||||||
|
this.descricao = descricao;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getValor() {
|
||||||
|
return valor;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return this.descricao;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static EnumDesconto buscarPeloValor(String tValor) {
|
||||||
|
for (EnumDesconto valor : EnumDesconto.values()) {
|
||||||
|
if (valor.getValor().equalsIgnoreCase(tValor)) {
|
||||||
|
return valor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -3,6 +3,7 @@ package com.rjconsultores.ventaboletos.service;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.rjconsultores.ventaboletos.entidad.ContratoCorporativo;
|
import com.rjconsultores.ventaboletos.entidad.ContratoCorporativo;
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.DescontoContrato;
|
||||||
import com.rjconsultores.ventaboletos.exception.BusinessException;
|
import com.rjconsultores.ventaboletos.exception.BusinessException;
|
||||||
|
|
||||||
public interface ContratoService{
|
public interface ContratoService{
|
||||||
|
@ -18,4 +19,6 @@ public interface ContratoService{
|
||||||
public List<ContratoCorporativo> buscaLike(String numContrato);
|
public List<ContratoCorporativo> buscaLike(String numContrato);
|
||||||
|
|
||||||
public boolean existe(ContratoCorporativo contrato);
|
public boolean existe(ContratoCorporativo contrato);
|
||||||
|
|
||||||
|
public void gravarDescontosContrato(List<DescontoContrato> lsDesconto);
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,9 @@ import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import com.rjconsultores.ventaboletos.dao.ContratoDAO;
|
import com.rjconsultores.ventaboletos.dao.ContratoDAO;
|
||||||
|
import com.rjconsultores.ventaboletos.dao.DescontoContratoDAO;
|
||||||
import com.rjconsultores.ventaboletos.entidad.ContratoCorporativo;
|
import com.rjconsultores.ventaboletos.entidad.ContratoCorporativo;
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.DescontoContrato;
|
||||||
import com.rjconsultores.ventaboletos.service.ContratoService;
|
import com.rjconsultores.ventaboletos.service.ContratoService;
|
||||||
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
|
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
|
||||||
|
|
||||||
|
@ -17,6 +19,9 @@ public class ContratoServiceImpl implements ContratoService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ContratoDAO contratoDAO;
|
private ContratoDAO contratoDAO;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DescontoContratoDAO descontoContratoDAO;
|
||||||
|
|
||||||
public List<ContratoCorporativo> obtenerTodos() {
|
public List<ContratoCorporativo> obtenerTodos() {
|
||||||
return contratoDAO.obtenerTodos();
|
return contratoDAO.obtenerTodos();
|
||||||
|
@ -58,4 +63,10 @@ public class ContratoServiceImpl implements ContratoService {
|
||||||
public boolean existe(ContratoCorporativo contrato) {
|
public boolean existe(ContratoCorporativo contrato) {
|
||||||
return contratoDAO.existe(contrato);
|
return contratoDAO.existe(contrato);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public void gravarDescontosContrato(List<DescontoContrato> lsDescontoBanco) {
|
||||||
|
descontoContratoDAO.gravarDescontosContrato(lsDescontoBanco);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue