Merge pull request 'fixes bug#AL-2358' (#41) from AL-2358 into master
Reviewed-on: http://18.235.188.113:3000/adm/ModelWeb/pulls/41 Reviewed-by: fabio <fabio.faria@rjconsultores.com.br>master
commit
ad40645014
2
pom.xml
2
pom.xml
|
@ -3,7 +3,7 @@
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>br.com.rjconsultores</groupId>
|
<groupId>br.com.rjconsultores</groupId>
|
||||||
<artifactId>ModelWeb</artifactId>
|
<artifactId>ModelWeb</artifactId>
|
||||||
<version>1.0.43</version>
|
<version>1.0.44</version>
|
||||||
<distributionManagement>
|
<distributionManagement>
|
||||||
<repository>
|
<repository>
|
||||||
<id>rj-releases</id>
|
<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.Empresa;
|
||||||
import com.rjconsultores.ventaboletos.entidad.InscricaoEstadual;
|
import com.rjconsultores.ventaboletos.entidad.InscricaoEstadual;
|
||||||
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
||||||
|
import com.rjconsultores.ventaboletos.enums.FolioSistemaEnum;
|
||||||
import com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer.DatosEmpresaResultTransformer;
|
import com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer.DatosEmpresaResultTransformer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -47,10 +48,9 @@ import com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer.DatosEmpres
|
||||||
@Repository("empresaDAO")
|
@Repository("empresaDAO")
|
||||||
public class EmpresaHibernateDAO extends GenericHibernateDAO<Empresa, Integer> implements 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_";
|
|
||||||
|
|
||||||
|
private static String FS_BPE = "FS_BPE_";
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DataSource dataSource;
|
private DataSource dataSource;
|
||||||
|
|
||||||
|
@ -224,41 +224,42 @@ public class EmpresaHibernateDAO extends GenericHibernateDAO<Empresa, Integer> i
|
||||||
private void gerarSeqNumFolioSistema(Integer idEmpresa) throws SQLException {
|
private void gerarSeqNumFolioSistema(Integer idEmpresa) throws SQLException {
|
||||||
final Connection conn = dataSource.getConnection();
|
final Connection conn = dataSource.getConnection();
|
||||||
try {
|
try {
|
||||||
geraSequence(conn, idEmpresa, false);
|
geraSequence(conn, idEmpresa);
|
||||||
geraSequence(conn, idEmpresa, true);
|
|
||||||
} finally {
|
} finally {
|
||||||
conn.close();
|
conn.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@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();
|
final Statement statement = conn.createStatement();
|
||||||
try {
|
try {
|
||||||
List<String> lista = getSession().createSQLQuery(obtemSqlSequence(idEmpresa, isFolioBpe)).list();
|
for (FolioSistemaEnum folioSistemaEnum : FolioSistemaEnum.values()) {
|
||||||
for (String instrucao : lista) {
|
|
||||||
statement.execute(instrucao);
|
List<String> lista = getSession().createSQLQuery(obtemSqlSequence(idEmpresa, folioSistemaEnum)).list();
|
||||||
|
for (String instrucao : lista) {
|
||||||
|
statement.execute(instrucao);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} finally {
|
} finally {
|
||||||
statement.close();
|
statement.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String obtemSqlSequence(Integer idEmpresa, Boolean isFolioBpe) {
|
private String obtemSqlSequence(Integer idEmpresa, FolioSistemaEnum folioSistemaEnum) {
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append("SELECT 'CREATE SEQUENCE ' || SEQUENCIA || ' INCREMENT BY 1 START WITH 1 NOCACHE ORDER NOCYCLE' FROM (");
|
sql.append(
|
||||||
sql.append(" SELECT DISTINCT '" + obtemNomeFolio(isFolioBpe) +"'||CVEESTADO||'_" + idEmpresa + "_SEQ' SEQUENCIA ");
|
"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(" FROM ESTADO WHERE ACTIVO = 1) TMP ");
|
||||||
sql.append("WHERE TMP.SEQUENCIA NOT IN( ");
|
sql.append("WHERE TMP.SEQUENCIA NOT IN( ");
|
||||||
sql.append(" SELECT SEQUENCE_NAME FROM USER_SEQUENCES ");
|
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();
|
return sql.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private String obtemNomeFolio(Boolean isFolioBpe) {
|
|
||||||
return isFolioBpe ? FOLIO_SISTEMA_BPE : FOLIO_SISTEMA;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public List<Empresa> obtenerTodosIncluindoEmpresaTodas() {
|
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