From 35f271062593c179d9e32205c4c73e534d830224 Mon Sep 17 00:00:00 2001 From: vinicius Date: Thu, 20 Mar 2014 18:37:44 +0000 Subject: [PATCH] =?UTF-8?q?Estoque=20por=20Ag=C3=AAncia?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1 – AIDF - Incluir nos campos espécie e tipo a opção de Excesso de Bagagem ok 1.1 - No campo de insc. Estadual, ao selecionar a empresa, apresentar lista de inscrição estadual. Será necessário para a pesquisa, Incluir no cadastro da empresa um campo para cadastro de inscrição estadual. Obs. Uma UF pode ter mais de uma inscrição estadual 3 – Movimento de Estoque – Agência 3.1 - No campo Origem apresentar as opções contendo Número e descrição da estação (Hoje esta buscando somente a descrição); ok - Limpar combo, pois esta trazendo informações de agências que já foram pesquisadas 3.2 - No campo Série, apresentar as séries já cadastradas na estação selecionada no campo origem git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@34250 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/dao/AbastoCentralDAO.java | 1 + .../ventaboletos/dao/EmpresaDAO.java | 5 + .../hibernate/AbastoCentralHibernateDAO.java | 15 ++ .../dao/hibernate/EmpresaHibernateDAO.java | 20 +++ .../dao/hibernate/EstacionHibernateDAO.java | 1 + .../ventaboletos/entidad/Empresa.java | 32 ++++ .../ventaboletos/entidad/Estacion.java | 2 +- .../entidad/InscricaoEstadual.java | 143 ++++++++++++++++++ .../ventaboletos/service/EmpresaService.java | 6 +- .../service/MovimentacionBilhetesService.java | 2 + .../impl/DetAbastoBoletoServiceImpl.java | 24 +-- .../service/impl/EmpresaServiceImpl.java | 11 ++ .../MovimentacionBilhetesServiceImpl.java | 6 + 13 files changed, 255 insertions(+), 13 deletions(-) create mode 100644 src/com/rjconsultores/ventaboletos/entidad/InscricaoEstadual.java diff --git a/src/com/rjconsultores/ventaboletos/dao/AbastoCentralDAO.java b/src/com/rjconsultores/ventaboletos/dao/AbastoCentralDAO.java index 3b663e6b0..06461e297 100644 --- a/src/com/rjconsultores/ventaboletos/dao/AbastoCentralDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/AbastoCentralDAO.java @@ -26,6 +26,7 @@ public interface AbastoCentralDAO extends GenericDAO { public void gravaControleEstoqueMigracao(PuntoVenta puntoVenta, Date fecmodif, Integer usuarioId); + public List buscarSeriesBilhetesPorEstacion(Estacion estacion); } diff --git a/src/com/rjconsultores/ventaboletos/dao/EmpresaDAO.java b/src/com/rjconsultores/ventaboletos/dao/EmpresaDAO.java index 6965df321..a60fd09e2 100644 --- a/src/com/rjconsultores/ventaboletos/dao/EmpresaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/EmpresaDAO.java @@ -7,6 +7,7 @@ package com.rjconsultores.ventaboletos.dao; import java.util.List; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.InscricaoEstadual; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; /** @@ -26,4 +27,8 @@ public interface EmpresaDAO extends GenericDAO { public List obtenerIndTipo2(); public List buscarNotInPuntoVtaComissao(PuntoVenta puntoVenta); + + public List buscaInscricoesEstaduais(Empresa empresa); + + public void actualizaInscEstadual(InscricaoEstadual inscricaoEstadual); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/AbastoCentralHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/AbastoCentralHibernateDAO.java index 4241db00b..221d9a207 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/AbastoCentralHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/AbastoCentralHibernateDAO.java @@ -8,6 +8,8 @@ import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.criterion.Order; +import org.hibernate.criterion.Projections; +import org.hibernate.criterion.Property; import org.hibernate.criterion.Restrictions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -191,4 +193,17 @@ public class AbastoCentralHibernateDAO extends GenericHibernateDAO buscarSeriesBilhetesPorEstacion(Estacion estacion) { + + Criteria c = getSession().createCriteria(getPersistentClass()); + c.setProjection(Projections.distinct(Property.forName("numseriepreimpresa"))); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.add(Restrictions.eq("estacion", estacion)); + c.addOrder(Order.asc("numseriepreimpresa")); + + return (List)c.list(); + } + } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/EmpresaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/EmpresaHibernateDAO.java index 7e4372087..9d83af93b 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/EmpresaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/EmpresaHibernateDAO.java @@ -9,6 +9,7 @@ import java.util.List; import org.hibernate.Criteria; import org.hibernate.Query; +import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; @@ -18,6 +19,7 @@ import org.springframework.stereotype.Repository; import com.rjconsultores.ventaboletos.dao.EmpresaDAO; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.InscricaoEstadual; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; /** @@ -126,4 +128,22 @@ public class EmpresaHibernateDAO extends GenericHibernateDAO return lsEmpresa; } + + @Override + public List buscaInscricoesEstaduais(Empresa empresa) { + + Criteria c = getSession().createCriteria(InscricaoEstadual.class); + c.add(Restrictions.eq("empresa", empresa)); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + + return c.list(); + } + + @Override + public void actualizaInscEstadual(InscricaoEstadual inscricaoEstadual) { + + Session session = getSessionFactory().getCurrentSession(); + session.saveOrUpdate(inscricaoEstadual); + session.flush(); + } } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/EstacionHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/EstacionHibernateDAO.java index 48ba761e1..384aa32a1 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/EstacionHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/EstacionHibernateDAO.java @@ -79,6 +79,7 @@ public class EstacionHibernateDAO extends GenericHibernateDAO Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("puntoVenta", puntoVenta)); + c.addOrder(Order.asc("numcaja")); c.addOrder(Order.asc("descestacion")); c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); diff --git a/src/com/rjconsultores/ventaboletos/entidad/Empresa.java b/src/com/rjconsultores/ventaboletos/entidad/Empresa.java index a2f647062..4d790a709 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/Empresa.java +++ b/src/com/rjconsultores/ventaboletos/entidad/Empresa.java @@ -5,6 +5,7 @@ package com.rjconsultores.ventaboletos.entidad; import java.io.Serializable; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -23,6 +24,9 @@ import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.Predicate; + /** * * @author Rafius @@ -86,6 +90,9 @@ public class Empresa implements Serializable { @OneToMany(mappedBy = "empresa") private List empresaImpostoList; + @OneToMany(mappedBy = "empresa") + private List inscricoesEstaduais; + public Empresa() { } @@ -307,4 +314,29 @@ public class Empresa implements Serializable { return this.getNombempresa(); } + + public List getInscricoesEstaduais() { + return inscricoesEstaduais; + } + + public List getInscricoesEstaduaisActivas() { + + List inscEstaduais = new ArrayList(); + inscEstaduais.addAll(getInscricoesEstaduais()); + + CollectionUtils.filter(inscEstaduais, new Predicate() { + + @Override + public boolean evaluate(Object arg0) { + return ((InscricaoEstadual)arg0).getActivo(); + } + }); + + return inscEstaduais; + } + + public void setInscricoesEstaduais(List inscricoesEstaduais) { + this.inscricoesEstaduais = inscricoesEstaduais; + } + } diff --git a/src/com/rjconsultores/ventaboletos/entidad/Estacion.java b/src/com/rjconsultores/ventaboletos/entidad/Estacion.java index b391a30ea..ed611f6b5 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/Estacion.java +++ b/src/com/rjconsultores/ventaboletos/entidad/Estacion.java @@ -296,6 +296,6 @@ public class Estacion implements Serializable { @Override public String toString() { - return descestacion; + return (numcaja != null) ? String.format("%d - %s", numcaja, descestacion) : descestacion; } } diff --git a/src/com/rjconsultores/ventaboletos/entidad/InscricaoEstadual.java b/src/com/rjconsultores/ventaboletos/entidad/InscricaoEstadual.java new file mode 100644 index 000000000..e1ce00ea7 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/entidad/InscricaoEstadual.java @@ -0,0 +1,143 @@ +package com.rjconsultores.ventaboletos.entidad; + +import java.util.Date; + +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 +@Table(name = "INSCRICAO_ESTADUAL") +public class InscricaoEstadual { + + +// INSCRICAOESTADUAL_ID + private Long inscricaoestadualId; + +// INSCRICAO_ESTADUAL + private String inscricaoEstadual; + + private Empresa empresa; + private Estado estado; + + private Boolean activo; + private Date fecmodif; + private Integer usuarioId; + + public InscricaoEstadual() { + // TODO Auto-generated constructor stub + } + + public InscricaoEstadual(String inscricaoEstadual, Empresa empresa, Estado estado, Integer usuarioId) { + super(); + this.inscricaoEstadual = inscricaoEstadual; + this.empresa = empresa; + this.estado = estado; + this.fecmodif = new Date(); + this.activo = true; + this.usuarioId = usuarioId; + + } + + @SequenceGenerator(name = "INSCRICAO_ESTADUAL_SEQ", sequenceName = "INSCRICAO_ESTADUAL_SEQ", allocationSize = 1) + @Id + @GeneratedValue(strategy = GenerationType.AUTO, generator = "INSCRICAO_ESTADUAL_SEQ") + @Column(name = "INSCRICAOESTADUAL_ID", unique = true, nullable = false, precision = 15, scale = 0) + public Long getInscricaoestadualId() { + return inscricaoestadualId; + } + + + public void setInscricaoestadualId(Long inscricaoestadualId) { + this.inscricaoestadualId = inscricaoestadualId; + } + + @Column(name = "INSCRICAO_ESTADUAL", length = 20) + public String getInscricaoEstadual() { + return inscricaoEstadual; + } + + + public void setInscricaoEstadual(String inscricaoEstadual) { + this.inscricaoEstadual = inscricaoEstadual; + } + + @JoinColumn(name = "EMPRESA_ID") + @ManyToOne + public Empresa getEmpresa() { + return empresa; + } + + + public void setEmpresa(Empresa empresa) { + this.empresa = empresa; + } + + @JoinColumn(name = "ESTADO_ID") + @ManyToOne + public Estado getEstado() { + return estado; + } + + + public void setEstado(Estado estado) { + this.estado = estado; + } + + @Column(name = "ACTIVO", precision = 1, scale = 0) + public Boolean getActivo() { + return activo; + } + + + public void setActivo(Boolean activo) { + this.activo = activo; + } + + @Temporal(TemporalType.TIMESTAMP) + @Column(name = "FECMODIF", length = 7) + public Date getFecmodif() { + return fecmodif; + } + + + public void setFecmodif(Date fecmodif) { + this.fecmodif = fecmodif; + } + + @Column(name = "USUARIO_ID", precision = 7, scale = 0) + public Integer getUsuarioId() { + return usuarioId; + } + + + public void setUsuarioId(Integer usuarioId) { + this.usuarioId = usuarioId; + } + + + @Override + public boolean equals(Object object) { + if (!(object instanceof EmpresaImposto)) { + return false; + } + InscricaoEstadual other = (InscricaoEstadual) object; + if ((this.inscricaoestadualId == null && other.inscricaoestadualId != null) || (this.inscricaoestadualId != null && !this.inscricaoestadualId.equals(other.inscricaoestadualId))) { + return false; + } + return true; + } + + @Override + public String toString() { + return String.format("%s-%s", estado.getCveestado(), inscricaoEstadual); + } +} diff --git a/src/com/rjconsultores/ventaboletos/service/EmpresaService.java b/src/com/rjconsultores/ventaboletos/service/EmpresaService.java index 9e5eb15e4..82c0aa5e7 100644 --- a/src/com/rjconsultores/ventaboletos/service/EmpresaService.java +++ b/src/com/rjconsultores/ventaboletos/service/EmpresaService.java @@ -7,6 +7,7 @@ package com.rjconsultores.ventaboletos.service; import java.util.List; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.InscricaoEstadual; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.exception.BusinessException; @@ -33,5 +34,8 @@ public interface EmpresaService { public List obtenerIndTipo2(); public List buscarNotInPuntoVtaComissao(PuntoVenta puntoVenta); - + + public List buscaInscricoesEstaduais(Empresa empresa); + + public void actualizaInscEstadual(InscricaoEstadual inscricaoEstadual); } diff --git a/src/com/rjconsultores/ventaboletos/service/MovimentacionBilhetesService.java b/src/com/rjconsultores/ventaboletos/service/MovimentacionBilhetesService.java index e7e4a967d..483ed6f4c 100644 --- a/src/com/rjconsultores/ventaboletos/service/MovimentacionBilhetesService.java +++ b/src/com/rjconsultores/ventaboletos/service/MovimentacionBilhetesService.java @@ -28,4 +28,6 @@ public interface MovimentacionBilhetesService { public List obtenerTiposMovimetacionPuntoVenta(); public void realizaMovimentacionBilhetes(PuntoVenta puntoVentaBilhetes, Estacion origem, Estacion destino, String numSerie, String formInicial, String formFinal, TipoMovimentacion tipoMovimentacion); + public List buscarSeriesBilhetesPorEstacion(Estacion estacion); + } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/DetAbastoBoletoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/DetAbastoBoletoServiceImpl.java index eb44caff0..9ef82feb6 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/DetAbastoBoletoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/DetAbastoBoletoServiceImpl.java @@ -68,17 +68,19 @@ public class DetAbastoBoletoServiceImpl implements DetAbastoBoletoService { List detAbastoBoletos = detAbastoBoletoDAO.buscaDetAbastoBoletos(origem, numfolioinicial, numfoliofinal, numseriepreimpresa); - detAbastoBoletoDAO.desativaDetAbastos(detAbastoBoletos); - - DetAbastoBoleto detAbastoBoletoInicial = detAbastoBoletos.get(0); - detAbastoBoletoInicial.setNumfoliofinal(numfolioinicial); - detAbastoBoletoInicial.setActivo(Boolean.TRUE); - detAbastoBoletoDAO.actualizacion(detAbastoBoletoInicial); - - DetAbastoBoleto detAbastoBoletoFinal = detAbastoBoletos.get(detAbastoBoletos.size() - 1); - detAbastoBoletoFinal.setNumfolioinicial(numfoliofinal); - detAbastoBoletoFinal.setActivo(Boolean.TRUE); - detAbastoBoletoDAO.actualizacion(detAbastoBoletoFinal); + if(!detAbastoBoletos.isEmpty()){ + detAbastoBoletoDAO.desativaDetAbastos(detAbastoBoletos); + + DetAbastoBoleto detAbastoBoletoInicial = detAbastoBoletos.get(0); + detAbastoBoletoInicial.setNumfoliofinal(numfolioinicial); + detAbastoBoletoInicial.setActivo(Boolean.TRUE); + detAbastoBoletoDAO.actualizacion(detAbastoBoletoInicial); + + DetAbastoBoleto detAbastoBoletoFinal = detAbastoBoletos.get(detAbastoBoletos.size() - 1); + detAbastoBoletoFinal.setNumfolioinicial(numfoliofinal); + detAbastoBoletoFinal.setActivo(Boolean.TRUE); + detAbastoBoletoDAO.actualizacion(detAbastoBoletoFinal); + } } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/EmpresaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/EmpresaServiceImpl.java index 7409d493d..1f7d331af 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/EmpresaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/EmpresaServiceImpl.java @@ -13,6 +13,7 @@ import org.springframework.transaction.annotation.Transactional; import com.rjconsultores.ventaboletos.dao.EmpresaDAO; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.InscricaoEstadual; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.EmpresaService; @@ -98,4 +99,14 @@ public class EmpresaServiceImpl implements EmpresaService { return empresaDAO.buscarNotInPuntoVtaComissao(puntoVenta); } + + @Override + public List buscaInscricoesEstaduais(Empresa empresa) { + return empresaDAO.buscaInscricoesEstaduais(empresa); + } + + @Override + public void actualizaInscEstadual(InscricaoEstadual inscricaoEstadual) { + empresaDAO.actualizaInscEstadual(inscricaoEstadual); + } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/MovimentacionBilhetesServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/MovimentacionBilhetesServiceImpl.java index c73f9c417..cc67a25a0 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/MovimentacionBilhetesServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/MovimentacionBilhetesServiceImpl.java @@ -194,5 +194,11 @@ public class MovimentacionBilhetesServiceImpl implements MovimentacionBilhetesSe abastoCentralDAO.actualizaBilhetes(bilhetes, destino); abastoHistoDAO.grabaHistoricoBilhetes(bilhetes, tipoMovimentacion); } + + @Override + public List buscarSeriesBilhetesPorEstacion(Estacion estacion) { + List seriesEstacion = abastoCentralDAO.buscarSeriesBilhetesPorEstacion(estacion); + return seriesEstacion; + } }