From 8c6964162d7d665acb69e159e47384305d60db22 Mon Sep 17 00:00:00 2001 From: "valdir.cordeiro" Date: Fri, 10 Nov 2023 10:37:38 -0300 Subject: [PATCH] =?UTF-8?q?bug#al-3254=2066363=20-=20Servi=C3=A7os=20-=20A?= =?UTF-8?q?justes=20na=20Tela=20de=20Configura=C3=A7=C3=A3o=20de=20Servi?= =?UTF-8?q?=C3=A7o=20na=20ADM=20dev:=20qua:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../dao/HeaderEsquemaCorridaDAO.java | 10 ++ .../HeaderEsquemaCorridaHibernateDAO.java | 35 ++++++ .../entidad/HeaderTabelaEsquemaCorrida.java | 60 ++++++++++ .../service/HeaderEsquemaCorridaService.java | 12 ++ .../impl/HeaderEsquemaCorridaServiceImpl.java | 103 ++++++++++++++++++ 6 files changed, 221 insertions(+), 1 deletion(-) create mode 100644 src/com/rjconsultores/ventaboletos/dao/HeaderEsquemaCorridaDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/dao/hibernate/HeaderEsquemaCorridaHibernateDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/entidad/HeaderTabelaEsquemaCorrida.java create mode 100644 src/com/rjconsultores/ventaboletos/service/HeaderEsquemaCorridaService.java create mode 100644 src/com/rjconsultores/ventaboletos/service/impl/HeaderEsquemaCorridaServiceImpl.java diff --git a/pom.xml b/pom.xml index 143097f80..6b92e468a 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 br.com.rjconsultores ModelWeb - 1.19.1 + 1.20.0 diff --git a/src/com/rjconsultores/ventaboletos/dao/HeaderEsquemaCorridaDAO.java b/src/com/rjconsultores/ventaboletos/dao/HeaderEsquemaCorridaDAO.java new file mode 100644 index 000000000..d052dee20 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/HeaderEsquemaCorridaDAO.java @@ -0,0 +1,10 @@ +package com.rjconsultores.ventaboletos.dao; + +import com.rjconsultores.ventaboletos.entidad.HeaderTabelaEsquemaCorrida; + +public interface HeaderEsquemaCorridaDAO extends GenericDAO { + + public HeaderTabelaEsquemaCorrida buscarHeader(); + + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/HeaderEsquemaCorridaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/HeaderEsquemaCorridaHibernateDAO.java new file mode 100644 index 000000000..a8f030bfd --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/HeaderEsquemaCorridaHibernateDAO.java @@ -0,0 +1,35 @@ +package com.rjconsultores.ventaboletos.dao.hibernate; + +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.HeaderEsquemaCorridaDAO; +import com.rjconsultores.ventaboletos.entidad.HeaderTabelaEsquemaCorrida; + +@Repository("headerEsquemaCorridaHibernateDAO") +public class HeaderEsquemaCorridaHibernateDAO extends GenericHibernateDAO implements HeaderEsquemaCorridaDAO { + + @Autowired + public HeaderEsquemaCorridaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } + + @Override + public HeaderTabelaEsquemaCorrida buscarHeader() { + try { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("headerEsquemaCorridaId", 1)); + + c.setMaxResults(1); + + return (HeaderTabelaEsquemaCorrida) c.uniqueResult(); + } catch (Exception e) { + return null; + } + } + +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/HeaderTabelaEsquemaCorrida.java b/src/com/rjconsultores/ventaboletos/entidad/HeaderTabelaEsquemaCorrida.java new file mode 100644 index 000000000..0f52fa5ed --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/entidad/HeaderTabelaEsquemaCorrida.java @@ -0,0 +1,60 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.entidad; + +import java.io.Serializable; + +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; + +/** + * @author valdir.cordeiro + * + */ +@Entity +@SequenceGenerator(name = "HEADER_ESQUEMA_CORRIDA_SEQ", sequenceName = "HEADER_ESQUEMA_CORRIDA_SEQ", allocationSize = 1) +@Table(name = "HEADER_ESQUEMA_CORRIDA") +public class HeaderTabelaEsquemaCorrida implements Serializable{ + + private static final long serialVersionUID = 1L; + @Id + @Basic(optional = false) + @Column(name = "HEADERESQUEMACORRIDA_ID") + @GeneratedValue(strategy = GenerationType.AUTO, generator = "HEADER_ESQUEMA_CORRIDA_SEQ") + private Integer headerEsquemaCorridaId; + + @Column(name = "SEQUENCIA_HEADER") + private String sequenciaHeader; + + public HeaderTabelaEsquemaCorrida() { + super(); + } + + public HeaderTabelaEsquemaCorrida(int id, String sequencia) { + this.headerEsquemaCorridaId = id; + this.sequenciaHeader = sequencia; + } + + public Integer getHeaderEsquemaCorridaId() { + return headerEsquemaCorridaId; + } + + public void setHeaderEsquemaCorridaId(Integer headerEsquemaCorridaId) { + this.headerEsquemaCorridaId = headerEsquemaCorridaId; + } + + public String getSequenciaHeader() { + return sequenciaHeader; + } + + public void setSequenciaHeader(String sequenciaHeader) { + this.sequenciaHeader = sequenciaHeader; + } +} diff --git a/src/com/rjconsultores/ventaboletos/service/HeaderEsquemaCorridaService.java b/src/com/rjconsultores/ventaboletos/service/HeaderEsquemaCorridaService.java new file mode 100644 index 000000000..e1178f508 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/HeaderEsquemaCorridaService.java @@ -0,0 +1,12 @@ +package com.rjconsultores.ventaboletos.service; + +import com.rjconsultores.ventaboletos.entidad.HeaderTabelaEsquemaCorrida; + +public interface HeaderEsquemaCorridaService extends GenericService { + + public Integer[] buscarHeader(); + + public void salvarPosicoesHeader(Integer[] posicoesColunasTabela); + + +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/HeaderEsquemaCorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/HeaderEsquemaCorridaServiceImpl.java new file mode 100644 index 000000000..0f959881e --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/impl/HeaderEsquemaCorridaServiceImpl.java @@ -0,0 +1,103 @@ +package com.rjconsultores.ventaboletos.service.impl; + +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.HeaderEsquemaCorridaDAO; +import com.rjconsultores.ventaboletos.entidad.HeaderTabelaEsquemaCorrida; +import com.rjconsultores.ventaboletos.service.HeaderEsquemaCorridaService; + +@Service("headerEsquemaCorridaService") +public class HeaderEsquemaCorridaServiceImpl implements HeaderEsquemaCorridaService { + + @Autowired + private HeaderEsquemaCorridaDAO headerEsquemaCorridaDAO; + + @Override + public List obtenerTodos() { + return null; + } + + @Override + public HeaderTabelaEsquemaCorrida obtenerID(Integer id) { + return null; + } + + @Override + public Integer[] buscarHeader() { + HeaderTabelaEsquemaCorrida header = headerEsquemaCorridaDAO.buscarHeader(); + + if(header == null) { + //Se for nulo retorna com o valor padrao + header = new HeaderTabelaEsquemaCorrida(1, "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"); + } + + String headerString = header.getSequenciaHeader(); + + String[] arrayString = headerString.split(","); + + Integer[] arrayInt = new Integer[15]; + + int i = 0; + for(String pos : arrayString) { + arrayInt[i] = Integer.valueOf(pos); + i++; + } + + return arrayInt; + } + + @Override + @Transactional + public HeaderTabelaEsquemaCorrida suscribir(HeaderTabelaEsquemaCorrida entidad) { + //o Id vai ser sempre 1 + entidad.setHeaderEsquemaCorridaId(1); + return headerEsquemaCorridaDAO.suscribir(entidad); + } + + @Override + @Transactional + public HeaderTabelaEsquemaCorrida actualizacion(HeaderTabelaEsquemaCorrida entidad) { + entidad.setHeaderEsquemaCorridaId(1); + return headerEsquemaCorridaDAO.actualizacion(entidad); + } + + @Override + public void borrar(HeaderTabelaEsquemaCorrida entidad) { + // TODO Auto-generated method stub + } + + @Override + @Transactional + public void salvarPosicoesHeader(Integer[] posicoesColunasTabela) { + HeaderTabelaEsquemaCorrida header = headerEsquemaCorridaDAO.buscarHeader(); + + StringBuilder pos = new StringBuilder(); + + int i = 1; + for(Integer posicao : posicoesColunasTabela) { + + if(i < 15) { + pos.append(posicao).append(","); + } else { + pos.append(posicao); + } + + i++; + } + + if(header == null) { + //Se for nulo retorna com o valor padrao + header = new HeaderTabelaEsquemaCorrida(1, pos.toString()); + suscribir(header); + } else { + header.setSequenciaHeader(pos.toString()); + actualizacion(header); + } + + } + +}