diff --git a/src/com/rjconsultores/ventaboletos/dao/ContaMDDAO.java b/src/com/rjconsultores/ventaboletos/dao/ContaMDDAO.java new file mode 100644 index 000000000..3dc08ee65 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/ContaMDDAO.java @@ -0,0 +1,7 @@ +package com.rjconsultores.ventaboletos.dao; + +import com.rjconsultores.ventaboletos.entidad.ContaMD; + +public interface ContaMDDAO extends GenericDAO { + Boolean existeConta(ContaMD conta); +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ContaMDHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ContaMDHibernateDAO.java new file mode 100644 index 000000000..eff58dabd --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ContaMDHibernateDAO.java @@ -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.ContaMDDAO; +import com.rjconsultores.ventaboletos.entidad.ContaMD; + +@Repository("contaMDDAO") +public class ContaMDHibernateDAO extends GenericHibernateDAO + implements ContaMDDAO { + + @Autowired + public ContaMDHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } + + @SuppressWarnings("unchecked") + @Override + public List obtenerTodos() { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + + return c.list(); + } + + @Override + public Boolean existeConta(ContaMD conta) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("nome", conta.getNome())); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + + if (conta.getContaId() != null) { + c.add(Restrictions.ne("contaId", conta.getContaId())); + } + + return c.list().isEmpty(); + } +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/ContaMD.java b/src/com/rjconsultores/ventaboletos/entidad/ContaMD.java new file mode 100644 index 000000000..656f34254 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/entidad/ContaMD.java @@ -0,0 +1,182 @@ +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.SequenceGenerator; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +@Entity +@SequenceGenerator(name = "MDCONTA_SEQ", sequenceName = "MDCONTA_SEQ", allocationSize = 1) +@Table(name = "MD_CONTA") +public class ContaMD implements Serializable { + private static final long serialVersionUID = 1L; + + @Id + @Basic(optional = false) + @GeneratedValue(strategy = GenerationType.AUTO, generator = "MDCONTA_SEQ") + @Column(name = "CONTA_ID") + private Integer contaId; + + @Column(name = "NOME") + private String nome; + + @Column(name = "TIPO") + private String tipo; + + @Column(name = "CODIGOCONTABIL") + private Integer codigoContabil; + + @Column(name = "DOCASSOCIADO") + private Boolean docAssociado; + + @Column(name = "CANCELAMENTO") + private Boolean cancelamento; + + @Column(name = "STATUS") + private Boolean status; + + @Column(name = "ORIGEM") + private String origem; + + @Column(name = "REFERENCIA") + private String referencia; + + @Column(name = "FECMODIF") + @Temporal(TemporalType.TIMESTAMP) + private Date fecmodif; + + @Column(name = "USUARIO_ID") + private Integer usuarioId; + + @Column(name = "ACTIVO") + private Boolean activo; + + public ContaMD() { + + } + + public Integer getContaId() { + return contaId; + } + + public void setContaId(Integer contaId) { + this.contaId = contaId; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public String getTipo() { + return tipo; + } + + public void setTipo(String tipo) { + this.tipo = tipo; + } + + public Integer getCodigoContabil() { + return codigoContabil; + } + + public void setCodigoContabil(Integer codigoContabil) { + this.codigoContabil = codigoContabil; + } + + public Boolean getDocAssociado() { + return docAssociado; + } + + public void setDocAssociado(Boolean docAssociado) { + this.docAssociado = docAssociado; + } + + public Boolean getCancelamento() { + return cancelamento; + } + + public void setCancelamento(Boolean cancelamento) { + this.cancelamento = cancelamento; + } + + public Boolean getStatus() { + return status; + } + + public void setStatus(Boolean status) { + this.status = status; + } + + public String getOrigem() { + return origem; + } + + public void setOrigem(String origem) { + this.origem = origem; + } + + public String getReferencia() { + return referencia; + } + + public void setReferencia(String referencia) { + this.referencia = referencia; + } + + 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 Boolean getActivo() { + return activo; + } + + public void setActivo(Boolean activo) { + this.activo = activo; + } + + public String getTipoDesc() { + if (tipo == null) { + return ""; + } + + return tipo.equals("C") ? "Crédito" : "Débito"; + } + + public String getStatusDesc() { + if (status == null) { + return ""; + } + + return status ? "Ativo" : "Inativo"; + } + + @Override + public String toString() { + return "ContaMD [contaId=" + contaId + ", nome=" + nome + ", tipo=" + tipo + ", codigoContabil=" + codigoContabil + ", docAssociado=" + docAssociado + ", cancelamento=" + cancelamento + ", status=" + status + ", origem=" + origem + ", referencia=" + referencia + ", fecmodif=" + fecmodif + ", usuarioId=" + usuarioId + ", activo=" + activo + "]"; + } +} diff --git a/src/com/rjconsultores/ventaboletos/service/ContaMDService.java b/src/com/rjconsultores/ventaboletos/service/ContaMDService.java new file mode 100644 index 000000000..eb62e104f --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/ContaMDService.java @@ -0,0 +1,7 @@ +package com.rjconsultores.ventaboletos.service; + +import com.rjconsultores.ventaboletos.entidad.ContaMD; + +public interface ContaMDService extends GenericService { + Boolean existeConta(ContaMD conta); +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ContaMDServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ContaMDServiceImpl.java new file mode 100644 index 000000000..3e0cb727e --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/impl/ContaMDServiceImpl.java @@ -0,0 +1,61 @@ +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.ContaMDDAO; +import com.rjconsultores.ventaboletos.entidad.ContaMD; +import com.rjconsultores.ventaboletos.service.ContaMDService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; + +@Service("contaMDService") +public class ContaMDServiceImpl implements ContaMDService { + + @Autowired + private ContaMDDAO contaMDDAO; + + public List obtenerTodos() { + return contaMDDAO.obtenerTodos(); + } + + public ContaMD obtenerID(Integer id) { + return contaMDDAO.obtenerID(id); + } + + @Transactional + public ContaMD suscribir(ContaMD entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + + return contaMDDAO.suscribir(entidad); + } + + @Transactional + public ContaMD actualizacion(ContaMD entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + + return contaMDDAO.actualizacion(entidad); + } + + @Transactional + public void borrar(ContaMD entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.FALSE); + + contaMDDAO.actualizacion(entidad); + } + + @Override + public Boolean existeConta(ContaMD conta) { + return contaMDDAO.existeConta(conta); + } + +}