From 750b117f9c09900ef57c46e3dfe197eb2277bcba Mon Sep 17 00:00:00 2001 From: frederico Date: Fri, 22 Jan 2016 11:23:06 +0000 Subject: [PATCH] =?UTF-8?q?fixed=20bug=20#0007047=20-=20corre=C3=A7=C3=B5e?= =?UTF-8?q?s=20tela=20AIDF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@52101 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/dao/AidfDAO.java | 3 + .../dao/hibernate/AidfHibernateDAO.java | 15 +++ .../ventaboletos/entidad/Aidf.java | 108 +++++++++--------- .../ventaboletos/service/AidfService.java | 5 +- .../service/impl/AidfServiceImpl.java | 34 ++++-- 5 files changed, 103 insertions(+), 62 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/AidfDAO.java b/src/com/rjconsultores/ventaboletos/dao/AidfDAO.java index 560e769eb..fe6721735 100644 --- a/src/com/rjconsultores/ventaboletos/dao/AidfDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/AidfDAO.java @@ -5,6 +5,7 @@ import java.util.List; import com.rjconsultores.ventaboletos.entidad.Aidf; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.vo.aidf.AidfVo; public interface AidfDAO extends GenericDAO { @@ -12,5 +13,7 @@ public interface AidfDAO extends GenericDAO { public List buscaAidfsPorEmpresas(List empresas); public List obtenerAidfFromSerieDocfiscal(String serie,String docfiscal, Connection conn); + + public Boolean existeAidfComCodFiscalEEstado(Long idAidf, String docFiscal, Estado estado); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/AidfHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/AidfHibernateDAO.java index f0d6b3a15..46a0e7372 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/AidfHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/AidfHibernateDAO.java @@ -17,6 +17,7 @@ import org.springframework.stereotype.Repository; import com.rjconsultores.ventaboletos.dao.AidfDAO; import com.rjconsultores.ventaboletos.entidad.Aidf; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.vo.aidf.AidfVo; @Repository("aidfDAO") @@ -102,4 +103,18 @@ public class AidfHibernateDAO extends GenericHibernateDAO implements return (List)c.list(); } + + public Boolean existeAidfComCodFiscalEEstado(Long idAidf, String docFiscal, Estado estado){ + + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("estado", estado)); + c.add(Restrictions.eq("docfiscal", docFiscal)); + + if(idAidf != null){ + c.add(Restrictions.ne("aidfId", idAidf)); + } + + return c.list().isEmpty(); + } + } diff --git a/src/com/rjconsultores/ventaboletos/entidad/Aidf.java b/src/com/rjconsultores/ventaboletos/entidad/Aidf.java index 04eb84d02..d67c1b3bc 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/Aidf.java +++ b/src/com/rjconsultores/ventaboletos/entidad/Aidf.java @@ -47,25 +47,25 @@ public class Aidf implements java.io.Serializable { public Aidf() { } - public Aidf(AidfTipo _aidfTipo, AidfEspecie _aidfEspecie, Estado _estado, String _docfiscal, String _acfiscal, - String _serie, String _subserie, String _forminicial, String _formfinal, Date _fecadquisicion, Date _fecvencimiento, - String _inscestadual, Empresa _empresa, Boolean _activo, Date _fecmodif, Integer _usuarioId) { - aidfTipo = _aidfTipo; - aidfEspecie = _aidfEspecie; - estado = _estado; - docfiscal = _docfiscal; - acfiscal = _acfiscal; - serie = _serie; - subserie = _subserie; - forminicial = _forminicial; - formfinal = _formfinal; - fecadquisicion = _fecadquisicion; - fecvencimiento = _fecvencimiento; - inscestadual = _inscestadual; - empresa = _empresa; - activo = _activo; - fecmodif = _fecmodif; - usuarioId = _usuarioId; + public Aidf(AidfTipo aidfTipo, AidfEspecie aidfEspecie, Estado estado, String docfiscal, String acfiscal, + String serie, String subserie, String forminicial, String formfinal, Date fecadquisicion, Date fecvencimiento, + String inscestadual, Empresa empresa, Boolean activo, Date fecmodif, Integer usuarioId) { + this.aidfTipo = aidfTipo; + this.aidfEspecie = aidfEspecie; + this.estado = estado; + this.docfiscal = docfiscal; + this.acfiscal = acfiscal; + this.serie = serie; + this.subserie = subserie; + this.forminicial = forminicial; + this.formfinal = formfinal; + this.fecadquisicion = fecadquisicion; + this.fecvencimiento = fecvencimiento; + this.inscestadual = inscestadual; + this.empresa = empresa; + this.activo = activo; + this.fecmodif = fecmodif; + this.usuarioId = usuarioId; } @Override @@ -101,8 +101,8 @@ public class Aidf implements java.io.Serializable { return aidfId; } - public void setAidfId(Long _aidfId) { - aidfId = _aidfId; + public void setAidfId(Long aidfId) { + this.aidfId = aidfId; } @ManyToOne(fetch = FetchType.LAZY) @@ -111,8 +111,8 @@ public class Aidf implements java.io.Serializable { return aidfTipo; } - public void setAidfTipo(AidfTipo _aidfTipo) { - aidfTipo = _aidfTipo; + public void setAidfTipo(AidfTipo aidfTipo) { + this.aidfTipo = aidfTipo; } @ManyToOne(fetch = FetchType.LAZY) @@ -121,8 +121,8 @@ public class Aidf implements java.io.Serializable { return aidfEspecie; } - public void setAidfEspecie(AidfEspecie _aidfEspecie) { - aidfEspecie = _aidfEspecie; + public void setAidfEspecie(AidfEspecie aidfEspecie) { + this.aidfEspecie = aidfEspecie; } @JoinColumn(name = "ESTADO_ID") @@ -131,8 +131,8 @@ public class Aidf implements java.io.Serializable { return estado; } - public void setEstado(Estado _estado) { - estado = _estado; + public void setEstado(Estado estado) { + this.estado = estado; } @Column(name = "DOCFISCAL", length = 20) @@ -140,8 +140,8 @@ public class Aidf implements java.io.Serializable { return docfiscal; } - public void setDocfiscal(String _docfiscal) { - docfiscal = _docfiscal; + public void setDocfiscal(String docfiscal) { + this.docfiscal = docfiscal; } @Column(name = "ACFISCAL", length = 20) @@ -149,8 +149,8 @@ public class Aidf implements java.io.Serializable { return acfiscal; } - public void setAcfiscal(String _acfiscal) { - acfiscal = _acfiscal; + public void setAcfiscal(String acfiscal) { + this.acfiscal = acfiscal; } @Column(name = "SERIE", length = 20) @@ -158,8 +158,8 @@ public class Aidf implements java.io.Serializable { return serie; } - public void setSerie(String _serie) { - serie = _serie; + public void setSerie(String serie) { + this.serie = serie; } @Column(name = "SUBSERIE", length = 20) @@ -167,8 +167,8 @@ public class Aidf implements java.io.Serializable { return subserie; } - public void setSubserie(String _subserie) { - subserie = _subserie; + public void setSubserie(String subserie) { + this.subserie = subserie; } @Column(name = "FORMINICIAL", length = 12) @@ -176,8 +176,8 @@ public class Aidf implements java.io.Serializable { return forminicial; } - public void setForminicial(String _forminicial) { - forminicial = _forminicial; + public void setForminicial(String forminicial) { + this.forminicial = forminicial; } @Column(name = "FORMFINAL", length = 12) @@ -185,8 +185,8 @@ public class Aidf implements java.io.Serializable { return formfinal; } - public void setFormfinal(String _formfinal) { - formfinal = _formfinal; + public void setFormfinal(String formfinal) { + this.formfinal = formfinal; } @Temporal(TemporalType.DATE) @@ -195,8 +195,8 @@ public class Aidf implements java.io.Serializable { return fecadquisicion; } - public void setFecadquisicion(Date _fecadquisicion) { - fecadquisicion = _fecadquisicion; + public void setFecadquisicion(Date fecadquisicion) { + this.fecadquisicion = fecadquisicion; } @Column(name = "CNPJ", length = 20) @@ -214,17 +214,17 @@ public class Aidf implements java.io.Serializable { return fecvencimiento; } - public void setFecvencimiento(Date _fecvencimiento) { - fecvencimiento = _fecvencimiento; + public void setFecvencimiento(Date fecvencimiento) { + this.fecvencimiento = fecvencimiento; } - + @Column(name = "INSCESTADUAL", length = 20) public String getInscestadual() { return inscestadual; } - public void setInscestadual(String _inscestadual) { - inscestadual = _inscestadual; + public void setInscestadual(String inscestadual) { + this.inscestadual = inscestadual; } @JoinColumn(name = "EMPRESA_ID") @@ -233,8 +233,8 @@ public class Aidf implements java.io.Serializable { return empresa; } - public void setEmpresa(Empresa _empresa) { - empresa = _empresa; + public void setEmpresa(Empresa empresa) { + this.empresa = empresa; } @Column(name = "ACTIVO", precision = 1, scale = 0) @@ -242,8 +242,8 @@ public class Aidf implements java.io.Serializable { return activo; } - public void setActivo(Boolean _activo) { - activo = _activo; + public void setActivo(Boolean activo) { + this.activo = activo; } @Temporal(TemporalType.TIMESTAMP) @@ -252,8 +252,8 @@ public class Aidf implements java.io.Serializable { return fecmodif; } - public void setFecmodif(Date _fecmodif) { - fecmodif = _fecmodif; + public void setFecmodif(Date fecmodif) { + this.fecmodif = fecmodif; } @Column(name = "USUARIO_ID", precision = 7, scale = 0) @@ -261,8 +261,8 @@ public class Aidf implements java.io.Serializable { return usuarioId; } - public void setUsuarioId(Integer _usuarioId) { - usuarioId = _usuarioId; + public void setUsuarioId(Integer usuarioId) { + this.usuarioId = usuarioId; } @Column(name="TIPOVALIDAVENTA") diff --git a/src/com/rjconsultores/ventaboletos/service/AidfService.java b/src/com/rjconsultores/ventaboletos/service/AidfService.java index c6b4b9d06..300d563dc 100644 --- a/src/com/rjconsultores/ventaboletos/service/AidfService.java +++ b/src/com/rjconsultores/ventaboletos/service/AidfService.java @@ -7,6 +7,7 @@ import com.rjconsultores.ventaboletos.entidad.Aidf; import com.rjconsultores.ventaboletos.entidad.AidfEspecie; import com.rjconsultores.ventaboletos.entidad.AidfTipo; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.vo.aidf.AidfVo; public interface AidfService extends GenericService { @@ -16,5 +17,7 @@ public interface AidfService extends GenericService { public List buscaAidfsPorEmpresas(List empresas); public Long validarDocFiscalSerieFormInicialFinal(Aidf entidad, Connection conn); public List obtenerAidfFromSerieDocfiscal(String serie,String docfiscal, Connection conn); - + public Boolean validarDocFiscalPorEstado(Long idAidf, String docFiscal, Estado estado); + public Boolean validarTipoVenda(String tipoVenda, String serie, Integer idTipo); + public Boolean validarVendaManual(Integer idTipo, String serie); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java index 3d3736d48..759d928fb 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java @@ -15,6 +15,7 @@ import com.rjconsultores.ventaboletos.entidad.Aidf; import com.rjconsultores.ventaboletos.entidad.AidfEspecie; import com.rjconsultores.ventaboletos.entidad.AidfTipo; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.service.AidfService; import com.rjconsultores.ventaboletos.service.MovimentacionBilhetesService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @@ -23,6 +24,9 @@ import com.rjconsultores.ventaboletos.vo.aidf.AidfVo; @Service("aidfService") public class AidfServiceImpl implements AidfService { + private static final Integer TIPO_FORMULARIO_CONTINUO = 1; + private static final Integer TIPO_VENDA_MANUAL = 2; + @Autowired private AidfDAO aidfDAO; @@ -96,17 +100,33 @@ public class AidfServiceImpl implements AidfService { List list = obtenerAidfFromSerieDocfiscal(entidad.getSerie() , entidad.getDocfiscal().replaceAll("[^a-zA-Z0-9]+","") , conn); - for(AidfVo e : list){ - if(e.getDocfiscal().trim().equals(entidad.getDocfiscal().replaceAll("[^a-zA-Z0-9]+","").trim())){ - if(e.getSerie().trim().equals(entidad.getSerie().trim())){ - if( ( Long.parseLong(entidad.getForminicial()) >= Long.parseLong(e.getForminicial()) && Long.parseLong(entidad.getForminicial()) <= Long.parseLong(e.getFormfinal()) ) - || - ( Long.parseLong(entidad.getFormfinal()) >= Long.parseLong(e.getForminicial()) && Long.parseLong(entidad.getFormfinal()) <= Long.parseLong(e.getFormfinal()) ) ){ - return e.getAidfId(); + for (AidfVo e : list) { + // desconsiderar o próprio ID, caso contrário o erro de validação sempre acontece qdo o registro é editado. + if (e.getAidfId() != entidad.getAidfId()) { + if (e.getDocfiscal().trim().equals(entidad.getDocfiscal().replaceAll("[^a-zA-Z0-9]+", "").trim())) { + if (e.getSerie().trim().equals(entidad.getSerie().trim())) { + if ((Long.parseLong(entidad.getForminicial()) >= Long.parseLong(e.getForminicial()) && Long.parseLong(entidad.getForminicial()) <= Long.parseLong(e.getFormfinal())) + || (Long.parseLong(entidad.getFormfinal()) >= Long.parseLong(e.getForminicial()) && Long.parseLong(entidad.getFormfinal()) <= Long.parseLong(e.getFormfinal()))) { + return e.getAidfId(); + } } } } } return -1l; } + + public Boolean validarDocFiscalPorEstado(Long idAidf, String docFiscal, Estado estado){ + return aidfDAO.existeAidfComCodFiscalEEstado(idAidf, docFiscal, estado); + } + + public Boolean validarTipoVenda(String tipoVenda, String serie, Integer idTipo) { + return !("M".equals(tipoVenda) + && ("UNIC".equals(serie) || TIPO_FORMULARIO_CONTINUO.equals(idTipo))); + } + + public Boolean validarVendaManual(Integer idTipo, String serie){ + return !(TIPO_VENDA_MANUAL.equals(idTipo) && "UNIC".equals(serie)); + } + }