fixes bug#AL-2358
parent
7bd30d3d37
commit
d1bffcf7b8
2
pom.xml
2
pom.xml
|
@ -3,7 +3,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>br.com.rjconsultores</groupId>
|
||||
<artifactId>ModelWeb</artifactId>
|
||||
<version>1.0.43</version>
|
||||
<version>1.0.44</version>
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
<id>rj-releases</id>
|
||||
|
|
|
@ -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,9 +48,8 @@ import com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer.DatosEmpres
|
|||
@Repository("empresaDAO")
|
||||
public class EmpresaHibernateDAO extends GenericHibernateDAO<Empresa, Integer> 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_";
|
||||
|
||||
@Autowired
|
||||
private DataSource dataSource;
|
||||
|
@ -224,41 +224,42 @@ public class EmpresaHibernateDAO extends GenericHibernateDAO<Empresa, Integer> 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<String> lista = getSession().createSQLQuery(obtemSqlSequence(idEmpresa, isFolioBpe)).list();
|
||||
for (String instrucao : lista) {
|
||||
statement.execute(instrucao);
|
||||
for (FolioSistemaEnum folioSistemaEnum : FolioSistemaEnum.values()) {
|
||||
|
||||
List<String> 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<Empresa> obtenerTodosIncluindoEmpresaTodas() {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue