diff --git a/pom.xml b/pom.xml
index 9d7f5c041..75cad88b0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
br.com.rjconsultores
ModelWeb
- 1.0.43
+ 1.0.44
rj-releases
diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/EmpresaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/EmpresaHibernateDAO.java
index 38a5563e7..ccf4b5d31 100644
--- a/src/com/rjconsultores/ventaboletos/dao/hibernate/EmpresaHibernateDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/EmpresaHibernateDAO.java
@@ -38,6 +38,7 @@ import com.rjconsultores.ventaboletos.entidad.ComEmpTipoEventoExtra;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.InscricaoEstadual;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
+import com.rjconsultores.ventaboletos.enums.FolioSistemaEnum;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer.DatosEmpresaResultTransformer;
/**
@@ -47,10 +48,9 @@ import com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer.DatosEmpres
@Repository("empresaDAO")
public class EmpresaHibernateDAO extends GenericHibernateDAO implements EmpresaDAO {
- private static String FOLIO_SISTEMA_BPE = "FOLIO_SISTEMA_BPE_";
- private static String FS_BPE = "FS_BPE_";
- private static String FOLIO_SISTEMA = "FOLIO_SISTEMA_";
+ private static String FS_BPE = "FS_BPE_";
+
@Autowired
private DataSource dataSource;
@@ -224,41 +224,42 @@ public class EmpresaHibernateDAO extends GenericHibernateDAO i
private void gerarSeqNumFolioSistema(Integer idEmpresa) throws SQLException {
final Connection conn = dataSource.getConnection();
try {
- geraSequence(conn, idEmpresa, false);
- geraSequence(conn, idEmpresa, true);
+ geraSequence(conn, idEmpresa);
} finally {
conn.close();
}
}
@SuppressWarnings("unchecked")
- private void geraSequence(final Connection conn, final Integer idEmpresa, final Boolean isFolioBpe) throws SQLException {
+ private void geraSequence(final Connection conn, final Integer idEmpresa) throws SQLException {
final Statement statement = conn.createStatement();
try {
- List lista = getSession().createSQLQuery(obtemSqlSequence(idEmpresa, isFolioBpe)).list();
- for (String instrucao : lista) {
- statement.execute(instrucao);
+ for (FolioSistemaEnum folioSistemaEnum : FolioSistemaEnum.values()) {
+
+ List lista = getSession().createSQLQuery(obtemSqlSequence(idEmpresa, folioSistemaEnum)).list();
+ for (String instrucao : lista) {
+ statement.execute(instrucao);
+ }
}
+
} finally {
statement.close();
}
}
- private String obtemSqlSequence(Integer idEmpresa, Boolean isFolioBpe) {
+ private String obtemSqlSequence(Integer idEmpresa, FolioSistemaEnum folioSistemaEnum) {
StringBuilder sql = new StringBuilder();
- sql.append("SELECT 'CREATE SEQUENCE ' || SEQUENCIA || ' INCREMENT BY 1 START WITH 1 NOCACHE ORDER NOCYCLE' FROM (");
- sql.append(" SELECT DISTINCT '" + obtemNomeFolio(isFolioBpe) +"'||CVEESTADO||'_" + idEmpresa + "_SEQ' SEQUENCIA ");
+ sql.append(
+ "SELECT 'CREATE SEQUENCE ' || SEQUENCIA || ' INCREMENT BY 1 START WITH 1 NOCACHE ORDER NOCYCLE' FROM (");
+ sql.append(" SELECT DISTINCT '" + folioSistemaEnum.getNome()
+ + (folioSistemaEnum.isCveEstado() ? "'||CVEESTADO||'_" : "_") + idEmpresa + "_SEQ' SEQUENCIA ");
sql.append(" FROM ESTADO WHERE ACTIVO = 1) TMP ");
sql.append("WHERE TMP.SEQUENCIA NOT IN( ");
sql.append(" SELECT SEQUENCE_NAME FROM USER_SEQUENCES ");
- sql.append(" WHERE SEQUENCE_NAME LIKE '" + obtemNomeFolio(isFolioBpe) + "%_" + idEmpresa + "_SEQ')");
+ sql.append(" WHERE SEQUENCE_NAME LIKE '" + folioSistemaEnum.getNome() + "%_" + idEmpresa + "_SEQ')");
return sql.toString();
}
- private String obtemNomeFolio(Boolean isFolioBpe) {
- return isFolioBpe ? FOLIO_SISTEMA_BPE : FOLIO_SISTEMA;
- }
-
@Override
@SuppressWarnings("unchecked")
public List obtenerTodosIncluindoEmpresaTodas() {
diff --git a/src/com/rjconsultores/ventaboletos/enums/FolioSistemaEnum.java b/src/com/rjconsultores/ventaboletos/enums/FolioSistemaEnum.java
new file mode 100644
index 000000000..73f28239b
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/enums/FolioSistemaEnum.java
@@ -0,0 +1,43 @@
+package com.rjconsultores.ventaboletos.enums;
+
+public enum FolioSistemaEnum {
+
+ FOLIO_SISTEMA("FOLIO_SISTEMA_", true),
+ FOLIO_SISTEMA_BPE("FOLIO_SISTEMA_BPE_", true),
+ FOLIO_SISTEMA_DAV("FOLIO_SISTEMA_DAV_", false),
+ ;
+
+ private String nome;
+ private boolean isCveEstado;
+
+ private FolioSistemaEnum(String nome, boolean isCveEstado) {
+ this.nome = nome;
+ this.isCveEstado = isCveEstado;
+ }
+
+ public static FolioSistemaEnum getFolioSistema(String nome) {
+ for (FolioSistemaEnum folio : FolioSistemaEnum.values()) {
+ if (folio.nome.equals(nome)) {
+ return folio;
+ }
+ }
+ throw new IllegalArgumentException("Folio Sistema não encontrado.");
+ }
+
+ public String getNome() {
+ return nome;
+ }
+
+ public void setNome(String nome) {
+ this.nome = nome;
+ }
+
+ public boolean isCveEstado() {
+ return isCveEstado;
+ }
+
+ public void setCveEstado(boolean isCveEstado) {
+ this.isCveEstado = isCveEstado;
+ }
+
+}