Merge branch 'master' into develop
This commit is contained in:
@@ -108,6 +108,7 @@ public class EmsCoreContext implements ApplicationListener<ContextRefreshedEvent
|
|||||||
dispatchPostWebServerConstruct(multiDBTransactionManager);
|
dispatchPostWebServerConstruct(multiDBTransactionManager);
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
logger.error("EmsCoreContext.onPostDBLoaded", e);
|
logger.error("EmsCoreContext.onPostDBLoaded", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package it.integry.ems.menu.service;
|
package it.integry.ems.menu.service;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement;
|
||||||
import it.integry.annotations.PostContextAutowired;
|
import it.integry.annotations.PostContextAutowired;
|
||||||
import it.integry.annotations.PostContextConstruct;
|
import it.integry.annotations.PostContextConstruct;
|
||||||
import it.integry.ems.menu.MenuStaticCreator;
|
import it.integry.ems.menu.MenuStaticCreator;
|
||||||
@@ -13,10 +14,7 @@ import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
|
|||||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||||
import it.integry.ems.utility.UtilityDebug;
|
import it.integry.ems.utility.UtilityDebug;
|
||||||
import it.integry.ems.utility.UtilityDirs;
|
import it.integry.ems.utility.UtilityDirs;
|
||||||
import it.integry.ems_model.entity.Azienda;
|
import it.integry.ems_model.entity.*;
|
||||||
import it.integry.ems_model.entity.StbMenu;
|
|
||||||
import it.integry.ems_model.entity.StbMenuOpz;
|
|
||||||
import it.integry.ems_model.entity.StbTipoAzienda;
|
|
||||||
import it.integry.ems_model.types.OperationType;
|
import it.integry.ems_model.types.OperationType;
|
||||||
import it.integry.ems_model.utility.UtilityDB;
|
import it.integry.ems_model.utility.UtilityDB;
|
||||||
import it.integry.ems_model.utility.UtilityLocalDate;
|
import it.integry.ems_model.utility.UtilityLocalDate;
|
||||||
@@ -68,6 +66,8 @@ public class MenuConfigurationService {
|
|||||||
throw ex;
|
throw ex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
logger.debug(MenuConfigurationService.class.getSimpleName() + ": Fine refresh menu");
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isHistoryDB(AdvancedDataSource advancedDataSource) throws Exception {
|
private boolean isHistoryDB(AdvancedDataSource advancedDataSource) throws Exception {
|
||||||
@@ -103,10 +103,30 @@ public class MenuConfigurationService {
|
|||||||
"DELETE FROM stb_tipo_azienda",
|
"DELETE FROM stb_tipo_azienda",
|
||||||
"DELETE FROM stb_menu_opz");
|
"DELETE FROM stb_menu_opz");
|
||||||
|
|
||||||
for (StbMenuOpzDTO stbMenuOpzDto : menuConfig.getStbMenuOpz()) {
|
String insertStbMenuOpzSQL = "INSERT INTO " + StbMenuOpz.ENTITY + " (cod_opz, " +
|
||||||
StbMenuOpz stbMenuOpz = stbMenuOpzDto.toEntity();
|
"descrizione, gest_name, entity_name, picture_menu, picture_select, object_type, flag_printer_setup, parameter, note, open_type, is_deprecated)" +
|
||||||
stbMenuOpz.setOperation(OperationType.INSERT);
|
" VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||||
stbMenuOpz.manageWithParentConnection(connection);
|
|
||||||
|
try (SQLServerPreparedStatement insertBulkPs = (SQLServerPreparedStatement) connection.prepareStatement(insertStbMenuOpzSQL)) {
|
||||||
|
for (StbMenuOpzDTO stbMenuOpzDto : menuConfig.getStbMenuOpz()) {
|
||||||
|
|
||||||
|
insertBulkPs.setString(1, stbMenuOpzDto.getCodOpz());
|
||||||
|
insertBulkPs.setString(2, stbMenuOpzDto.getDescrizione());
|
||||||
|
insertBulkPs.setString(3, stbMenuOpzDto.getGestName());
|
||||||
|
insertBulkPs.setString(4, stbMenuOpzDto.getEntityName());
|
||||||
|
insertBulkPs.setString(5, stbMenuOpzDto.getPictureMenu());
|
||||||
|
insertBulkPs.setString(6, stbMenuOpzDto.getPictureSelect());
|
||||||
|
insertBulkPs.setString(7, stbMenuOpzDto.getObjectType());
|
||||||
|
insertBulkPs.setString(8, stbMenuOpzDto.getFlagPrinterSetup());
|
||||||
|
insertBulkPs.setString(9, stbMenuOpzDto.getParameter());
|
||||||
|
insertBulkPs.setString(10, stbMenuOpzDto.getNote());
|
||||||
|
insertBulkPs.setString(11, stbMenuOpzDto.getOpenType());
|
||||||
|
insertBulkPs.setString(12, stbMenuOpzDto.getIsDeprecated());
|
||||||
|
|
||||||
|
insertBulkPs.addBatch();
|
||||||
|
}
|
||||||
|
|
||||||
|
insertBulkPs.executeLargeBatch();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (StbTipoAziendaDTO stbTipoAziendaDto : menuConfig.getStbTipoAzienda()) {
|
for (StbTipoAziendaDTO stbTipoAziendaDto : menuConfig.getStbTipoAzienda()) {
|
||||||
@@ -119,12 +139,39 @@ public class MenuConfigurationService {
|
|||||||
|
|
||||||
if (stbMenus == null)
|
if (stbMenus == null)
|
||||||
logger.error("Nessuna configurazione trovata per il menu " + azienda.getTipoAzienda() + " di " + azienda.getNomeDitta());
|
logger.error("Nessuna configurazione trovata per il menu " + azienda.getTipoAzienda() + " di " + azienda.getNomeDitta());
|
||||||
else
|
else {
|
||||||
for (StbMenuDTO stbMenuDto : stbMenus) {
|
String insertStbMenuSql = "INSERT INTO " + StbMenu.ENTITY + " (cod_opz, descrizione, cod_parent, pos, tipo_azienda, flag_attivo, url_descrizione, " +
|
||||||
StbMenu stbMenu = stbMenuDto.toEntity();
|
"pos_tipo_azienda, pos_cliente, descrizione_estesa) " +
|
||||||
stbMenu.setOperation(OperationType.INSERT);
|
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||||
stbMenu.manageWithParentConnection(connection);
|
|
||||||
|
try (SQLServerPreparedStatement insertBulkPs = (SQLServerPreparedStatement) connection.prepareStatement(insertStbMenuSql)) {
|
||||||
|
for (StbMenuDTO stbMenuDto : stbMenus) {
|
||||||
|
|
||||||
|
insertBulkPs.setString(1, stbMenuDto.getCodOpz());
|
||||||
|
insertBulkPs.setString(2, stbMenuDto.getDescrizione());
|
||||||
|
insertBulkPs.setString(3, stbMenuDto.getCodParent());
|
||||||
|
|
||||||
|
if(stbMenuDto.getPos() != null) insertBulkPs.setInt(4, stbMenuDto.getPos());
|
||||||
|
else insertBulkPs.setObject(4, null);
|
||||||
|
|
||||||
|
insertBulkPs.setString(5, stbMenuDto.getTipoAzienda());
|
||||||
|
insertBulkPs.setString(6, stbMenuDto.getFlagAttivo());
|
||||||
|
insertBulkPs.setString(7, stbMenuDto.getUrlDescrizione());
|
||||||
|
|
||||||
|
if(stbMenuDto.getPosTipoAzienda() != null) insertBulkPs.setInt(8, stbMenuDto.getPosTipoAzienda());
|
||||||
|
else insertBulkPs.setObject(8, null);
|
||||||
|
|
||||||
|
if(stbMenuDto.getPosCliente() != null) insertBulkPs.setInt(9, stbMenuDto.getPosCliente());
|
||||||
|
else insertBulkPs.setObject(9, null);
|
||||||
|
|
||||||
|
insertBulkPs.setString(10, stbMenuDto.getDescrizioneEstesa());
|
||||||
|
|
||||||
|
insertBulkPs.addBatch();
|
||||||
|
}
|
||||||
|
|
||||||
|
insertBulkPs.executeLargeBatch();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
executeStatement(connection, "ALTER TABLE azienda ADD CONSTRAINT FK_azienda_stb_tipo_azienda FOREIGN KEY (tipo_azienda) REFERENCES stb_tipo_azienda ( tipo_azienda )",
|
executeStatement(connection, "ALTER TABLE azienda ADD CONSTRAINT FK_azienda_stb_tipo_azienda FOREIGN KEY (tipo_azienda) REFERENCES stb_tipo_azienda ( tipo_azienda )",
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import java.util.List;
|
|||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Scope("request")
|
@Scope("request")
|
||||||
public class MultiDBTransactionManager implements AutoCloseable{
|
public class MultiDBTransactionManager implements AutoCloseable {
|
||||||
|
|
||||||
private final static Logger logger = LogManager.getLogger();
|
private final static Logger logger = LogManager.getLogger();
|
||||||
|
|
||||||
@@ -248,19 +248,20 @@ public class MultiDBTransactionManager implements AutoCloseable{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void closeAll() throws Exception {
|
public void closeAll() throws Exception {
|
||||||
for (AdvancedDataSource advancedDataSource : dbDatasources) {
|
if (dbDatasources != null && !dbDatasources.isEmpty())
|
||||||
if (!advancedDataSource.isClosed()) {
|
for (AdvancedDataSource advancedDataSource : dbDatasources) {
|
||||||
if (requestData != null && requestData.getRequestURI() != null) {
|
if (!advancedDataSource.isClosed()) {
|
||||||
String methodName = " [" + requestData.getRequestURI() + "]";
|
if (requestData != null && requestData.getRequestURI() != null) {
|
||||||
if (shouldPrintLog(requestData.getRequestURI()))
|
String methodName = " [" + requestData.getRequestURI() + "]";
|
||||||
logger.debug("Closing automatically: " + advancedDataSource.getDataSource().getProfile() + " (#" + advancedDataSource.getDataSource().getSessionID() + ")" + methodName);
|
if (shouldPrintLog(requestData.getRequestURI()))
|
||||||
} else if (enableLog) {
|
logger.debug("Closing automatically: " + advancedDataSource.getDataSource().getProfile() + " (#" + advancedDataSource.getDataSource().getSessionID() + ")" + methodName);
|
||||||
logger.debug("Closing manually: " + advancedDataSource.getDataSource().getProfile() + " (#" + advancedDataSource.getDataSource().getSessionID() + ")");
|
} else if (enableLog) {
|
||||||
|
logger.debug("Closing manually: " + advancedDataSource.getDataSource().getProfile() + " (#" + advancedDataSource.getDataSource().getSessionID() + ")");
|
||||||
|
}
|
||||||
|
advancedDataSource.commit();
|
||||||
|
advancedDataSource.close();
|
||||||
}
|
}
|
||||||
advancedDataSource.commit();
|
|
||||||
advancedDataSource.close();
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import it.integry.ems_model.base.EntityBase;
|
|||||||
import org.kie.api.definition.type.PropertyReactive;
|
import org.kie.api.definition.type.PropertyReactive;
|
||||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||||
import javax.persistence.Id;
|
import javax.persistence.Id;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
@PropertyReactive
|
@PropertyReactive
|
||||||
@@ -27,7 +28,7 @@ public class MtbColrInfoProd extends EntityBase {
|
|||||||
|
|
||||||
@ImportFromParent
|
@ImportFromParent
|
||||||
@SqlField(value = "data_collo")
|
@SqlField(value = "data_collo")
|
||||||
private Date dataCollo;
|
private LocalDate dataCollo;
|
||||||
|
|
||||||
@ImportFromParent
|
@ImportFromParent
|
||||||
@SqlField(value = "gestione")
|
@SqlField(value = "gestione")
|
||||||
@@ -57,11 +58,11 @@ public class MtbColrInfoProd extends EntityBase {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getDataCollo() {
|
public LocalDate getDataCollo() {
|
||||||
return dataCollo;
|
return dataCollo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MtbColrInfoProd setDataCollo(Date dataCollo) {
|
public MtbColrInfoProd setDataCollo(LocalDate dataCollo) {
|
||||||
this.dataCollo = dataCollo;
|
this.dataCollo = dataCollo;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user