diff --git a/src/com/rjconsultores/ventaboletos/dao/DescontoComissaoDAO.java b/src/com/rjconsultores/ventaboletos/dao/DescontoComissaoDAO.java new file mode 100644 index 000000000..4a9ae88a5 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/DescontoComissaoDAO.java @@ -0,0 +1,7 @@ +package com.rjconsultores.ventaboletos.dao; + +import com.rjconsultores.ventaboletos.entidad.DescontoComissao; + +public interface DescontoComissaoDAO extends GenericDAO { + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/DescontoComissaoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/DescontoComissaoHibernateDAO.java new file mode 100644 index 000000000..773ecb205 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/DescontoComissaoHibernateDAO.java @@ -0,0 +1,19 @@ +package com.rjconsultores.ventaboletos.dao.hibernate; + +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.DescontoComissaoDAO; +import com.rjconsultores.ventaboletos.entidad.DescontoComissao; + +@Repository("descontoComissaoDAO") +public class DescontoComissaoHibernateDAO extends GenericHibernateDAO implements DescontoComissaoDAO { + + @Autowired + public DescontoComissaoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ItemDescontoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ItemDescontoHibernateDAO.java index d1a6d9b13..bec469943 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ItemDescontoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ItemDescontoHibernateDAO.java @@ -3,8 +3,10 @@ package com.rjconsultores.ventaboletos.dao.hibernate; import java.util.List; import org.apache.commons.lang.StringUtils; +import org.hibernate.Criteria; import org.hibernate.Query; 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; @@ -41,4 +43,12 @@ public class ItemDescontoHibernateDAO extends GenericHibernateDAO obtenerTodos() { + Criteria c = this.makeCriteria(); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + return c.list(); + } + } diff --git a/src/com/rjconsultores/ventaboletos/entidad/DescontoComissao.java b/src/com/rjconsultores/ventaboletos/entidad/DescontoComissao.java new file mode 100644 index 000000000..7e85c5289 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/entidad/DescontoComissao.java @@ -0,0 +1,181 @@ +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.FetchType; +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; + +@Table +@Entity(name = "DESCONTO_COMISSAO") +@SequenceGenerator(name = "DESCONTO_COMISSAO_SEQ", sequenceName = "DESCONTO_COMISSAO_SEQ", allocationSize = 1) +public class DescontoComissao implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + @Basic(optional = false) + @GeneratedValue(strategy = GenerationType.AUTO, generator = "DESCONTO_COMISSAO_SEQ") + @Column(name = "DESCONTOCOMISSAO_ID") + private Long descontocomissaoId; + + @Column(name = "PRECO") + private BigDecimal preco; + + @Column(name = "DATAINICIAL") + @Temporal(TemporalType.DATE) + private Date datainicial; + + @Column(name = "DATAFINAL") + @Temporal(TemporalType.DATE) + private Date datafinal; + + @Column(name = "OBSERVACAO") + private String observacao; + + @Column(name = "ACTIVO") + private boolean activo; + + @Column(name = "FECMODIF") + @Temporal(TemporalType.DATE) + private Date fecmodif; + + @Column(name = "USUARIO_ID") + private Integer usuarioId; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "PUNTOVENTA_ID") + private PuntoVenta puntoVenta; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "EMPRESA_ID") + private Empresa empresa; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "ITEMDESCONTO_ID") + private ItemDesconto itemDesconto; + + public Long getDescontocomissaoId() { + return descontocomissaoId; + } + + public void setDescontocomissaoId(Long descontocomissaoId) { + this.descontocomissaoId = descontocomissaoId; + } + + public BigDecimal getPreco() { + return preco; + } + + public void setPreco(BigDecimal preco) { + this.preco = preco; + } + + public Date getDatainicial() { + return datainicial; + } + + public void setDatainicial(Date datainicial) { + this.datainicial = datainicial; + } + + public Date getDatafinal() { + return datafinal; + } + + public void setDatafinal(Date datafinal) { + this.datafinal = datafinal; + } + + public String getObservacao() { + return observacao; + } + + public void setObservacao(String observacao) { + this.observacao = observacao; + } + + 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; + } + + public Integer getUsuarioId() { + return usuarioId; + } + + public void setUsuarioId(Integer usuarioId) { + this.usuarioId = usuarioId; + } + + public PuntoVenta getPuntoVenta() { + return puntoVenta; + } + + public void setPuntoVenta(PuntoVenta puntoVenta) { + this.puntoVenta = puntoVenta; + } + + public Empresa getEmpresa() { + return empresa; + } + + public void setEmpresa(Empresa empresa) { + this.empresa = empresa; + } + + public ItemDesconto getItemDesconto() { + return itemDesconto; + } + + public void setItemDesconto(ItemDesconto itemDesconto) { + this.itemDesconto = itemDesconto; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((descontocomissaoId == null) ? 0 : descontocomissaoId.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + DescontoComissao other = (DescontoComissao) obj; + if (descontocomissaoId == null) { + if (other.descontocomissaoId != null) + return false; + } else if (!descontocomissaoId.equals(other.descontocomissaoId)) + return false; + return true; + } + +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/ItemDesconto.java b/src/com/rjconsultores/ventaboletos/entidad/ItemDesconto.java index dd220f4af..2b40a3059 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/ItemDesconto.java +++ b/src/com/rjconsultores/ventaboletos/entidad/ItemDesconto.java @@ -2,6 +2,7 @@ package com.rjconsultores.ventaboletos.entidad; import java.io.Serializable; import java.math.BigDecimal; +import java.text.NumberFormat; import java.util.Date; import javax.persistence.Basic; @@ -19,6 +20,8 @@ import javax.persistence.Table; public class ItemDesconto implements Serializable { private static final long serialVersionUID = 1L; + + private static NumberFormat NF = NumberFormat.getInstance(); @Id @Basic(optional = false) @@ -91,7 +94,8 @@ public class ItemDesconto implements Serializable { @Override public String toString() { - return this.getNomitemdesconto() + " - " + this.getItemdescontoId(); + NF.setMinimumFractionDigits(2); + return this.getNomitemdesconto() + " - " + NF.format(this.getPreco()); } } diff --git a/src/com/rjconsultores/ventaboletos/service/DescontoComissaoService.java b/src/com/rjconsultores/ventaboletos/service/DescontoComissaoService.java new file mode 100644 index 000000000..ee83e3438 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/DescontoComissaoService.java @@ -0,0 +1,9 @@ +package com.rjconsultores.ventaboletos.service; + +import com.rjconsultores.ventaboletos.entidad.DescontoComissao; + +public interface DescontoComissaoService extends GenericService { + + public DescontoComissao suscribirOrActualizacion(DescontoComissao entidad); + +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/DescontoComissaoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/DescontoComissaoServiceImpl.java new file mode 100644 index 000000000..3bbf2ada5 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/impl/DescontoComissaoServiceImpl.java @@ -0,0 +1,67 @@ +package com.rjconsultores.ventaboletos.service.impl; + +import java.util.Calendar; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.rjconsultores.ventaboletos.dao.DescontoComissaoDAO; +import com.rjconsultores.ventaboletos.entidad.DescontoComissao; +import com.rjconsultores.ventaboletos.service.DescontoComissaoService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; + +@Service("descontoComissaoService") +public class DescontoComissaoServiceImpl implements DescontoComissaoService { + + @Autowired + private DescontoComissaoDAO descontoComissaoDAO; + + @Override + public List obtenerTodos() { + return descontoComissaoDAO.obtenerTodos(); + } + + @Override + public DescontoComissao obtenerID(Long id) { + return descontoComissaoDAO.obtenerID(id); + } + + @Transactional + @Override + public DescontoComissao suscribir(DescontoComissao entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + + return descontoComissaoDAO.suscribir(entidad); + } + + @Transactional + @Override + public DescontoComissao actualizacion(DescontoComissao entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + + return descontoComissaoDAO.actualizacion(entidad); + } + + @Transactional + @Override + public void borrar(DescontoComissao entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.FALSE); + + descontoComissaoDAO.actualizacion(entidad); + } + + @Override + @Transactional + public DescontoComissao suscribirOrActualizacion(DescontoComissao entidad) { + return entidad != null && entidad.getDescontocomissaoId() == null ? suscribir(entidad) : actualizacion(entidad); + } + +}