Fix su menu e date
This commit is contained in:
@@ -108,6 +108,7 @@ public class EmsCoreContext implements ApplicationListener<ContextRefreshedEvent
|
||||
dispatchPostWebServerConstruct(multiDBTransactionManager);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("EmsCoreContext.onPostDBLoaded", e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package it.integry.ems.menu.service;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement;
|
||||
import it.integry.annotations.PostContextAutowired;
|
||||
import it.integry.annotations.PostContextConstruct;
|
||||
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.utility.UtilityDebug;
|
||||
import it.integry.ems.utility.UtilityDirs;
|
||||
import it.integry.ems_model.entity.Azienda;
|
||||
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.entity.*;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityLocalDate;
|
||||
@@ -68,6 +66,8 @@ public class MenuConfigurationService {
|
||||
throw ex;
|
||||
}
|
||||
}
|
||||
|
||||
logger.debug(MenuConfigurationService.class.getSimpleName() + ": Fine refresh menu");
|
||||
}
|
||||
|
||||
private boolean isHistoryDB(AdvancedDataSource advancedDataSource) throws Exception {
|
||||
@@ -103,10 +103,30 @@ public class MenuConfigurationService {
|
||||
"DELETE FROM stb_tipo_azienda",
|
||||
"DELETE FROM stb_menu_opz");
|
||||
|
||||
for (StbMenuOpzDTO stbMenuOpzDto : menuConfig.getStbMenuOpz()) {
|
||||
StbMenuOpz stbMenuOpz = stbMenuOpzDto.toEntity();
|
||||
stbMenuOpz.setOperation(OperationType.INSERT);
|
||||
stbMenuOpz.manageWithParentConnection(connection);
|
||||
String insertStbMenuOpzSQL = "INSERT INTO " + StbMenuOpz.ENTITY + " (cod_opz, " +
|
||||
"descrizione, gest_name, entity_name, picture_menu, picture_select, object_type, flag_printer_setup, parameter, note, open_type, is_deprecated)" +
|
||||
" VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
|
||||
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()) {
|
||||
@@ -119,12 +139,39 @@ public class MenuConfigurationService {
|
||||
|
||||
if (stbMenus == null)
|
||||
logger.error("Nessuna configurazione trovata per il menu " + azienda.getTipoAzienda() + " di " + azienda.getNomeDitta());
|
||||
else
|
||||
for (StbMenuDTO stbMenuDto : stbMenus) {
|
||||
StbMenu stbMenu = stbMenuDto.toEntity();
|
||||
stbMenu.setOperation(OperationType.INSERT);
|
||||
stbMenu.manageWithParentConnection(connection);
|
||||
else {
|
||||
String insertStbMenuSql = "INSERT INTO " + StbMenu.ENTITY + " (cod_opz, descrizione, cod_parent, pos, tipo_azienda, flag_attivo, url_descrizione, " +
|
||||
"pos_tipo_azienda, pos_cliente, descrizione_estesa) " +
|
||||
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
|
||||
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 )",
|
||||
|
||||
@@ -26,7 +26,7 @@ import java.util.List;
|
||||
|
||||
@Service
|
||||
@Scope("request")
|
||||
public class MultiDBTransactionManager implements AutoCloseable{
|
||||
public class MultiDBTransactionManager implements AutoCloseable {
|
||||
|
||||
private final static Logger logger = LogManager.getLogger();
|
||||
|
||||
@@ -248,19 +248,20 @@ public class MultiDBTransactionManager implements AutoCloseable{
|
||||
}
|
||||
|
||||
public void closeAll() throws Exception {
|
||||
for (AdvancedDataSource advancedDataSource : dbDatasources) {
|
||||
if (!advancedDataSource.isClosed()) {
|
||||
if (requestData != null && requestData.getRequestURI() != null) {
|
||||
String methodName = " [" + requestData.getRequestURI() + "]";
|
||||
if (shouldPrintLog(requestData.getRequestURI()))
|
||||
logger.debug("Closing automatically: " + advancedDataSource.getDataSource().getProfile() + " (#" + advancedDataSource.getDataSource().getSessionID() + ")" + methodName);
|
||||
} else if (enableLog) {
|
||||
logger.debug("Closing manually: " + advancedDataSource.getDataSource().getProfile() + " (#" + advancedDataSource.getDataSource().getSessionID() + ")");
|
||||
if (dbDatasources != null && !dbDatasources.isEmpty())
|
||||
for (AdvancedDataSource advancedDataSource : dbDatasources) {
|
||||
if (!advancedDataSource.isClosed()) {
|
||||
if (requestData != null && requestData.getRequestURI() != null) {
|
||||
String methodName = " [" + requestData.getRequestURI() + "]";
|
||||
if (shouldPrintLog(requestData.getRequestURI()))
|
||||
logger.debug("Closing automatically: " + advancedDataSource.getDataSource().getProfile() + " (#" + advancedDataSource.getDataSource().getSessionID() + ")" + methodName);
|
||||
} 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 com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import javax.persistence.Id;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
@PropertyReactive
|
||||
@@ -27,7 +28,7 @@ public class MtbColrInfoProd extends EntityBase {
|
||||
|
||||
@ImportFromParent
|
||||
@SqlField(value = "data_collo")
|
||||
private Date dataCollo;
|
||||
private LocalDate dataCollo;
|
||||
|
||||
@ImportFromParent
|
||||
@SqlField(value = "gestione")
|
||||
@@ -57,11 +58,11 @@ public class MtbColrInfoProd extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataCollo() {
|
||||
public LocalDate getDataCollo() {
|
||||
return dataCollo;
|
||||
}
|
||||
|
||||
public MtbColrInfoProd setDataCollo(Date dataCollo) {
|
||||
public MtbColrInfoProd setDataCollo(LocalDate dataCollo) {
|
||||
this.dataCollo = dataCollo;
|
||||
return this;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user