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);
+ }
+
+ }
+
+}