This commit is contained in:
2
.idea/dataSources.xml
generated
2
.idea/dataSources.xml
generated
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||||
<data-source source="LOCAL" name="@SERVERDB2019" uuid="ff4f0bad-7271-429e-a4e1-bae28629efc8">
|
<data-source source="LOCAL" name="Biolevante" uuid="ff4f0bad-7271-429e-a4e1-bae28629efc8">
|
||||||
<driver-ref>sqlserver.ms</driver-ref>
|
<driver-ref>sqlserver.ms</driver-ref>
|
||||||
<synchronize>true</synchronize>
|
<synchronize>true</synchronize>
|
||||||
<jdbc-driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</jdbc-driver>
|
<jdbc-driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</jdbc-driver>
|
||||||
|
|||||||
@@ -10,12 +10,29 @@ pipeline {
|
|||||||
stage('PreBuild Steps (Master)') {
|
stage('PreBuild Steps (Master)') {
|
||||||
when {
|
when {
|
||||||
expression {
|
expression {
|
||||||
return env.GIT_BRANCH == "master"
|
return env.GIT_BRANCH == "master" || env.GIT_BRANCH == "feature/RefactoringGestioneColli"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
echo "Creo version tag su Git"
|
echo "Creo version tag su Git"
|
||||||
bat 'build\\create_build_tag.bat'
|
script {
|
||||||
|
def date = new Date()
|
||||||
|
def formattedDate = date.format('yyyyMMdd_HHmm')
|
||||||
|
|
||||||
|
def tagName = "${env.GIT_BRANCH.toLowerCase().replace('/', '-')}-${formattedDate}"
|
||||||
|
def tagMessage = "Build #${env.BUILD_NUMBER} - ${env.GIT_BRANCH}"
|
||||||
|
|
||||||
|
def envPropertiesText = "project.version=${formattedDate}"
|
||||||
|
|
||||||
|
writeFile(
|
||||||
|
'file': 'ems-core\\src\\main\\resources\\configs\\env.properties',
|
||||||
|
'text': envPropertiesText
|
||||||
|
)
|
||||||
|
|
||||||
|
bat "git add . -A"
|
||||||
|
bat "git tag -a ${tagName} -m \"${tagMessage}\""
|
||||||
|
bat "git push origin ${tagName}"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage('Maven Build') {
|
stage('Maven Build') {
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
REM SET YEAR
|
|
||||||
set YEAR=%date:~6,4%
|
|
||||||
|
|
||||||
REM SET MONTH
|
|
||||||
set MONTH=%date:~3,2%
|
|
||||||
if %MONTH% LSS 10 set MONTH=%MONTH:~1,2%
|
|
||||||
if %MONTH% LSS 10 set MONTH=0%MONTH%
|
|
||||||
|
|
||||||
REM SET DAY
|
|
||||||
set DAY=%date:~0,2%
|
|
||||||
if %DAY% LSS 10 set DAY=%DAY:~1,2%
|
|
||||||
if %DAY% LSS 10 set DAY=0%DAY%
|
|
||||||
|
|
||||||
REM SET HOUR
|
|
||||||
set HOUR=%time:~0,2%
|
|
||||||
if %HOUR% LSS 10 set HOUR=%HOUR:~1,2%
|
|
||||||
if %HOUR% LSS 10 set HOUR=0%HOUR%
|
|
||||||
|
|
||||||
REM SET MINUTE
|
|
||||||
set MINUTE=%time:~3,2%
|
|
||||||
if %MINUTE% LSS 10 set MINUTE=%MINUTE:~1,2%
|
|
||||||
if %MINUTE% LSS 10 set MINUTE=0%MINUTE%
|
|
||||||
|
|
||||||
REM SET SECOND
|
|
||||||
set SECOND=%time:~6,2%
|
|
||||||
if %SECOND% LSS 10 set SECOND=%SECOND:~1,2%
|
|
||||||
if %SECOND% LSS 10 set SECOND=0%SECOND%
|
|
||||||
|
|
||||||
set mydate=%YEAR%%MONTH%%DAY%_%HOUR%%MINUTE%%SECOND%
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo #spring.profiles.active=@activatedProperties@ > ems-core\src\main\resources\configs\env.properties
|
|
||||||
echo project.version=%mydate% >> ems-core\src\main\resources\configs\env.properties
|
|
||||||
|
|
||||||
|
|
||||||
git add . -A
|
|
||||||
git commit -m "%mydate%"
|
|
||||||
git tag "%mydate%"
|
|
||||||
|
|
||||||
|
|
||||||
git push https://git.studioml.it/Integry/IntegryManagementSystem.git --tags
|
|
||||||
git push https://git.studioml.it/Integry/IntegryManagementSystem.git --all
|
|
||||||
@@ -24,7 +24,9 @@ public enum EntityImportType {
|
|||||||
MOVIMENTI_CONTABILI("MOVIMENTI CONTABILI"),
|
MOVIMENTI_CONTABILI("MOVIMENTI CONTABILI"),
|
||||||
GRIGLIA_VENDITA("GRIGLIA VENDITA"),
|
GRIGLIA_VENDITA("GRIGLIA VENDITA"),
|
||||||
GRIGLIA_ACQUISTO("GRIGLIA ACQUISTO"),
|
GRIGLIA_ACQUISTO("GRIGLIA ACQUISTO"),
|
||||||
SCADENZE("SCADENZE");
|
SCADENZE("SCADENZE"),
|
||||||
|
BILANCE("BILANCE"),
|
||||||
|
BANCA("BANCA");
|
||||||
|
|
||||||
private String text;
|
private String text;
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,10 @@ package it.integry.ems._context;
|
|||||||
|
|
||||||
import it.integry.annotations.PostContextConstruct;
|
import it.integry.annotations.PostContextConstruct;
|
||||||
import it.integry.common.var.EmsDBConst;
|
import it.integry.common.var.EmsDBConst;
|
||||||
import it.integry.ems.datasource.DataSource;
|
|
||||||
import it.integry.ems.expansion.RunnableArgsThrowable;
|
import it.integry.ems.expansion.RunnableArgsThrowable;
|
||||||
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
||||||
import it.integry.ems.settings.Model.SettingsModel;
|
import it.integry.ems.settings.Model.SettingsModel;
|
||||||
import it.integry.ems.settings.SettingsController;
|
import it.integry.ems.settings.SettingsController;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
|
|
||||||
import it.integry.ems.sync.MultiDBTransaction.BasicConnectionPool;
|
import it.integry.ems.sync.MultiDBTransaction.BasicConnectionPool;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||||
@@ -58,6 +56,7 @@ public class EmsCoreDBLoader {
|
|||||||
public void init() throws Exception {
|
public void init() throws Exception {
|
||||||
this.settingsController.addOnConfigUpdated(() -> {
|
this.settingsController.addOnConfigUpdated(() -> {
|
||||||
try {
|
try {
|
||||||
|
connectionPool.init();
|
||||||
load(null);
|
load(null);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
@@ -66,8 +65,6 @@ public class EmsCoreDBLoader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void load(final RunnableArgsThrowable<MultiDBTransactionManager> onComplete) throws Exception {
|
public void load(final RunnableArgsThrowable<MultiDBTransactionManager> onComplete) throws Exception {
|
||||||
connectionPool.init();
|
|
||||||
|
|
||||||
taskExecutorService.executeTask(() -> {
|
taskExecutorService.executeTask(() -> {
|
||||||
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionPool)){
|
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionPool)){
|
||||||
discoverAllConnections(multiDBTransactionManager);
|
discoverAllConnections(multiDBTransactionManager);
|
||||||
@@ -92,12 +89,11 @@ public class EmsCoreDBLoader {
|
|||||||
|
|
||||||
futureTasks.add(() -> {
|
futureTasks.add(() -> {
|
||||||
try {
|
try {
|
||||||
final DataSource ds = connectionPool.getConnection(modelAtomicReference.get().getProfileName());
|
Connection connection = connectionPool.getConnection(modelAtomicReference.get());
|
||||||
|
|
||||||
String sql = "SELECT db_distributore FROM azienda";
|
String sql = "SELECT db_distributore FROM azienda";
|
||||||
String dbDistributore = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(ds.getConnection(), sql);
|
String dbDistributore = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||||
|
|
||||||
multiDBTransactionManager.addConnection(modelAtomicReference.get().getProfileName(), ds, modelAtomicReference.get().getDbName().equalsIgnoreCase(dbDistributore));
|
multiDBTransactionManager.addConnection(connection, modelAtomicReference.get().getDbName().equalsIgnoreCase(dbDistributore));
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
@@ -113,13 +109,11 @@ public class EmsCoreDBLoader {
|
|||||||
|
|
||||||
ArrayList<Callable<Void>> futureTasks = new ArrayList<>();
|
ArrayList<Callable<Void>> futureTasks = new ArrayList<>();
|
||||||
|
|
||||||
for (final AdvancedDataSource advancedDataSource : multiDBTransactionManager.getActiveConnections()) {
|
for (final Connection connection : multiDBTransactionManager.getActiveConnections()) {
|
||||||
AtomicReference<AdvancedDataSource> atomicAdvancedDataSource = new AtomicReference<>(advancedDataSource);
|
|
||||||
|
|
||||||
futureTasks.add(() -> {
|
futureTasks.add(() -> {
|
||||||
Connection conn = atomicAdvancedDataSource.get().getConnection();
|
Azienda azienda = Azienda.getDefaultAzienda(connection);
|
||||||
Azienda azienda = Azienda.getDefaultAzienda(conn);
|
String dbName = connection.getDbName();
|
||||||
String dbName = atomicAdvancedDataSource.get().getDataSource().getDbName();
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (azienda != null) {
|
if (azienda != null) {
|
||||||
@@ -131,7 +125,7 @@ public class EmsCoreDBLoader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
HashMap<String, String> gestSetupValues =
|
HashMap<String, String> gestSetupValues =
|
||||||
setupGest.getSetupSection(conn, "DATI_AZIENDA", "FATTURAZIONE_ELETTRONICA");
|
setupGest.getSetupSection(connection, "DATI_AZIENDA", "FATTURAZIONE_ELETTRONICA");
|
||||||
|
|
||||||
emsDBConst.getConsts(dbName)
|
emsDBConst.getConsts(dbName)
|
||||||
.setApplicationDbName(applicationDbName)
|
.setApplicationDbName(applicationDbName)
|
||||||
@@ -142,7 +136,7 @@ public class EmsCoreDBLoader {
|
|||||||
throw new Exception("Non è stato possibile leggere i dati dalla tabella azienda");
|
throw new Exception("Non è stato possibile leggere i dati dalla tabella azienda");
|
||||||
}
|
}
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
throw new Exception("[" + atomicAdvancedDataSource.get().getProfileName() + "] " + ex.getMessage(), ex.getCause());
|
throw new Exception("[" + connection.getProfileName() + "] " + ex.getMessage(), ex.getCause());
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -70,8 +70,8 @@ import java.math.BigDecimal;
|
|||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -227,7 +227,7 @@ public class EmsController {
|
|||||||
response = new ServiceRestResponse(EsitoType.OK);
|
response = new ServiceRestResponse(EsitoType.OK);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
response = new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryDatasource().getProfile(), new Exception("Il contenuto del file non è valido"));
|
response = new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryConnection().getProfileName(), new Exception("Il contenuto del file non è valido"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -298,11 +298,11 @@ public class EmsController {
|
|||||||
sql = sql.replaceAll("select", "select TOP " + numResult + " ");
|
sql = sql.replaceAll("select", "select TOP " + numResult + " ");
|
||||||
sql = sql.replaceAll("SELECT", "SELECT TOP " + numResult + " ");
|
sql = sql.replaceAll("SELECT", "SELECT TOP " + numResult + " ");
|
||||||
}
|
}
|
||||||
objs = entityProcessor.selectRawData(sql, multiDBTransactionManager.getPrimaryDatasource());
|
objs = entityProcessor.selectRawData(sql, multiDBTransactionManager.getPrimaryConnection());
|
||||||
response = new ServiceRestResponse(EsitoType.OK, objs);
|
response = new ServiceRestResponse(EsitoType.OK, objs);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error(request.getRequestURI(), e);
|
logger.error(request.getRequestURI(), e);
|
||||||
response = new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryDatasource().getProfile(), e);
|
response = new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryConnection().getProfileName(), e);
|
||||||
}
|
}
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
@@ -339,7 +339,7 @@ public class EmsController {
|
|||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error(request.getRequestURI(), e);
|
logger.error(request.getRequestURI(), e);
|
||||||
response = new ServiceRestResponse(EsitoType.KO, e, multiDBTransactionManager.getPrimaryDatasource().getProfile(), entity);
|
response = new ServiceRestResponse(EsitoType.KO, e, multiDBTransactionManager.getPrimaryConnection().getProfileName(), entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entity.getOperation() == OperationType.SELECT_OBJECT) {
|
if (entity.getOperation() == OperationType.SELECT_OBJECT) {
|
||||||
@@ -386,7 +386,7 @@ public class EmsController {
|
|||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error(request.getRequestURI(), e);
|
logger.error(request.getRequestURI(), e);
|
||||||
response = new ServiceRestResponse(EsitoType.KO, e, multiDBTransactionManager.getPrimaryDatasource().getProfile(), entity);
|
response = new ServiceRestResponse(EsitoType.KO, e, multiDBTransactionManager.getPrimaryConnection().getProfileName(), entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entity.getOperation() == OperationType.SELECT_OBJECT) {
|
if (entity.getOperation() == OperationType.SELECT_OBJECT) {
|
||||||
@@ -483,7 +483,7 @@ public class EmsController {
|
|||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error(request.getRequestURI(), e);
|
logger.error(request.getRequestURI(), e);
|
||||||
response = new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryDatasource().getProfile(), e);
|
response = new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryConnection().getProfileName(), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
@@ -687,7 +687,7 @@ public class EmsController {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
logger.error(request.getRequestURI(), e);
|
logger.error(request.getRequestURI(), e);
|
||||||
response = new ServiceRestResponse(EsitoType.KO, e, multiDBTransactionManager.getPrimaryDatasource().getProfile(), entity);
|
response = new ServiceRestResponse(EsitoType.KO, e, multiDBTransactionManager.getPrimaryConnection().getProfileName(), entity);
|
||||||
responseList.add(response);
|
responseList.add(response);
|
||||||
if (forceTransaction) {
|
if (forceTransaction) {
|
||||||
break;
|
break;
|
||||||
@@ -700,16 +700,6 @@ public class EmsController {
|
|||||||
logger.error(request.getRequestURI(), e);
|
logger.error(request.getRequestURI(), e);
|
||||||
ServiceRestResponse response = new ServiceRestResponse(EsitoType.KO, configuration, e);
|
ServiceRestResponse response = new ServiceRestResponse(EsitoType.KO, configuration, e);
|
||||||
responseList.add(response);
|
responseList.add(response);
|
||||||
} finally {
|
|
||||||
if (multiDBTransactionManager != null) {
|
|
||||||
try {
|
|
||||||
multiDBTransactionManager.closeAll();
|
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error(request.getRequestURI(), e);
|
|
||||||
ServiceRestResponse response = new ServiceRestResponse(EsitoType.KO, configuration, e);
|
|
||||||
responseList.add(response);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return responseList;
|
return responseList;
|
||||||
@@ -1171,7 +1161,7 @@ public class EmsController {
|
|||||||
return ServiceRestResponse.createPositiveResponse();
|
return ServiceRestResponse.createPositiveResponse();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error(e.getMessage(), e);
|
logger.error(e.getMessage(), e);
|
||||||
return new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryDatasource().getProfile(), e);
|
return new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryConnection().getProfileName(), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1190,7 +1180,7 @@ public class EmsController {
|
|||||||
return ServiceRestResponse.createPositiveResponse(mapping);
|
return ServiceRestResponse.createPositiveResponse(mapping);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error(e.getMessage(), e);
|
logger.error(e.getMessage(), e);
|
||||||
return new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryDatasource().getProfile(), e);
|
return new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryConnection().getProfileName(), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1202,7 +1192,7 @@ public class EmsController {
|
|||||||
return ServiceRestResponse.createPositiveResponse(historyProfileDb);
|
return ServiceRestResponse.createPositiveResponse(historyProfileDb);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error(e.getMessage(), e);
|
logger.error(e.getMessage(), e);
|
||||||
return new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryDatasource().getProfile(), e);
|
return new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryConnection().getProfileName(), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1219,7 +1209,7 @@ public class EmsController {
|
|||||||
return ServiceRestResponse.createPositiveResponse(entityFields);
|
return ServiceRestResponse.createPositiveResponse(entityFields);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error(e.getMessage(), e);
|
logger.error(e.getMessage(), e);
|
||||||
return new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryDatasource().getProfile(), e);
|
return new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryConnection().getProfileName(), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,44 +0,0 @@
|
|||||||
package it.integry.ems.controller;
|
|
||||||
|
|
||||||
import it.integry.ems.response.ServiceRestResponse;
|
|
||||||
import it.integry.ems.service.MapService;
|
|
||||||
import it.integry.ems_model.config.EmsRestConstants;
|
|
||||||
import it.integry.ems_model.types.LatLng;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.context.annotation.Scope;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
|
|
||||||
|
|
||||||
@RestController
|
|
||||||
@Scope("request")
|
|
||||||
public class MapController {
|
|
||||||
|
|
||||||
|
|
||||||
private final Logger logger = LogManager.getLogger();
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private MapService mapService;
|
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping(value = EmsRestConstants.PATH_MAP_GETCOORDINATE_BY_CITY, method = RequestMethod.GET)
|
|
||||||
public @ResponseBody
|
|
||||||
ServiceRestResponse getCoordinateByCity(HttpServletRequest request,
|
|
||||||
@RequestParam String cityName) {
|
|
||||||
ServiceRestResponse resp;
|
|
||||||
try {
|
|
||||||
LatLng coordinates = mapService.getCoordinateByCity(cityName);
|
|
||||||
resp = ServiceRestResponse.createPositiveResponse(coordinates);
|
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error(request.getRequestURI(), e);
|
|
||||||
resp = ServiceRestResponse.createNegativeResponse();
|
|
||||||
}
|
|
||||||
|
|
||||||
return resp;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -3,76 +3,51 @@ package it.integry.ems.datasource;
|
|||||||
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
||||||
import it.integry.ems.settings.Model.SettingsModel;
|
import it.integry.ems.settings.Model.SettingsModel;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||||
|
import it.integry.ems.utility.UtilityDebug;
|
||||||
import it.integry.ems_model.config.EmsRestConstants;
|
import it.integry.ems_model.config.EmsRestConstants;
|
||||||
import it.integry.ems_model.utility.UtilityDB;
|
import it.integry.ems_model.utility.UtilityDB;
|
||||||
import it.integry.ems_model.utility.UtilityHashMap;
|
import it.integry.ems_model.utility.UtilityHashMap;
|
||||||
import it.integry.ems_model.utility.UtilityString;
|
import it.integry.ems_model.utility.UtilityString;
|
||||||
import org.springframework.context.annotation.Scope;
|
import org.apache.commons.dbcp2.BasicDataSource;
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.sql.DriverManager;
|
|
||||||
import java.sql.PreparedStatement;
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
public class DataSource extends BasicDataSource {
|
||||||
@Scope(value = "request")
|
|
||||||
public class DataSource {
|
|
||||||
|
|
||||||
private AvailableConnectionsModel connectionModel;
|
private AvailableConnectionsModel connectionModel;
|
||||||
|
|
||||||
|
/**
|
||||||
private String profile;
|
* Instanzia un nuovo datasource.
|
||||||
private Short sessionID;
|
*
|
||||||
private Connection connection = null;
|
* @deprecated Il datasource non deve essere istanziato direttamente ma bisogna utilizzare il metodo
|
||||||
private String applicationName;
|
* {@link it.integry.ems.sync.MultiDBTransaction.BasicConnectionPool#getConnection(AvailableConnectionsModel)} per ottenere una connessione.
|
||||||
|
*/
|
||||||
public String getDbName() {
|
@Deprecated
|
||||||
return connectionModel.getDbName();
|
public DataSource() {
|
||||||
}
|
super();
|
||||||
|
|
||||||
public String getProfile() {
|
|
||||||
return profile;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EmsRestConstants.DB_TYPE getTypeDB() {
|
public EmsRestConstants.DB_TYPE getTypeDB() {
|
||||||
return connectionModel.getConnectionType();
|
return connectionModel.getConnectionType();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getApplicationName() {
|
/**
|
||||||
return applicationName;
|
* Ottiene una connessione dal pool. La connessione è wrappata in it.integry.ems.sync.MultiDBTransaction.Connection.
|
||||||
}
|
* È responsabilità del chiamante chiudere la connessione per restituirla al pool.
|
||||||
|
*
|
||||||
|
* @return una connessione dal pool
|
||||||
|
* @throws SQLException se si verifica un errore di accesso al database
|
||||||
|
*/
|
||||||
|
|
||||||
public int getSessionID() {
|
public Connection getConnection() throws SQLException {
|
||||||
return sessionID;
|
// Restituisce una nuova connessione dal pool di BasicDataSource, wrappata nel nostro tipo Connection
|
||||||
}
|
final Connection connection = Connection.fromConnection(super.getConnection());
|
||||||
|
// Prova a ottenere una connessione per verificare la configurazione e ottenere il sessionID
|
||||||
public synchronized Connection getConnection() throws IOException, SQLException {
|
|
||||||
return connection;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isClosed() throws SQLException {
|
|
||||||
return !(connection != null && !connection.isClosed());
|
|
||||||
}
|
|
||||||
|
|
||||||
private void init(String applicationName) throws SQLException, IOException {
|
|
||||||
this.applicationName = applicationName;
|
|
||||||
|
|
||||||
connection = Connection.fromConnection(
|
|
||||||
DriverManager.getConnection(connectionModel.getDbConnectionString(applicationName), connectionModel.getUsername(), connectionModel.getPasswordDecrypted())
|
|
||||||
);
|
|
||||||
connection.setTransactionIsolation(java.sql.Connection.TRANSACTION_READ_UNCOMMITTED);
|
|
||||||
connection.setAutoCommit(false);
|
|
||||||
|
|
||||||
if (connectionModel.getConnectionType() == EmsRestConstants.DB_TYPE.MSSQL) {
|
if (connectionModel.getConnectionType() == EmsRestConstants.DB_TYPE.MSSQL) {
|
||||||
try (final PreparedStatement setNocountOn = connection.prepareStatement("SET NOCOUNT ON")) {
|
HashMap<String, Object> resultSessionData = UtilityDB.executeSimpleQueryOnlyFirstRow(connection, "select CAST(@@spid AS BIGINT) AS session_id," +
|
||||||
boolean resultNoCount = setNocountOn.execute();
|
|
||||||
}
|
|
||||||
|
|
||||||
HashMap<String, Object> resultSessionData = UtilityDB.executeSimpleQueryOnlyFirstRow(connection, "select @@spid AS session_id," +
|
|
||||||
" user_name() AS [user_name]," +
|
" user_name() AS [user_name]," +
|
||||||
" suser_name() AS [suser_name]," +
|
" suser_name() AS [suser_name]," +
|
||||||
" current_user AS [current_user]," +
|
" current_user AS [current_user]," +
|
||||||
@@ -80,32 +55,109 @@ public class DataSource {
|
|||||||
" session_user AS [session_user]," +
|
" session_user AS [session_user]," +
|
||||||
" user AS [user]");
|
" user AS [user]");
|
||||||
|
|
||||||
this.sessionID = UtilityHashMap.getValueIfExists(resultSessionData, "session_id");
|
connection.setSessionId(UtilityHashMap.getValueIfExists(resultSessionData, "session_id"));
|
||||||
|
}
|
||||||
|
|
||||||
|
connection.setProfileName(connectionModel.getProfileName())
|
||||||
|
.setInternalDb(connectionModel.getInternalDb());
|
||||||
|
|
||||||
|
return connection;
|
||||||
|
}
|
||||||
|
|
||||||
|
public synchronized void initialize(AvailableConnectionsModel connectionModel) throws Exception {
|
||||||
|
this.connectionModel = connectionModel;
|
||||||
|
|
||||||
|
this.setDriverClassName(connectionModel.getDriverClassName());
|
||||||
|
|
||||||
|
this.setUrl(connectionModel.getDbConnectionString("EMS Connection"));
|
||||||
|
this.setUsername(connectionModel.getUsername());
|
||||||
|
this.setPassword(connectionModel.getPasswordDecrypted());
|
||||||
|
|
||||||
|
this.setDefaultTransactionIsolation(java.sql.Connection.TRANSACTION_READ_UNCOMMITTED);
|
||||||
|
this.setDefaultAutoCommit(false);
|
||||||
|
|
||||||
|
// ===== OTTIMIZZAZIONI CRITICHE =====
|
||||||
|
|
||||||
|
// Pool sizing ottimizzato per READ_UNCOMMITTED (meno locking = più connessioni possibili)
|
||||||
|
this.setInitialSize(5); // Inizia con più connessioni
|
||||||
|
this.setMaxTotal(20); // Aumentato il massimo
|
||||||
|
this.setMaxIdle(15); // Mantieni più connessioni idle
|
||||||
|
this.setMinIdle(5); // Non scendere sotto 5
|
||||||
|
|
||||||
|
// Timeout ottimizzati per performance massime
|
||||||
|
this.setMaxWaitMillis(2000); // Ridotto a 2 secondi
|
||||||
|
|
||||||
|
// Validazione veloce ed efficiente
|
||||||
|
this.setValidationQuery("SELECT 1");
|
||||||
|
this.setValidationQueryTimeout(1); // Ridotto a 1 secondo
|
||||||
|
this.setTestOnBorrow(true); // Testa quando prendi la connessione
|
||||||
|
this.setTestOnReturn(false); // Non testare quando restituisci (performance)
|
||||||
|
this.setTestWhileIdle(true); // Testa connessioni idle
|
||||||
|
|
||||||
|
// Eviction ottimizzata per READ_UNCOMMITTED
|
||||||
|
this.setTimeBetweenEvictionRunsMillis(30000); // Ogni 30 secondi
|
||||||
|
this.setMinEvictableIdleTimeMillis(180000); // 3 minuti (ridotto da 5)
|
||||||
|
this.setNumTestsPerEvictionRun(5); // Testa più connessioni per volta
|
||||||
|
|
||||||
|
// Connection leak protection
|
||||||
|
this.setRemoveAbandonedOnBorrow(true);
|
||||||
|
this.setRemoveAbandonedOnMaintenance(true);
|
||||||
|
this.setRemoveAbandonedTimeout(60 * 10); // 60 secondi
|
||||||
|
this.setLogAbandoned(UtilityDebug.isDebugExecution()); // Disabilita in produzione per performance
|
||||||
|
|
||||||
|
// Performance boosts massimi
|
||||||
|
this.setPoolPreparedStatements(true);
|
||||||
|
this.setMaxOpenPreparedStatements(200); // Aumentato da 100
|
||||||
|
this.setCacheState(true);
|
||||||
|
this.setFastFailValidation(true);
|
||||||
|
|
||||||
|
// Ottimizzazioni specifiche per SQL Server con READ_UNCOMMITTED
|
||||||
|
if (connectionModel.getConnectionType() == EmsRestConstants.DB_TYPE.MSSQL) {
|
||||||
|
// Impostazioni connection specifiche per SQL Server
|
||||||
|
//this.setConnectionInitSqls(java.util.Arrays.asList(
|
||||||
|
//"SET NOCOUNT ON",
|
||||||
|
//"SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED",
|
||||||
|
//"SET ARITHABORT ON"
|
||||||
|
//));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Logging ottimizzato (disabilita in produzione)
|
||||||
|
this.setLogExpiredConnections(UtilityDebug.isDebugExecution());
|
||||||
|
this.setAccessToUnderlyingConnectionAllowed(true); // Per performance avanzate
|
||||||
|
|
||||||
|
// ==================== ULTERIORI OTTIMIZZAZIONI ====================
|
||||||
|
|
||||||
|
// Connection properties specifiche per performance
|
||||||
|
this.setDefaultReadOnly(false);
|
||||||
|
this.setDefaultCatalog(null); // Lascia che sia il driver a gestire
|
||||||
|
|
||||||
|
// Ottimizzazioni DBCP2 avanzate
|
||||||
|
this.setLifo(false); // FIFO per distribuzione equa delle connessioni
|
||||||
|
this.setSoftMinEvictableIdleTimeMillis(120000); // 2 minuti soft eviction
|
||||||
|
|
||||||
|
|
||||||
|
if (!connectionModel.getInternalDb() ||
|
||||||
|
UtilityDebug.isDebugExecution() ||
|
||||||
|
UtilityDebug.isIntegryServerDev() ||
|
||||||
|
!SettingsModel.getInstance().isPrimaryInstance()) {
|
||||||
|
this.setInitialSize(0);
|
||||||
|
this.setMaxTotal(2);
|
||||||
|
this.setMinIdle(0);
|
||||||
|
this.setMaxIdle(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@PreDestroy
|
public synchronized void initialize(String profileDB, String connectionName) throws Exception {
|
||||||
private void destroy() throws SQLException {
|
|
||||||
forceClose();
|
|
||||||
}
|
|
||||||
|
|
||||||
public synchronized void initialize(String profileDB, String connectionName, boolean autoOpenConnection) throws Exception {
|
|
||||||
if (UtilityString.isNullOrEmpty(profileDB)) {
|
if (UtilityString.isNullOrEmpty(profileDB)) {
|
||||||
throw new Exception("Profile DB non valorizzato - controllare la chiamata del servizio");
|
throw new Exception("Profile DB non valorizzato - controllare la chiamata del servizio");
|
||||||
}
|
}
|
||||||
|
|
||||||
this.profile = profileDB;
|
|
||||||
this.sessionID = -1;
|
|
||||||
|
|
||||||
|
|
||||||
AvailableConnectionsModel connectionModel = null;
|
AvailableConnectionsModel connectionModel = null;
|
||||||
List<AvailableConnectionsModel> availableConnectionsModels = SettingsModel.getInstance().getAvailableConnections();
|
List<AvailableConnectionsModel> availableConnectionsModels = SettingsModel.getInstance().getAvailableConnectionsWithoutDuplicatedProfiles(false);
|
||||||
|
|
||||||
if (!UtilityString.isNullOrEmpty(profileDB)) {
|
for (AvailableConnectionsModel connectionsModel : availableConnectionsModels) {
|
||||||
for (AvailableConnectionsModel connectionsModel : availableConnectionsModels) {
|
if (connectionsModel.getProfileName().equalsIgnoreCase(profileDB)) {
|
||||||
if (connectionsModel.getProfileName().equalsIgnoreCase(profileDB)) {
|
connectionModel = connectionsModel;
|
||||||
connectionModel = connectionsModel;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,28 +165,11 @@ public class DataSource {
|
|||||||
throw new Exception(String.format("Configurazione DB non trovata o dati mancanti (%s)", profileDB));
|
throw new Exception(String.format("Configurazione DB non trovata o dati mancanti (%s)", profileDB));
|
||||||
}
|
}
|
||||||
|
|
||||||
this.connectionModel = connectionModel;
|
initialize(connectionModel);
|
||||||
|
|
||||||
if (autoOpenConnection) {
|
|
||||||
init(connectionName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public synchronized void initialize(String profileDB, boolean autoOpenConnection) throws Exception {
|
|
||||||
initialize(profileDB, "EMS Connection", autoOpenConnection);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized void initialize(String profileDB) throws Exception {
|
public synchronized void initialize(String profileDB) throws Exception {
|
||||||
initialize(profileDB, "EMS Connection", true);
|
initialize(profileDB, "EMS Connection");
|
||||||
}
|
|
||||||
|
|
||||||
public void forceClose() throws SQLException {
|
|
||||||
if (connection != null) {
|
|
||||||
synchronized (connection) {
|
|
||||||
connection.close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -35,12 +35,12 @@ import java.util.TimerTask;
|
|||||||
|
|
||||||
public class EmailWatcherListener extends TimerTask {
|
public class EmailWatcherListener extends TimerTask {
|
||||||
|
|
||||||
private Logger logger = LogManager.getLogger();
|
private final Logger logger = LogManager.getLogger();
|
||||||
|
|
||||||
private EmailListenerInfo emailListenerInfo;
|
private final EmailListenerInfo emailListenerInfo;
|
||||||
private EmsProperties prop;
|
private final EmsProperties prop;
|
||||||
private SetupGest setupGest;
|
private final SetupGest setupGest;
|
||||||
private ResponseJSONObjectMapper jsonObjectMapper;
|
private final ResponseJSONObjectMapper jsonObjectMapper;
|
||||||
|
|
||||||
public EmailWatcherListener(EmailListenerInfo emailListenerInfo, EmsProperties prop,
|
public EmailWatcherListener(EmailListenerInfo emailListenerInfo, EmsProperties prop,
|
||||||
SetupGest setupGest, ResponseJSONObjectMapper jsonObjectMapper) {
|
SetupGest setupGest, ResponseJSONObjectMapper jsonObjectMapper) {
|
||||||
@@ -88,7 +88,7 @@ public class EmailWatcherListener extends TimerTask {
|
|||||||
if (UtilityString.isNullOrEmpty(imapPort))
|
if (UtilityString.isNullOrEmpty(imapPort))
|
||||||
throw new Exception(params[0] + "/" + params[1] + "/IMAP_PORT non configurato correttamente");
|
throw new Exception(params[0] + "/" + params[1] + "/IMAP_PORT non configurato correttamente");
|
||||||
}
|
}
|
||||||
ds.forceClose();
|
ds.close();
|
||||||
if (!UtilityString.isNullOrEmpty(flagAttivo) && "S".equals(flagAttivo)) {
|
if (!UtilityString.isNullOrEmpty(flagAttivo) && "S".equals(flagAttivo)) {
|
||||||
Properties sysProperties = System.getProperties();
|
Properties sysProperties = System.getProperties();
|
||||||
Session session = Session.getDefaultInstance(sysProperties);
|
Session session = Session.getDefaultInstance(sysProperties);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.integry.ems.dto;
|
package it.integry.ems.dto.info;
|
||||||
|
|
||||||
|
|
||||||
public class ApplicationInfoDTO {
|
public class ApplicationInfoDTO {
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.integry.ems.dto;
|
package it.integry.ems.dto.info;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.integry.ems.dto;
|
package it.integry.ems.dto.info;
|
||||||
|
|
||||||
public class DatabaseInfoDTO {
|
public class DatabaseInfoDTO {
|
||||||
|
|
||||||
114
ems-core/src/main/java/it/integry/ems/dto/info/PvmInfoDTO.java
Normal file
114
ems-core/src/main/java/it/integry/ems/dto/info/PvmInfoDTO.java
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
package it.integry.ems.dto.info;
|
||||||
|
|
||||||
|
public class PvmInfoDTO {
|
||||||
|
private String phpVersion;
|
||||||
|
private String timezone;
|
||||||
|
private String imagick;
|
||||||
|
private boolean sodiumMissing;
|
||||||
|
private int maxExecutionTime;
|
||||||
|
private boolean magicQuotesGpc;
|
||||||
|
private String defaultCharset;
|
||||||
|
private String memoryLimit;
|
||||||
|
private String postMaxSize;
|
||||||
|
private String uploadMaxSize;
|
||||||
|
private int maxInputVars;
|
||||||
|
|
||||||
|
public String getPhpVersion() {
|
||||||
|
return phpVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PvmInfoDTO setPhpVersion(String phpVersion) {
|
||||||
|
this.phpVersion = phpVersion;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTimezone() {
|
||||||
|
return timezone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PvmInfoDTO setTimezone(String timezone) {
|
||||||
|
this.timezone = timezone;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getImagick() {
|
||||||
|
return imagick;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PvmInfoDTO setImagick(String imagick) {
|
||||||
|
this.imagick = imagick;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isSodiumMissing() {
|
||||||
|
return sodiumMissing;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PvmInfoDTO setSodiumMissing(boolean sodiumMissing) {
|
||||||
|
this.sodiumMissing = sodiumMissing;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getMaxExecutionTime() {
|
||||||
|
return maxExecutionTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PvmInfoDTO setMaxExecutionTime(int maxExecutionTime) {
|
||||||
|
this.maxExecutionTime = maxExecutionTime;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isMagicQuotesGpc() {
|
||||||
|
return magicQuotesGpc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PvmInfoDTO setMagicQuotesGpc(boolean magicQuotesGpc) {
|
||||||
|
this.magicQuotesGpc = magicQuotesGpc;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDefaultCharset() {
|
||||||
|
return defaultCharset;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PvmInfoDTO setDefaultCharset(String defaultCharset) {
|
||||||
|
this.defaultCharset = defaultCharset;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMemoryLimit() {
|
||||||
|
return memoryLimit;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PvmInfoDTO setMemoryLimit(String memoryLimit) {
|
||||||
|
this.memoryLimit = memoryLimit;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPostMaxSize() {
|
||||||
|
return postMaxSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PvmInfoDTO setPostMaxSize(String postMaxSize) {
|
||||||
|
this.postMaxSize = postMaxSize;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUploadMaxSize() {
|
||||||
|
return uploadMaxSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PvmInfoDTO setUploadMaxSize(String uploadMaxSize) {
|
||||||
|
this.uploadMaxSize = uploadMaxSize;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getMaxInputVars() {
|
||||||
|
return maxInputVars;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PvmInfoDTO setMaxInputVars(int maxInputVars) {
|
||||||
|
this.maxInputVars = maxInputVars;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -174,7 +174,7 @@ public abstract class BaseEntityExporter implements IEntityExporter {
|
|||||||
.map(x -> (FileItem) x)
|
.map(x -> (FileItem) x)
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
String pathFile = UtilityDirs.getDirectoryExport(multiDBTransactionManager.getPrimaryDatasource().getDbName(), type, format).getAbsolutePath();
|
String pathFile = UtilityDirs.getDirectoryExport(multiDBTransactionManager.getPrimaryConnection().getDbName(), type, format).getAbsolutePath();
|
||||||
|
|
||||||
for (FileItem file : files) {
|
for (FileItem file : files) {
|
||||||
File tempFile = new File(pathFile + File.separator + file.getFileName());
|
File tempFile = new File(pathFile + File.separator + file.getFileName());
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import it.integry.ems.response.FileItem;
|
|||||||
import it.integry.ems.service.EntityProcessor;
|
import it.integry.ems.service.EntityProcessor;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||||
import it.integry.ems_model.entity.WtbUsersInfo;
|
import it.integry.ems_model.entity.WtbUsersInfo;
|
||||||
|
import it.integry.ems_model.service.SetupGest;
|
||||||
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.UtilityResultSet;
|
import it.integry.ems_model.utility.UtilityResultSet;
|
||||||
@@ -27,8 +28,13 @@ public class ExportFromQuery {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private EntityProcessor entityProcessor;
|
private EntityProcessor entityProcessor;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SetupGest setupGest;
|
||||||
|
|
||||||
public EntityExportResponse export (String userName, String type, String format, String whereCond) throws Exception {
|
public EntityExportResponse export (String userName, String type, String format, String whereCond) throws Exception {
|
||||||
|
|
||||||
|
String query = setupGest.getExportSetup(multiDBTransactionManager.getPrimaryConnection(), type, format, "QUERY");
|
||||||
|
|
||||||
WtbUsersInfo wtbUsersInfo =
|
WtbUsersInfo wtbUsersInfo =
|
||||||
new WtbUsersInfo()
|
new WtbUsersInfo()
|
||||||
.setUserName(userName)
|
.setUserName(userName)
|
||||||
@@ -38,18 +44,20 @@ public class ExportFromQuery {
|
|||||||
|
|
||||||
entityProcessor.processEntity(wtbUsersInfo, multiDBTransactionManager);
|
entityProcessor.processEntity(wtbUsersInfo, multiDBTransactionManager);
|
||||||
|
|
||||||
String queryCustom = wtbUsersInfo.getQueryCustom();
|
if (UtilityString.isNullOrEmpty(wtbUsersInfo.getQueryCustom()) && UtilityString.isNullOrEmpty(query))
|
||||||
|
|
||||||
if (UtilityString.isNullOrEmpty(queryCustom))
|
|
||||||
throw new Exception(
|
throw new Exception(
|
||||||
String.format(
|
String.format(
|
||||||
"Query non configurata per l'utente %s tipo %s formato %s",
|
"Query non configurata per l'utente %s tipo %s formato %s o per il formato.",
|
||||||
userName, type, format));
|
userName, type, format));
|
||||||
|
|
||||||
queryCustom = UtilityDB.addwhereCond(queryCustom, whereCond, true);
|
|
||||||
|
if (UtilityString.isNullOrEmpty(wtbUsersInfo.getQueryCustom())) {
|
||||||
|
query = wtbUsersInfo.getQueryCustom();
|
||||||
|
}
|
||||||
|
query = UtilityDB.addwhereCond(query, whereCond, true);
|
||||||
PreparedStatement stm = multiDBTransactionManager
|
PreparedStatement stm = multiDBTransactionManager
|
||||||
.getPrimaryConnection()
|
.getPrimaryConnection()
|
||||||
.prepareStatement(queryCustom,
|
.prepareStatement(query,
|
||||||
ResultSet.TYPE_SCROLL_INSENSITIVE,
|
ResultSet.TYPE_SCROLL_INSENSITIVE,
|
||||||
ResultSet.CONCUR_READ_ONLY);
|
ResultSet.CONCUR_READ_ONLY);
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import it.integry.ems.response.ServiceRestResponse;
|
|||||||
import it.integry.ems.service.HttpRestWrapper;
|
import it.integry.ems.service.HttpRestWrapper;
|
||||||
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
||||||
import it.integry.ems.settings.Model.SettingsModel;
|
import it.integry.ems.settings.Model.SettingsModel;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
|
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||||
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_model.config.EmsRestConstants;
|
import it.integry.ems_model.config.EmsRestConstants;
|
||||||
@@ -82,12 +82,12 @@ public class LicenseComponent {
|
|||||||
|
|
||||||
final HashMap<String, String> listAziende = new HashMap<>();
|
final HashMap<String, String> listAziende = new HashMap<>();
|
||||||
|
|
||||||
for (AdvancedDataSource model : multiDBTransactionManager.getActiveConnections()) {
|
for (Connection connection : multiDBTransactionManager.getActiveConnections()) {
|
||||||
String sql = "SELECT part_iva FROM azienda WHERE part_iva is not null";
|
String sql = "SELECT part_iva FROM azienda WHERE part_iva is not null";
|
||||||
String partIva = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(model.getConnection(), sql);
|
String partIva = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||||
|
|
||||||
if (!UtilityString.isNullOrEmpty(partIva))
|
if (!UtilityString.isNullOrEmpty(partIva))
|
||||||
listAziende.put(model.getProfileName(), partIva);
|
listAziende.put(connection.getProfileName(), partIva);
|
||||||
}
|
}
|
||||||
|
|
||||||
String jsonBody = jsonObjectMapper.writeValueAsString(listAziende.values());
|
String jsonBody = jsonObjectMapper.writeValueAsString(listAziende.values());
|
||||||
|
|||||||
@@ -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.SQLServerConnection;
|
||||||
import com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement;
|
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;
|
||||||
@@ -11,7 +12,6 @@ import it.integry.ems.menu.dto.StbMenuOpzDTO;
|
|||||||
import it.integry.ems.menu.dto.StbTipoAziendaDTO;
|
import it.integry.ems.menu.dto.StbTipoAziendaDTO;
|
||||||
import it.integry.ems.service.MailService;
|
import it.integry.ems.service.MailService;
|
||||||
import it.integry.ems.settings.SettingsController;
|
import it.integry.ems.settings.SettingsController;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
|
|
||||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||||
import it.integry.ems.utility.UtilityDirs;
|
import it.integry.ems.utility.UtilityDirs;
|
||||||
@@ -57,17 +57,17 @@ public class MenuConfigurationService {
|
|||||||
|
|
||||||
final MenuConfigDTO menuConfig = loadMenuData();
|
final MenuConfigDTO menuConfig = loadMenuData();
|
||||||
|
|
||||||
for (AdvancedDataSource advancedDataSource : multiDBTransactionManager.getActiveConnections()) {
|
for (Connection connection : multiDBTransactionManager.getActiveConnections()) {
|
||||||
|
|
||||||
if (advancedDataSource.getDataSource().getDbName().equalsIgnoreCase("menu") || isHistoryDB(advancedDataSource))
|
if (connection.getDbName().equalsIgnoreCase("menu") || isHistoryDB(connection))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
//LocalDateTime startTime = UtilityLocalDate.getNowTime();
|
//LocalDateTime startTime = UtilityLocalDate.getNowTime();
|
||||||
internalRefresh(advancedDataSource.getConnection(), menuConfig);
|
internalRefresh(connection, menuConfig);
|
||||||
//logger.debug("Menu refresh time: " + ChronoUnit.SECONDS.between(startTime, UtilityLocalDate.getNowTime()));
|
//logger.debug("Menu refresh time: " + ChronoUnit.SECONDS.between(startTime, UtilityLocalDate.getNowTime()));
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
logger.error("Errore durante l'aggiornamento del menu di " + advancedDataSource.getProfileName(), ex);
|
logger.error("Errore durante l'aggiornamento del menu di " + connection.getProfileName(), ex);
|
||||||
throw ex;
|
throw ex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -75,9 +75,9 @@ public class MenuConfigurationService {
|
|||||||
logger.debug(MenuConfigurationService.class.getSimpleName() + ": Fine refresh menu");
|
logger.debug(MenuConfigurationService.class.getSimpleName() + ": Fine refresh menu");
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isHistoryDB(AdvancedDataSource advancedDataSource) throws Exception {
|
private boolean isHistoryDB(Connection connection) throws Exception {
|
||||||
String historyProfileDB = settingsController.getHistoryProfileDb();
|
String historyProfileDB = settingsController.getHistoryProfileDb();
|
||||||
return historyProfileDB.equalsIgnoreCase(advancedDataSource.getProfileName());
|
return historyProfileDB.equalsIgnoreCase(connection.getProfileName());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void refresh(Connection connection, boolean forceRefresh) throws Exception {
|
public void refresh(Connection connection, boolean forceRefresh) throws Exception {
|
||||||
@@ -101,6 +101,7 @@ public class MenuConfigurationService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void internalRefresh(Connection connection, MenuConfigDTO menuConfig, boolean forceRefresh) throws Exception {
|
private void internalRefresh(Connection connection, MenuConfigDTO menuConfig, boolean forceRefresh) throws Exception {
|
||||||
|
SQLServerConnection sqlServerConnection = connection.unwrap(SQLServerConnection.class);
|
||||||
final Azienda azienda = Azienda.getDefaultAzienda(connection);
|
final Azienda azienda = Azienda.getDefaultAzienda(connection);
|
||||||
|
|
||||||
if (azienda.getTipoAzienda() == null)
|
if (azienda.getTipoAzienda() == null)
|
||||||
@@ -121,7 +122,7 @@ public class MenuConfigurationService {
|
|||||||
"descrizione, gest_name, entity_name, picture_menu, picture_select, object_type, flag_printer_setup, parameter, note, open_type, is_deprecated)" +
|
"descrizione, gest_name, entity_name, picture_menu, picture_select, object_type, flag_printer_setup, parameter, note, open_type, is_deprecated)" +
|
||||||
" VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
" VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||||
|
|
||||||
try (SQLServerPreparedStatement insertBulkPs = (SQLServerPreparedStatement) connection.prepareStatement(insertStbMenuOpzSQL)) {
|
try (SQLServerPreparedStatement insertBulkPs = (SQLServerPreparedStatement) sqlServerConnection.prepareStatement(insertStbMenuOpzSQL)) {
|
||||||
for (StbMenuOpzDTO stbMenuOpzDto : menuConfig.getStbMenuOpz()) {
|
for (StbMenuOpzDTO stbMenuOpzDto : menuConfig.getStbMenuOpz()) {
|
||||||
|
|
||||||
insertBulkPs.setString(1, stbMenuOpzDto.getCodOpz());
|
insertBulkPs.setString(1, stbMenuOpzDto.getCodOpz());
|
||||||
@@ -169,7 +170,7 @@ public class MenuConfigurationService {
|
|||||||
"pos_tipo_azienda, pos_cliente, descrizione_estesa) " +
|
"pos_tipo_azienda, pos_cliente, descrizione_estesa) " +
|
||||||
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||||
|
|
||||||
try (SQLServerPreparedStatement insertBulkPs = (SQLServerPreparedStatement) connection.prepareStatement(insertStbMenuSql)) {
|
try (SQLServerPreparedStatement insertBulkPs = (SQLServerPreparedStatement) sqlServerConnection.prepareStatement(insertStbMenuSql)) {
|
||||||
for (StbMenuDTO stbMenuDto : stbMenus) {
|
for (StbMenuDTO stbMenuDto : stbMenus) {
|
||||||
|
|
||||||
insertBulkPs.setString(1, stbMenuDto.getCodOpz());
|
insertBulkPs.setString(1, stbMenuDto.getCodOpz());
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import it.integry.ems.migration._base.MigrationModelInterface;
|
|||||||
import it.integry.ems.service.MailService;
|
import it.integry.ems.service.MailService;
|
||||||
import it.integry.ems.settings.Model.SettingsModel;
|
import it.integry.ems.settings.Model.SettingsModel;
|
||||||
import it.integry.ems.settings.SettingsController;
|
import it.integry.ems.settings.SettingsController;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
|
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||||
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_model.config.EmsRestConstants;
|
import it.integry.ems_model.config.EmsRestConstants;
|
||||||
@@ -25,7 +25,6 @@ import org.reflections.Reflections;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.lang.reflect.Modifier;
|
import java.lang.reflect.Modifier;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -75,12 +74,12 @@ public class MigrationComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void startMigrationsGlobally(MultiDBTransactionManager multiDBTransactionManager) throws Exception {
|
public void startMigrationsGlobally(MultiDBTransactionManager multiDBTransactionManager) throws Exception {
|
||||||
List<AdvancedDataSource> advancedDataSources;
|
List<Connection> advancedDataSources;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
advancedDataSources = multiDBTransactionManager.getActiveConnections();
|
advancedDataSources = multiDBTransactionManager.getActiveConnections();
|
||||||
advancedDataSources = advancedDataSources.stream()
|
advancedDataSources = advancedDataSources.stream()
|
||||||
.filter(AdvancedDataSource::isInternalDb)
|
.filter(Connection::isInternalDb)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
advancedDataSources = new ArrayList<>();
|
advancedDataSources = new ArrayList<>();
|
||||||
@@ -89,7 +88,7 @@ public class MigrationComponent {
|
|||||||
|
|
||||||
Exception firstException = null;
|
Exception firstException = null;
|
||||||
|
|
||||||
for (final AdvancedDataSource advancedDataSource : advancedDataSources) {
|
for (final Connection advancedDataSource : advancedDataSources) {
|
||||||
try {
|
try {
|
||||||
executeMigrationGroup(advancedDataSource);
|
executeMigrationGroup(advancedDataSource);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -102,9 +101,9 @@ public class MigrationComponent {
|
|||||||
// throw firstException;
|
// throw firstException;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void executeMigrationGroup(AdvancedDataSource advancedDataSource) throws Exception {
|
public void executeMigrationGroup(Connection connection) throws Exception {
|
||||||
migrateStatus(advancedDataSource);
|
migrateStatus(connection);
|
||||||
List<StbMigrationStatus> migrationStatuses = retrieveAllMigrationsStatus(advancedDataSource);
|
List<StbMigrationStatus> migrationStatuses = retrieveAllMigrationsStatus(connection);
|
||||||
|
|
||||||
for (Class<? extends MigrationModelInterface> migrationClass : allMigrationsList) {
|
for (Class<? extends MigrationModelInterface> migrationClass : allMigrationsList) {
|
||||||
long migrationNumber = Long.parseLong(migrationClass.getSimpleName().replace("Migration_", ""));
|
long migrationNumber = Long.parseLong(migrationClass.getSimpleName().replace("Migration_", ""));
|
||||||
@@ -113,47 +112,47 @@ public class MigrationComponent {
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
executeMigration(migrationClass, advancedDataSource, settingsController, settingsModel, droolsDataCompleting);
|
executeMigration(migrationClass, connection, settingsController, settingsModel, droolsDataCompleting);
|
||||||
updateLastMigrationIntoDB(advancedDataSource, migrationNumber);
|
updateLastMigrationIntoDB(connection, migrationNumber);
|
||||||
|
|
||||||
advancedDataSource.getConnection().commit();
|
connection.commit();
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
try {
|
try {
|
||||||
advancedDataSource.getConnection().rollback();
|
connection.rollback();
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
logger.error("MigrationService - Rollback", ex);
|
logger.error("MigrationService - Rollback", ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
trackMigrationError(advancedDataSource, migrationNumber, e);
|
trackMigrationError(connection, migrationNumber, e);
|
||||||
|
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
migrationsErrorMapByProfiles.putIfAbsent(advancedDataSource.getProfileName(), false);
|
migrationsErrorMapByProfiles.putIfAbsent(connection.getProfileName(), false);
|
||||||
migrationsErrorMapByProfiles.replace(advancedDataSource.getProfileName(), false);
|
migrationsErrorMapByProfiles.replace(connection.getProfileName(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void executeMigration(Class<? extends MigrationModelInterface> migrationClass,
|
private void executeMigration(Class<? extends MigrationModelInterface> migrationClass,
|
||||||
AdvancedDataSource advancedDataSource,
|
Connection connection,
|
||||||
SettingsController settingsController,
|
SettingsController settingsController,
|
||||||
SettingsModel settingsModel,
|
SettingsModel settingsModel,
|
||||||
DroolsDataCompleting droolsDataCompleting) throws Exception {
|
DroolsDataCompleting droolsDataCompleting) throws Exception {
|
||||||
|
|
||||||
logger.info("Applico " + migrationClass.getSimpleName() + " " + advancedDataSource.getProfileName());
|
logger.info("Applico " + migrationClass.getSimpleName() + " " + connection.getProfileName());
|
||||||
|
|
||||||
MigrationModelInterface migrationInstance = migrationClass.newInstance();
|
MigrationModelInterface migrationInstance = migrationClass.newInstance();
|
||||||
migrationInstance.init(advancedDataSource, settingsController, settingsModel, droolsDataCompleting);
|
migrationInstance.init(connection, settingsController, settingsModel, droolsDataCompleting);
|
||||||
migrationInstance.up();
|
migrationInstance.up();
|
||||||
|
|
||||||
advancedDataSource.getConnection().commit();
|
connection.commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateLastMigrationIntoDB(AdvancedDataSource advancedDataSource, long lastMigraton) throws Exception {
|
public void updateLastMigrationIntoDB(Connection connection, long lastMigraton) throws Exception {
|
||||||
String sql = "SELECT * FROM " + StbMigrationStatus.ENTITY + " WHERE migration_code = " + lastMigraton;
|
String sql = "SELECT * FROM " + StbMigrationStatus.ENTITY + " WHERE migration_code = " + lastMigraton;
|
||||||
StbMigrationStatus stbMigrationStatus = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(advancedDataSource.getConnection(), sql, StbMigrationStatus.class);
|
StbMigrationStatus stbMigrationStatus = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(connection, sql, StbMigrationStatus.class);
|
||||||
|
|
||||||
if (stbMigrationStatus == null) {
|
if (stbMigrationStatus == null) {
|
||||||
stbMigrationStatus = new StbMigrationStatus()
|
stbMigrationStatus = new StbMigrationStatus()
|
||||||
@@ -171,9 +170,9 @@ public class MigrationComponent {
|
|||||||
stbMigrationStatus.setOperation(OperationType.UPDATE);
|
stbMigrationStatus.setOperation(OperationType.UPDATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
stbMigrationStatus.manageWithParentConnection(advancedDataSource.getConnection());
|
stbMigrationStatus.manageWithParentConnection(connection);
|
||||||
|
|
||||||
advancedDataSource.getConnection().commit();
|
connection.commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -185,9 +184,9 @@ public class MigrationComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void migrateStatus(AdvancedDataSource advancedDataSource) throws Exception {
|
private void migrateStatus(Connection connection) throws Exception {
|
||||||
final long lastMigrationNumber = getLastMigrationFromDB(advancedDataSource);
|
final long lastMigrationNumber = getLastMigrationFromDB(connection);
|
||||||
final List<Long> alreadyExecutedMigrations = retrieveAllMigrationsStatus(advancedDataSource)
|
final List<Long> alreadyExecutedMigrations = retrieveAllMigrationsStatus(connection)
|
||||||
.stream()
|
.stream()
|
||||||
.map(StbMigrationStatus::getMigrationCode)
|
.map(StbMigrationStatus::getMigrationCode)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
@@ -205,25 +204,25 @@ public class MigrationComponent {
|
|||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
for (StbMigrationStatus stbMigrationStatus : migrationStatusesToMigrate)
|
for (StbMigrationStatus stbMigrationStatus : migrationStatusesToMigrate)
|
||||||
stbMigrationStatus.manageWithParentConnection(advancedDataSource.getConnection());
|
stbMigrationStatus.manageWithParentConnection(connection);
|
||||||
|
|
||||||
|
|
||||||
advancedDataSource.getConnection().commit();
|
connection.commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
private Long getLastMigrationFromDB(AdvancedDataSource advancedDataSource) throws Exception {
|
private Long getLastMigrationFromDB(Connection connection) throws Exception {
|
||||||
String sql = "SELECT last_migration FROM azienda";
|
String sql = "SELECT last_migration FROM azienda";
|
||||||
String lastMigration = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
|
String lastMigration = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||||
lastMigration = UtilityString.isNullOrEmpty(lastMigration) ? "-1" : lastMigration;
|
lastMigration = UtilityString.isNullOrEmpty(lastMigration) ? "-1" : lastMigration;
|
||||||
|
|
||||||
return Long.parseLong(lastMigration);
|
return Long.parseLong(lastMigration);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private List<StbMigrationStatus> retrieveAllMigrationsStatus(AdvancedDataSource advancedDataSource) throws
|
private List<StbMigrationStatus> retrieveAllMigrationsStatus(Connection connection) throws
|
||||||
SQLException, IOException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
|
SQLException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
|
||||||
String sql = "SELECT * FROM " + StbMigrationStatus.ENTITY;
|
String sql = "SELECT * FROM " + StbMigrationStatus.ENTITY;
|
||||||
List<StbMigrationStatus> stbMigrationStatuses = UtilityDB.executeSimpleQueryDTO(advancedDataSource.getConnection(), sql, StbMigrationStatus.class);
|
List<StbMigrationStatus> stbMigrationStatuses = UtilityDB.executeSimpleQueryDTO(connection, sql, StbMigrationStatus.class);
|
||||||
|
|
||||||
if (stbMigrationStatuses == null) return new ArrayList<>();
|
if (stbMigrationStatuses == null) return new ArrayList<>();
|
||||||
|
|
||||||
@@ -234,14 +233,14 @@ public class MigrationComponent {
|
|||||||
return stbMigrationStatuses;
|
return stbMigrationStatuses;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void trackMigrationError(AdvancedDataSource advancedDataSource, long migrationCode, Exception e) {
|
private void trackMigrationError(Connection connection, long migrationCode, Exception e) {
|
||||||
migrationsErrorMapByProfiles.putIfAbsent(advancedDataSource.getProfileName(), true);
|
migrationsErrorMapByProfiles.putIfAbsent(connection.getProfileName(), true);
|
||||||
migrationsErrorMapByProfiles.replace(advancedDataSource.getProfileName(), true);
|
migrationsErrorMapByProfiles.replace(connection.getProfileName(), true);
|
||||||
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
logger.error("MigrationService (" + advancedDataSource.getProfileName() + ")", e);
|
logger.error("MigrationService (" + connection.getProfileName() + ")", e);
|
||||||
|
|
||||||
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(advancedDataSource.getProfileName())) {
|
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connection.getProfileName())) {
|
||||||
final String exceptionTraceAsString = GeneralUtils.getExceptionTraceAsString(e);
|
final String exceptionTraceAsString = GeneralUtils.getExceptionTraceAsString(e);
|
||||||
|
|
||||||
String sql = "SELECT * FROM " + StbMigrationStatus.ENTITY + " WHERE migration_code = " + migrationCode;
|
String sql = "SELECT * FROM " + StbMigrationStatus.ENTITY + " WHERE migration_code = " + migrationCode;
|
||||||
@@ -259,8 +258,8 @@ public class MigrationComponent {
|
|||||||
.setCompleted(false)
|
.setCompleted(false)
|
||||||
.setSkipped(false)
|
.setSkipped(false)
|
||||||
.setErrorMessage(e.getMessage() + "\n" + exceptionTraceAsString);
|
.setErrorMessage(e.getMessage() + "\n" + exceptionTraceAsString);
|
||||||
stbMigrationStatus.manageWithParentConnection(advancedDataSource.getConnection());
|
stbMigrationStatus.manageWithParentConnection(connection);
|
||||||
advancedDataSource.getConnection().commit();
|
connection.commit();
|
||||||
|
|
||||||
if (UtilityDebug.isDebugExecution() || UtilityDebug.isIntegryServer()) return;
|
if (UtilityDebug.isDebugExecution() || UtilityDebug.isIntegryServer()) return;
|
||||||
|
|
||||||
@@ -268,7 +267,7 @@ public class MigrationComponent {
|
|||||||
|
|
||||||
mailService.sendSystemWarningLog("[" + azienda.getNomeDitta() + "][" + UtilityServer.getHostName() + "] Aggiornamento sistema",
|
mailService.sendSystemWarningLog("[" + azienda.getNomeDitta() + "][" + UtilityServer.getHostName() + "] Aggiornamento sistema",
|
||||||
"anomalia durante l'aggiornamento",
|
"anomalia durante l'aggiornamento",
|
||||||
"La migrazione " + migrationCode + " non è andata a buon fine sul DB " + advancedDataSource.getProfileName() + ". Controllare il log per ulteriori dettagli.",
|
"La migrazione " + migrationCode + " non è andata a buon fine sul DB " + connection.getProfileName() + ". Controllare il log per ulteriori dettagli.",
|
||||||
e, new Date());
|
e, new Date());
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
logger.error("MigrationService - Mail", ex);
|
logger.error("MigrationService - Mail", ex);
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import it.integry.ems.schedule.new_cron_job.dto.operations.base_classes.BaseSche
|
|||||||
import it.integry.ems.schedule.new_cron_job.service.AutomatedOperationHandlerComponent;
|
import it.integry.ems.schedule.new_cron_job.service.AutomatedOperationHandlerComponent;
|
||||||
import it.integry.ems.settings.Model.SettingsModel;
|
import it.integry.ems.settings.Model.SettingsModel;
|
||||||
import it.integry.ems.settings.SettingsController;
|
import it.integry.ems.settings.SettingsController;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
|
|
||||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||||
import it.integry.ems.utility.UtilityDebug;
|
import it.integry.ems.utility.UtilityDebug;
|
||||||
import it.integry.ems_model.entity.Azienda;
|
import it.integry.ems_model.entity.Azienda;
|
||||||
@@ -38,7 +37,7 @@ import java.util.List;
|
|||||||
|
|
||||||
public abstract class BaseMigration implements MigrationModelInterface {
|
public abstract class BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
protected AdvancedDataSource advancedDataSource;
|
protected Connection connection;
|
||||||
protected SettingsController settingsController;
|
protected SettingsController settingsController;
|
||||||
protected SettingsModel settingsModel;
|
protected SettingsModel settingsModel;
|
||||||
protected DroolsDataCompleting droolsDataCompleting;
|
protected DroolsDataCompleting droolsDataCompleting;
|
||||||
@@ -46,8 +45,8 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
protected final Logger logger = LogManager.getLogger();
|
protected final Logger logger = LogManager.getLogger();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init(AdvancedDataSource advancedDataSource, SettingsController settingsController, SettingsModel settingsModel, DroolsDataCompleting droolsDataCompleting) {
|
public void init(Connection connection, SettingsController settingsController, SettingsModel settingsModel, DroolsDataCompleting droolsDataCompleting) {
|
||||||
this.advancedDataSource = advancedDataSource;
|
this.connection = connection;
|
||||||
this.settingsController = settingsController;
|
this.settingsController = settingsController;
|
||||||
this.settingsModel = settingsModel;
|
this.settingsModel = settingsModel;
|
||||||
this.droolsDataCompleting = droolsDataCompleting;
|
this.droolsDataCompleting = droolsDataCompleting;
|
||||||
@@ -59,7 +58,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
|
|
||||||
protected boolean isHistoryDB() throws Exception {
|
protected boolean isHistoryDB() throws Exception {
|
||||||
String historyProfileDB = settingsController.getHistoryProfileDb();
|
String historyProfileDB = settingsController.getHistoryProfileDb();
|
||||||
return historyProfileDB.equalsIgnoreCase(advancedDataSource.getProfileName());
|
return historyProfileDB.equalsIgnoreCase(connection.getProfileName());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean isDebug() {
|
protected boolean isDebug() {
|
||||||
@@ -67,16 +66,16 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected @NotNull List<HashMap<String, Object>> executeQuery(String sql) throws SQLException, IOException {
|
protected @NotNull List<HashMap<String, Object>> executeQuery(String sql) throws SQLException {
|
||||||
return UtilityDB.executeSimpleQuery(advancedDataSource.getConnection(), sql);
|
return UtilityDB.executeSimpleQuery(connection, sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected @NotNull <T> List<T> executeQueryDTO(String sql, Class<T> clazz) throws Exception {
|
protected @NotNull <T> List<T> executeQueryDTO(String sql, Class<T> clazz) throws Exception {
|
||||||
return UtilityDB.executeSimpleQueryDTO(advancedDataSource.getConnection(), sql, clazz);
|
return UtilityDB.executeSimpleQueryDTO(connection, sql, clazz);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void executeStatement(String... sqls) throws SQLException, IOException {
|
protected void executeStatement(String... sqls) throws SQLException {
|
||||||
executeStatement(advancedDataSource.getConnection(), sqls);
|
executeStatement(connection, sqls);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void executeStatement(Connection connection, String... sqls) throws SQLException {
|
protected void executeStatement(Connection connection, String... sqls) throws SQLException {
|
||||||
@@ -90,7 +89,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
protected long executeInsertStatement(String sql) throws SQLException {
|
protected long executeInsertStatement(String sql) throws SQLException {
|
||||||
long generatedId = -1;
|
long generatedId = -1;
|
||||||
|
|
||||||
try (PreparedStatement pstmt = advancedDataSource.getConnection().prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
|
try (PreparedStatement pstmt = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
|
||||||
|
|
||||||
int affectedRows = pstmt.executeUpdate();
|
int affectedRows = pstmt.executeUpdate();
|
||||||
|
|
||||||
@@ -102,8 +101,6 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return generatedId;
|
return generatedId;
|
||||||
@@ -130,8 +127,8 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
alterObject(SqlObjectTypeEnum.VIEW, objectName, createViewSql);
|
alterObject(SqlObjectTypeEnum.VIEW, objectName, createViewSql);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean existsView(String objectName) throws SQLException, IOException {
|
protected boolean existsView(String objectName) throws SQLException {
|
||||||
return UtilityDB.<Integer>executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), "SELECT COUNT(*) FROM SYSOBJECTS WHERE id = object_id('" + objectName + "')") > 0;
|
return UtilityDB.<Integer>executeSimpleQueryOnlyFirstRowFirstColumn(connection, "SELECT COUNT(*) FROM SYSOBJECTS WHERE id = object_id('" + objectName + "')") > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void createOrUpdateProcedure(String objectName, String createProcedureSql) throws SQLException, IOException {
|
protected void createOrUpdateProcedure(String objectName, String createProcedureSql) throws SQLException, IOException {
|
||||||
@@ -154,15 +151,15 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void createIndex(IndexTableDTO indexTableDTO) throws Exception {
|
protected void createIndex(IndexTableDTO indexTableDTO) throws Exception {
|
||||||
UtilityDB.createIndex(advancedDataSource.getConnection(), indexTableDTO);
|
UtilityDB.createIndex(connection, indexTableDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void dropIndex(String tableName, String indexName) throws Exception {
|
protected void dropIndex(String tableName, String indexName) throws Exception {
|
||||||
UtilityDB.dropIndex(advancedDataSource.getConnection(), tableName, indexName);
|
UtilityDB.dropIndex(connection, tableName, indexName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected boolean existsColumn(String tableName, String columnName) throws SQLException, IOException {
|
protected boolean existsColumn(String tableName, String columnName) throws SQLException {
|
||||||
String schema = null;
|
String schema = null;
|
||||||
if (tableName.contains(".")) {
|
if (tableName.contains(".")) {
|
||||||
schema = tableName.substring(0, tableName.indexOf("."));
|
schema = tableName.substring(0, tableName.indexOf("."));
|
||||||
@@ -173,7 +170,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
" WHERE Name = N{}\n" +
|
" WHERE Name = N{}\n" +
|
||||||
" AND Object_ID = Object_ID(N{})", columnName, (schema != null ? schema : "dbo") + "." + tableName);
|
" AND Object_ID = Object_ID(N{})", columnName, (schema != null ? schema : "dbo") + "." + tableName);
|
||||||
|
|
||||||
Integer val = UtilityDB.<Integer>executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
|
Integer val = UtilityDB.<Integer>executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||||
|
|
||||||
return val != null && val == 1;
|
return val != null && val == 1;
|
||||||
}
|
}
|
||||||
@@ -192,7 +189,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected <T> void addDefault(String tableName, String columnName, T defaultValue) throws SQLException, IOException {
|
protected <T> void addDefault(String tableName, String columnName, T defaultValue) throws SQLException, IOException {
|
||||||
boolean existDefault = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
|
boolean existDefault = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
|
||||||
Query.format("SELECT CAST(COUNT(*) AS BIT)\n" +
|
Query.format("SELECT CAST(COUNT(*) AS BIT)\n" +
|
||||||
"FROM sys.syscolumns\n" +
|
"FROM sys.syscolumns\n" +
|
||||||
"WHERE name = %s\n" +
|
"WHERE name = %s\n" +
|
||||||
@@ -203,7 +200,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void dropDefault(String tableName, String columnName) throws SQLException, IOException {
|
protected void dropDefault(String tableName, String columnName) throws SQLException, IOException {
|
||||||
boolean existDefault = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
|
boolean existDefault = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
|
||||||
Query.format("SELECT CAST(COUNT(*) AS BIT)\n" +
|
Query.format("SELECT CAST(COUNT(*) AS BIT)\n" +
|
||||||
"FROM sys.syscolumns\n" +
|
"FROM sys.syscolumns\n" +
|
||||||
"WHERE name = %s\n" +
|
"WHERE name = %s\n" +
|
||||||
@@ -216,7 +213,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void dropChecks(String tableName, String columnName) throws SQLException, IOException {
|
protected void dropChecks(String tableName, String columnName) throws SQLException, IOException {
|
||||||
boolean checkExists = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
|
boolean checkExists = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
|
||||||
Query.format("SELECT CAST(COUNT(*) AS BIT)\n" +
|
Query.format("SELECT CAST(COUNT(*) AS BIT)\n" +
|
||||||
"FROM sys.objects obj_table\n" +
|
"FROM sys.objects obj_table\n" +
|
||||||
" JOIN sys.objects obj_Constraint\n" +
|
" JOIN sys.objects obj_Constraint\n" +
|
||||||
@@ -235,7 +232,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean existsTable(String tableName) throws SQLException, IOException {
|
protected boolean existsTable(String tableName) throws SQLException {
|
||||||
String schema = null;
|
String schema = null;
|
||||||
if (tableName.contains(".")) {
|
if (tableName.contains(".")) {
|
||||||
schema = tableName.substring(0, tableName.indexOf("."));
|
schema = tableName.substring(0, tableName.indexOf("."));
|
||||||
@@ -248,7 +245,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
if (schema != null)
|
if (schema != null)
|
||||||
sql += Query.format("AND TABLE_SCHEMA = N%s", schema);
|
sql += Query.format("AND TABLE_SCHEMA = N%s", schema);
|
||||||
|
|
||||||
return UtilityDB.<Boolean>executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
|
return UtilityDB.<Boolean>executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void dropTable(String tableName) throws SQLException, IOException {
|
protected void dropTable(String tableName) throws SQLException, IOException {
|
||||||
@@ -264,7 +261,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String sql = Query.format("SELECT cast(count(*) as bit) FROM stb_gest_setup_query WHERE cod_query = %s", codQuery);
|
String sql = Query.format("SELECT cast(count(*) as bit) FROM stb_gest_setup_query WHERE cod_query = %s", codQuery);
|
||||||
boolean existQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
|
boolean existQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||||
|
|
||||||
if (existQuery)
|
if (existQuery)
|
||||||
executeStatement(Query.format("UPDATE stb_gest_setup_query SET query_default = %S, description = %S WHERE cod_query = %s ",
|
executeStatement(Query.format("UPDATE stb_gest_setup_query SET query_default = %S, description = %S WHERE cod_query = %s ",
|
||||||
@@ -274,20 +271,20 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
" VALUES (%s, %s, %s);", codQuery, query, name));
|
" VALUES (%s, %s, %s);", codQuery, query, name));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean existsSetup(String gestName, String section, String keySection) throws SQLException, IOException {
|
protected boolean existsSetup(String gestName, String section, String keySection) throws SQLException {
|
||||||
String sql = Query.format("SELECT CAST(COUNT(*) AS BIT) AS exist FROM " + StbGestSetup.ENTITY +
|
String sql = Query.format("SELECT CAST(COUNT(*) AS BIT) AS exist FROM " + StbGestSetup.ENTITY +
|
||||||
" WHERE gest_name = %s AND" +
|
" WHERE gest_name = %s AND" +
|
||||||
" section = %s AND" +
|
" section = %s AND" +
|
||||||
" key_section = %s", gestName, section, keySection);
|
" key_section = %s", gestName, section, keySection);
|
||||||
|
|
||||||
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
|
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean existsSetupQuery(String codQuery) throws SQLException, IOException {
|
protected boolean existsSetupQuery(String codQuery) throws SQLException {
|
||||||
String sql = Query.format("SELECT CAST(COUNT(*) AS BIT) AS exist FROM " + StbGestSetupQuery.ENTITY +
|
String sql = Query.format("SELECT CAST(COUNT(*) AS BIT) AS exist FROM " + StbGestSetupQuery.ENTITY +
|
||||||
" WHERE cod_query = %s", codQuery);
|
" WHERE cod_query = %s", codQuery);
|
||||||
|
|
||||||
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
|
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void createSetup(String gestName, String section, String keySection, String value, String description, String codQuery) throws Exception {
|
protected void createSetup(String gestName, String section, String keySection, String value, String description, String codQuery) throws Exception {
|
||||||
@@ -297,7 +294,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
String insertSql = "INSERT INTO " + StbGestSetup.ENTITY +
|
String insertSql = "INSERT INTO " + StbGestSetup.ENTITY +
|
||||||
"(gest_name, section, key_section, value, description, query_default) VALUES (?, ?, ?, ?, ?, ?)";
|
"(gest_name, section, key_section, value, description, query_default) VALUES (?, ?, ?, ?, ?, ?)";
|
||||||
|
|
||||||
try (PreparedStatement ps = advancedDataSource.getConnection().prepareStatement(insertSql)) {
|
try (PreparedStatement ps = connection.prepareStatement(insertSql)) {
|
||||||
ps.setString(1, gestName);
|
ps.setString(1, gestName);
|
||||||
ps.setString(2, section);
|
ps.setString(2, section);
|
||||||
ps.setString(3, keySection);
|
ps.setString(3, keySection);
|
||||||
@@ -316,7 +313,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
String insertSql = "INSERT INTO " + StbGestSetup.ENTITY +
|
String insertSql = "INSERT INTO " + StbGestSetup.ENTITY +
|
||||||
"(gest_name, section, key_section, value, description, query_default, flag_multi_value) VALUES (?, ?, ?, ?, ?, ?, ?)";
|
"(gest_name, section, key_section, value, description, query_default, flag_multi_value) VALUES (?, ?, ?, ?, ?, ?, ?)";
|
||||||
|
|
||||||
try (PreparedStatement ps = advancedDataSource.getConnection().prepareStatement(insertSql)) {
|
try (PreparedStatement ps = connection.prepareStatement(insertSql)) {
|
||||||
ps.setString(1, gestName);
|
ps.setString(1, gestName);
|
||||||
ps.setString(2, section);
|
ps.setString(2, section);
|
||||||
ps.setString(3, keySection);
|
ps.setString(3, keySection);
|
||||||
@@ -336,7 +333,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
String insertSql = "INSERT INTO " + StbGestSetup.ENTITY +
|
String insertSql = "INSERT INTO " + StbGestSetup.ENTITY +
|
||||||
"(gest_name, section, key_section, value, description, query_default, flag_multi_value, flag_setup_user_web) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
|
"(gest_name, section, key_section, value, description, query_default, flag_multi_value, flag_setup_user_web) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
|
||||||
|
|
||||||
try (PreparedStatement ps = advancedDataSource.getConnection().prepareStatement(insertSql)) {
|
try (PreparedStatement ps = connection.prepareStatement(insertSql)) {
|
||||||
ps.setString(1, gestName);
|
ps.setString(1, gestName);
|
||||||
ps.setString(2, section);
|
ps.setString(2, section);
|
||||||
ps.setString(3, keySection);
|
ps.setString(3, keySection);
|
||||||
@@ -366,7 +363,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (!UtilityString.isNullOrEmpty(query) && UtilityString.isNullOrEmpty(codQuery)) {
|
if (!UtilityString.isNullOrEmpty(query) && UtilityString.isNullOrEmpty(codQuery)) {
|
||||||
codQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
|
codQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
|
||||||
Query.format("SELECT cod_query FROM stb_gest_setup_query WHERE query_default = %s", query));
|
Query.format("SELECT cod_query FROM stb_gest_setup_query WHERE query_default = %s", query));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -375,7 +372,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
"flag_user_view, flag_setup_depo, flag_setup_user_web,\n" +
|
"flag_user_view, flag_setup_depo, flag_setup_user_web,\n" +
|
||||||
"flag_tipo_json, flag_tipo_colore, tipo_setup, flag_multi_value) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
"flag_tipo_json, flag_tipo_colore, tipo_setup, flag_multi_value) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||||
|
|
||||||
try (PreparedStatement ps = advancedDataSource.getConnection().prepareStatement(insertSql)) {
|
try (PreparedStatement ps = connection.prepareStatement(insertSql)) {
|
||||||
ps.setString(1, gestName);
|
ps.setString(1, gestName);
|
||||||
ps.setString(2, section);
|
ps.setString(2, section);
|
||||||
ps.setString(3, keySection);
|
ps.setString(3, keySection);
|
||||||
@@ -402,7 +399,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
.setKeySection(keySection);
|
.setKeySection(keySection);
|
||||||
|
|
||||||
stbGestSetup.setOperation(OperationType.DELETE);
|
stbGestSetup.setOperation(OperationType.DELETE);
|
||||||
stbGestSetup.manageWithParentConnection(advancedDataSource.getConnection());
|
stbGestSetup.manageWithParentConnection(connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void updateSetupValue(String gestName, String section, String keySection, String newValue) throws Exception {
|
protected void updateSetupValue(String gestName, String section, String keySection, String newValue) throws Exception {
|
||||||
@@ -422,7 +419,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
Boolean flagTipoJson, Boolean flagTipoColore, String tipoSetup, Boolean flagMultiValue,
|
Boolean flagTipoJson, Boolean flagTipoColore, String tipoSetup, Boolean flagMultiValue,
|
||||||
String query) throws Exception {
|
String query) throws Exception {
|
||||||
if (!UtilityString.isNullOrEmpty(query) && UtilityString.isNullOrEmpty(codQuery)) {
|
if (!UtilityString.isNullOrEmpty(query) && UtilityString.isNullOrEmpty(codQuery)) {
|
||||||
codQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
|
codQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
|
||||||
Query.format("SELECT cod_query FROM stb_gest_setup_query WHERE query_default = %s", query));
|
Query.format("SELECT cod_query FROM stb_gest_setup_query WHERE query_default = %s", query));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -457,13 +454,13 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
stbGestSetup.setFlagMultiValue(flagMultiValue);
|
stbGestSetup.setFlagMultiValue(flagMultiValue);
|
||||||
|
|
||||||
stbGestSetup.setOperation(OperationType.UPDATE);
|
stbGestSetup.setOperation(OperationType.UPDATE);
|
||||||
stbGestSetup.manageWithParentConnection(advancedDataSource.getConnection());
|
stbGestSetup.manageWithParentConnection(connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void updateSetupQuery(String gestName, String section, String keySection,
|
protected void updateSetupQuery(String gestName, String section, String keySection,
|
||||||
String codQuery, String query) throws Exception {
|
String codQuery, String query) throws Exception {
|
||||||
if (!UtilityString.isNullOrEmpty(query) && UtilityString.isNullOrEmpty(codQuery)) {
|
if (!UtilityString.isNullOrEmpty(query) && UtilityString.isNullOrEmpty(codQuery)) {
|
||||||
codQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
|
codQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
|
||||||
Query.format("SELECT cod_query FROM stb_gest_setup_query WHERE query_default = %s", query));
|
Query.format("SELECT cod_query FROM stb_gest_setup_query WHERE query_default = %s", query));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -474,7 +471,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
.setQueryDefault(codQuery);
|
.setQueryDefault(codQuery);
|
||||||
|
|
||||||
stbGestSetup.setOperation(OperationType.UPDATE);
|
stbGestSetup.setOperation(OperationType.UPDATE);
|
||||||
stbGestSetup.manageWithParentConnection(advancedDataSource.getConnection());
|
stbGestSetup.manageWithParentConnection(connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void addAutomatedOperation(BaseScheduledOperationDTO operation) {
|
protected void addAutomatedOperation(BaseScheduledOperationDTO operation) {
|
||||||
@@ -508,7 +505,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
|
|
||||||
|
|
||||||
protected boolean isCustomer(IntegryCustomer... customers) {
|
protected boolean isCustomer(IntegryCustomer... customers) {
|
||||||
String currentDbName = advancedDataSource.getDataSource().getDbName();
|
String currentDbName = connection.getDbName();
|
||||||
|
|
||||||
return Arrays.stream(customers)
|
return Arrays.stream(customers)
|
||||||
.anyMatch(x ->
|
.anyMatch(x ->
|
||||||
@@ -517,31 +514,31 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected boolean isCustomerDb(IntegryCustomerDB... customersDbs) {
|
protected boolean isCustomerDb(IntegryCustomerDB... customersDbs) {
|
||||||
String currentDbName = advancedDataSource.getDataSource().getDbName();
|
String currentDbName = connection.getDbName();
|
||||||
|
|
||||||
return Arrays.stream(customersDbs)
|
return Arrays.stream(customersDbs)
|
||||||
.anyMatch(y -> y.getValue().equalsIgnoreCase(currentDbName));
|
.anyMatch(y -> y.getValue().equalsIgnoreCase(currentDbName));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected boolean isWingest() throws SQLException, IOException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
|
protected boolean isWingest() throws SQLException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
|
||||||
Azienda currentAzienda = Azienda.getDefaultAzienda(advancedDataSource.getConnection());
|
Azienda currentAzienda = Azienda.getDefaultAzienda(connection);
|
||||||
return currentAzienda.getApplicationNameEnum() == ApplicationName.WINGEST;
|
return currentAzienda.getApplicationNameEnum() == ApplicationName.WINGEST;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean isTextiles() throws SQLException, IOException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
|
protected boolean isTextiles() throws SQLException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
|
||||||
Azienda currentAzienda = Azienda.getDefaultAzienda(advancedDataSource.getConnection());
|
Azienda currentAzienda = Azienda.getDefaultAzienda(connection);
|
||||||
return currentAzienda.getApplicationNameEnum() == ApplicationName.TEXTILES;
|
return currentAzienda.getApplicationNameEnum() == ApplicationName.TEXTILES;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean isDMS() throws SQLException, IOException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
|
protected boolean isDMS() throws SQLException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
|
||||||
Azienda currentAzienda = Azienda.getDefaultAzienda(advancedDataSource.getConnection());
|
Azienda currentAzienda = Azienda.getDefaultAzienda(connection);
|
||||||
return currentAzienda.getApplicationNameEnum() == ApplicationName.DMS;
|
return currentAzienda.getApplicationNameEnum() == ApplicationName.DMS;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void enableSaveToRest(String gestName) throws Exception {
|
protected void enableSaveToRest(String gestName) throws Exception {
|
||||||
boolean existRow =
|
boolean existRow =
|
||||||
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
|
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
|
||||||
Query.format("SELECT cast(count(*) as bit) FROM stb_gest_sync WHERE gest_name = %s", gestName));
|
Query.format("SELECT cast(count(*) as bit) FROM stb_gest_sync WHERE gest_name = %s", gestName));
|
||||||
|
|
||||||
StbGestSync gestSync =
|
StbGestSync gestSync =
|
||||||
@@ -552,21 +549,21 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
|||||||
gestSync.setOperation(OperationType.UPDATE);
|
gestSync.setOperation(OperationType.UPDATE);
|
||||||
} else {
|
} else {
|
||||||
String entityName =
|
String entityName =
|
||||||
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
|
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
|
||||||
Query.format("SELECT entity_name FROM stb_menu_opz WHERE gest_name = %s", gestName));
|
Query.format("SELECT entity_name FROM stb_menu_opz WHERE gest_name = %s", gestName));
|
||||||
gestSync.setEntityName(entityName);
|
gestSync.setEntityName(entityName);
|
||||||
gestSync.setOperation(OperationType.INSERT);
|
gestSync.setOperation(OperationType.INSERT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
gestSync.manageWithParentConnection(advancedDataSource.getConnection());
|
gestSync.manageWithParentConnection(connection);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private DatabaseVersionEnum getSqlCompatibilityLevel() throws Exception {
|
private DatabaseVersionEnum getSqlCompatibilityLevel() throws Exception {
|
||||||
short compatibilityLevel =
|
short compatibilityLevel =
|
||||||
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
|
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
|
||||||
Query.format("SELECT compatibility_level FROM sys.databases WHERE name = %s", advancedDataSource.getDataSource().getDbName()));
|
Query.format("SELECT compatibility_level FROM sys.databases WHERE name = %s", connection.getDbName()));
|
||||||
|
|
||||||
|
|
||||||
return DatabaseVersionEnum.fromCode(compatibilityLevel);
|
return DatabaseVersionEnum.fromCode(compatibilityLevel);
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ package it.integry.ems.migration._base;
|
|||||||
|
|
||||||
import it.integry.ems.settings.Model.SettingsModel;
|
import it.integry.ems.settings.Model.SettingsModel;
|
||||||
import it.integry.ems.settings.SettingsController;
|
import it.integry.ems.settings.SettingsController;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
|
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||||
import it.integry.ems_model.rulescompleting.DroolsDataCompleting;
|
import it.integry.ems_model.rulescompleting.DroolsDataCompleting;
|
||||||
|
|
||||||
public interface MigrationModelInterface {
|
public interface MigrationModelInterface {
|
||||||
|
|
||||||
void init(AdvancedDataSource advancedDataSource,
|
void init(Connection connection,
|
||||||
SettingsController settingsController,
|
SettingsController settingsController,
|
||||||
SettingsModel settingsModel,
|
SettingsModel settingsModel,
|
||||||
DroolsDataCompleting droolsDataCompleting);
|
DroolsDataCompleting droolsDataCompleting);
|
||||||
|
|||||||
@@ -3,9 +3,8 @@ package it.integry.ems.migration.model;
|
|||||||
import it.integry.ems.migration._base.BaseMigration;
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
||||||
import it.integry.ems_model.utility.UtilityDB;
|
|
||||||
|
|
||||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||||
|
import it.integry.ems_model.utility.UtilityDB;
|
||||||
|
|
||||||
import java.sql.DriverManager;
|
import java.sql.DriverManager;
|
||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
@@ -17,7 +16,7 @@ public class Migration_20210721093948 extends BaseMigration implements Migration
|
|||||||
public void up() throws Exception {
|
public void up() throws Exception {
|
||||||
AvailableConnectionsModel historyDBModel = settingsController.getHistoryDbConnectionModel();
|
AvailableConnectionsModel historyDBModel = settingsController.getHistoryDbConnectionModel();
|
||||||
|
|
||||||
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(advancedDataSource.getProfileName()))
|
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(connection.getProfileName()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (historyDBModel == null)
|
if (historyDBModel == null)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ public class Migration_20210721125744 extends BaseMigration implements Migration
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void up() throws Exception {
|
public void up() throws Exception {
|
||||||
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(advancedDataSource.getDataSource().getDbName()))
|
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(connection.getDbName()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
String tomcatPath = System.getProperty("catalina.home");
|
String tomcatPath = System.getProperty("catalina.home");
|
||||||
|
|||||||
@@ -3,9 +3,8 @@ package it.integry.ems.migration.model;
|
|||||||
import it.integry.ems.migration._base.BaseMigration;
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
||||||
import it.integry.ems_model.utility.UtilityDB;
|
|
||||||
|
|
||||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||||
|
import it.integry.ems_model.utility.UtilityDB;
|
||||||
|
|
||||||
import java.sql.DriverManager;
|
import java.sql.DriverManager;
|
||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
@@ -17,7 +16,7 @@ public class Migration_20210924152555 extends BaseMigration implements Migration
|
|||||||
public void up() throws Exception {
|
public void up() throws Exception {
|
||||||
AvailableConnectionsModel historyDBModel = settingsController.getHistoryDbConnectionModel();
|
AvailableConnectionsModel historyDBModel = settingsController.getHistoryDbConnectionModel();
|
||||||
|
|
||||||
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(advancedDataSource.getProfileName()))
|
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(connection.getProfileName()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (historyDBModel == null)
|
if (historyDBModel == null)
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public class Migration_20211022131206 extends BaseMigration implements Migration
|
|||||||
" WHERE stb_user.user_name IS NULL ";
|
" WHERE stb_user.user_name IS NULL ";
|
||||||
|
|
||||||
|
|
||||||
List<WtbUsers> wtbUsersList = UtilityDB.executeSimpleQueryDTO(advancedDataSource.getConnection(), sql, WtbUsers.class);
|
List<WtbUsers> wtbUsersList = UtilityDB.executeSimpleQueryDTO(connection, sql, WtbUsers.class);
|
||||||
|
|
||||||
if (wtbUsersList == null) return;
|
if (wtbUsersList == null) return;
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ public class Migration_20211022131206 extends BaseMigration implements Migration
|
|||||||
.setFlagAttivo(wtbUser.getCtrlState());
|
.setFlagAttivo(wtbUser.getCtrlState());
|
||||||
|
|
||||||
stbUser.setOperation(OperationType.INSERT);
|
stbUser.setOperation(OperationType.INSERT);
|
||||||
stbUser.manageWithParentConnection(advancedDataSource.getConnection(), droolsDataCompleting);
|
stbUser.manageWithParentConnection(connection, droolsDataCompleting);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -19,10 +19,10 @@ public class Migration_20211027170945 extends BaseMigration implements Migration
|
|||||||
"WHERE Name = N'orientation' " +
|
"WHERE Name = N'orientation' " +
|
||||||
" AND Object_ID = Object_ID(N'dbo.wtb_jrept')";
|
" AND Object_ID = Object_ID(N'dbo.wtb_jrept')";
|
||||||
|
|
||||||
boolean fieldExists = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
|
boolean fieldExists = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||||
if (!fieldExists) {
|
if (!fieldExists) {
|
||||||
sql = "ALTER TABLE wtb_jrept ADD orientation INT DEFAULT 0 NOT NULL CHECK (orientation IN (0, 1))";
|
sql = "ALTER TABLE wtb_jrept ADD orientation INT DEFAULT 0 NOT NULL CHECK (orientation IN (0, 1))";
|
||||||
Statement statement = advancedDataSource.getConnection().createStatement();
|
Statement statement = connection.createStatement();
|
||||||
statement.execute(sql);
|
statement.execute(sql);
|
||||||
statement.close();
|
statement.close();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,12 +18,12 @@ public class Migration_20211108185224 extends BaseMigration implements Migration
|
|||||||
|
|
||||||
AutomatedOperationHandlerComponent automatedOperationHandlerComponent = ContextLoader.getCurrentWebApplicationContext().getBean(AutomatedOperationHandlerComponent.class);
|
AutomatedOperationHandlerComponent automatedOperationHandlerComponent = ContextLoader.getCurrentWebApplicationContext().getBean(AutomatedOperationHandlerComponent.class);
|
||||||
|
|
||||||
final String migrateFileOperationName = "Migrate files grlAnagNote " + advancedDataSource.getProfileName().toUpperCase();
|
final String migrateFileOperationName = "Migrate files grlAnagNote " + connection.getProfileName().toUpperCase();
|
||||||
|
|
||||||
ServiceCallAutomatedOperationDTO serviceCallAutomatedOperationDTO = new ServiceCallAutomatedOperationDTO()
|
ServiceCallAutomatedOperationDTO serviceCallAutomatedOperationDTO = new ServiceCallAutomatedOperationDTO()
|
||||||
.setMethodName("migrateGtbAnagNoteFiles")
|
.setMethodName("migrateGtbAnagNoteFiles")
|
||||||
.setProfileDb(advancedDataSource.getProfileName())
|
.setProfileDb(connection.getProfileName())
|
||||||
.setUsername(advancedDataSource.getProfileName());
|
.setUsername(connection.getProfileName());
|
||||||
|
|
||||||
serviceCallAutomatedOperationDTO
|
serviceCallAutomatedOperationDTO
|
||||||
.setCronTrigger("0 0 0 1/1 * ?")
|
.setCronTrigger("0 0 0 1/1 * ?")
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package it.integry.ems.migration.model;
|
|||||||
import it.integry.ems.migration._base.BaseMigration;
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
import it.integry.ems.service.PrinterService;
|
import it.integry.ems.service.PrinterService;
|
||||||
|
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||||
import it.integry.ems_model.entity.GrlAnagJrept;
|
import it.integry.ems_model.entity.GrlAnagJrept;
|
||||||
import it.integry.ems_model.entity.MtbDepo;
|
import it.integry.ems_model.entity.MtbDepo;
|
||||||
import it.integry.ems_model.entity.WtbJreptSetup;
|
import it.integry.ems_model.entity.WtbJreptSetup;
|
||||||
@@ -13,8 +14,6 @@ import it.integry.ems_model.utility.UtilityString;
|
|||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
|
||||||
|
|
||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -29,11 +28,11 @@ public class Migration_20220405180136 extends BaseMigration implements Migration
|
|||||||
String checkTableSpesExistsSql = "SELECT CAST(COUNT(*) AS BIT) AS exist_table " +
|
String checkTableSpesExistsSql = "SELECT CAST(COUNT(*) AS BIT) AS exist_table " +
|
||||||
"FROM INFORMATION_SCHEMA.TABLES " +
|
"FROM INFORMATION_SCHEMA.TABLES " +
|
||||||
"WHERE TABLE_NAME = 'wtb_jrept_setup'";
|
"WHERE TABLE_NAME = 'wtb_jrept_setup'";
|
||||||
boolean existTable = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), checkTableSpesExistsSql);
|
boolean existTable = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, checkTableSpesExistsSql);
|
||||||
|
|
||||||
if (!existTable) {
|
if (!existTable) {
|
||||||
|
|
||||||
Statement statement = advancedDataSource.getConnection().createStatement();
|
Statement statement = connection.createStatement();
|
||||||
statement.execute("CREATE TABLE wtb_jrept_setup\n" +
|
statement.execute("CREATE TABLE wtb_jrept_setup\n" +
|
||||||
"(\n" +
|
"(\n" +
|
||||||
" id BIGINT IDENTITY\n" +
|
" id BIGINT IDENTITY\n" +
|
||||||
@@ -51,26 +50,26 @@ public class Migration_20220405180136 extends BaseMigration implements Migration
|
|||||||
")");
|
")");
|
||||||
statement.close();
|
statement.close();
|
||||||
|
|
||||||
statement = advancedDataSource.getConnection().createStatement();
|
statement = connection.createStatement();
|
||||||
statement.execute("CREATE UNIQUE INDEX wtb_jrept_setup_report_id_cod_mdep_tipo_uindex " +
|
statement.execute("CREATE UNIQUE INDEX wtb_jrept_setup_report_id_cod_mdep_tipo_uindex " +
|
||||||
"ON wtb_jrept_setup (report_id, cod_mdep, tipo)");
|
"ON wtb_jrept_setup (report_id, cod_mdep, tipo)");
|
||||||
statement.close();
|
statement.close();
|
||||||
|
|
||||||
advancedDataSource.getConnection().commit();
|
connection.commit();
|
||||||
|
|
||||||
ArrayList<WtbJreptSetup> jreptSetupsToInsert = new ArrayList<>();
|
ArrayList<WtbJreptSetup> jreptSetupsToInsert = new ArrayList<>();
|
||||||
|
|
||||||
String sqlDepo = "SELECT cod_mdep FROM " + MtbDepo.ENTITY;
|
String sqlDepo = "SELECT cod_mdep FROM " + MtbDepo.ENTITY;
|
||||||
List<String> codMdeps = UtilityDB.executeSimpleQueryOnlyFirstColumn(advancedDataSource.getConnection(), sqlDepo);
|
List<String> codMdeps = UtilityDB.executeSimpleQueryOnlyFirstColumn(connection, sqlDepo);
|
||||||
|
|
||||||
if (codMdeps != null && !codMdeps.isEmpty()) {
|
if (codMdeps != null && !codMdeps.isEmpty()) {
|
||||||
|
|
||||||
for (String codMdep : codMdeps) {
|
for (String codMdep : codMdeps) {
|
||||||
String stampantePrimaria = getPrinterNameByDepo(advancedDataSource.getConnection(), codMdep, null, PrinterService.Type.PRIMARIA);
|
String stampantePrimaria = getPrinterNameByDepo(connection, codMdep, null, PrinterService.Type.PRIMARIA);
|
||||||
String stampanteSecondaria = getPrinterNameByDepo(advancedDataSource.getConnection(), codMdep, null, PrinterService.Type.SECONDARIA);
|
String stampanteSecondaria = getPrinterNameByDepo(connection, codMdep, null, PrinterService.Type.SECONDARIA);
|
||||||
|
|
||||||
String grlAnagJreptSql = "SELECT DISTINCT report_id, tipo FROM " + GrlAnagJrept.ENTITY;
|
String grlAnagJreptSql = "SELECT DISTINCT report_id, tipo FROM " + GrlAnagJrept.ENTITY;
|
||||||
List<GrlAnagJrept> grlAnagJrepts = UtilityDB.executeSimpleQueryDTO(advancedDataSource.getConnection(), grlAnagJreptSql, GrlAnagJrept.class);
|
List<GrlAnagJrept> grlAnagJrepts = UtilityDB.executeSimpleQueryDTO(connection, grlAnagJreptSql, GrlAnagJrept.class);
|
||||||
|
|
||||||
if (grlAnagJrepts != null && !UtilityString.isNullOrEmpty(stampantePrimaria)) {
|
if (grlAnagJrepts != null && !UtilityString.isNullOrEmpty(stampantePrimaria)) {
|
||||||
for (GrlAnagJrept grlAnagJrept : grlAnagJrepts) {
|
for (GrlAnagJrept grlAnagJrept : grlAnagJrepts) {
|
||||||
@@ -90,7 +89,7 @@ public class Migration_20220405180136 extends BaseMigration implements Migration
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (WtbJreptSetup wtbJreptSetup : jreptSetupsToInsert) {
|
for (WtbJreptSetup wtbJreptSetup : jreptSetupsToInsert) {
|
||||||
wtbJreptSetup.manageWithParentConnection(advancedDataSource.getConnection(), droolsDataCompleting);
|
wtbJreptSetup.manageWithParentConnection(connection, droolsDataCompleting);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public class Migration_20220413102657 extends BaseMigration implements Migration
|
|||||||
" WHERE stb_user.user_name IS NULL ";
|
" WHERE stb_user.user_name IS NULL ";
|
||||||
|
|
||||||
|
|
||||||
List<WtbUsers> wtbUsersList = UtilityDB.executeSimpleQueryDTO(advancedDataSource.getConnection(), sql, WtbUsers.class);
|
List<WtbUsers> wtbUsersList = UtilityDB.executeSimpleQueryDTO(connection, sql, WtbUsers.class);
|
||||||
|
|
||||||
if (wtbUsersList == null) return;
|
if (wtbUsersList == null) return;
|
||||||
|
|
||||||
@@ -63,11 +63,10 @@ public class Migration_20220413102657 extends BaseMigration implements Migration
|
|||||||
.setCreationDatetime(wtbUser.getCreationDatetime())
|
.setCreationDatetime(wtbUser.getCreationDatetime())
|
||||||
.setPasswordExpiresDays(wtbUser.getPasswordExpiresDays())
|
.setPasswordExpiresDays(wtbUser.getPasswordExpiresDays())
|
||||||
.setLastPasswords(wtbUser.getLastPasswords())
|
.setLastPasswords(wtbUser.getLastPasswords())
|
||||||
.setFlagPasswordExpiring(wtbUser.getFlagPasswordExpiring())
|
.setFlagPasswordExpiring(wtbUser.getFlagPasswordExpiring());
|
||||||
.setDestructionDatetime(wtbUser.getDestructionDatetime());;
|
|
||||||
|
|
||||||
stbUser.setOperation(OperationType.INSERT);
|
stbUser.setOperation(OperationType.INSERT);
|
||||||
stbUser.manageWithParentConnection(advancedDataSource.getConnection(), droolsDataCompleting);
|
stbUser.manageWithParentConnection(connection, droolsDataCompleting);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public class Migration_20220415094936 extends BaseMigration implements Migration
|
|||||||
"SET flag_default_contabilita = 'S', flag_default = 'N' " +
|
"SET flag_default_contabilita = 'S', flag_default = 'N' " +
|
||||||
"WHERE flag_default = 'S'";
|
"WHERE flag_default = 'S'";
|
||||||
|
|
||||||
PreparedStatement updateDefaultFlagPS = advancedDataSource.getConnection().prepareStatement(updateDefaultFlagSql);
|
PreparedStatement updateDefaultFlagPS = connection.prepareStatement(updateDefaultFlagSql);
|
||||||
updateDefaultFlagPS.setQueryTimeout(30);
|
updateDefaultFlagPS.setQueryTimeout(30);
|
||||||
updateDefaultFlagPS.executeUpdate();
|
updateDefaultFlagPS.executeUpdate();
|
||||||
updateDefaultFlagPS.close();
|
updateDefaultFlagPS.close();
|
||||||
@@ -38,13 +38,13 @@ public class Migration_20220415094936 extends BaseMigration implements Migration
|
|||||||
" FROM " + StbEmail.ENTITY +
|
" FROM " + StbEmail.ENTITY +
|
||||||
" WHERE e_mail = " + UtilityDB.valueToString(mailConfiguration.getFrom());
|
" WHERE e_mail = " + UtilityDB.valueToString(mailConfiguration.getFrom());
|
||||||
|
|
||||||
boolean exists = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
|
boolean exists = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||||
|
|
||||||
|
|
||||||
if (!exists) {
|
if (!exists) {
|
||||||
boolean isOffice365 = mailConfiguration.getSmtp().contains("office365");
|
boolean isOffice365 = mailConfiguration.getSmtp().contains("office365");
|
||||||
|
|
||||||
int newId = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
|
int newId = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
|
||||||
"SELECT ISNULL(MAX(id_riga), 0) + 1 as new_id " +
|
"SELECT ISNULL(MAX(id_riga), 0) + 1 as new_id " +
|
||||||
"FROM stb_email");
|
"FROM stb_email");
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ public class Migration_20220415094936 extends BaseMigration implements Migration
|
|||||||
.setFlagDefault(isOffice365 ? "S" : "N");
|
.setFlagDefault(isOffice365 ? "S" : "N");
|
||||||
|
|
||||||
stbEmail.setOperation(OperationType.INSERT);
|
stbEmail.setOperation(OperationType.INSERT);
|
||||||
stbEmail.manageWithParentConnection(advancedDataSource.getConnection(), droolsDataCompleting);
|
stbEmail.manageWithParentConnection(connection, droolsDataCompleting);
|
||||||
|
|
||||||
if (!isOffice365) {
|
if (!isOffice365) {
|
||||||
String noReplyFrom = "noreply@" + mailConfiguration.getFrom().split("@")[1];
|
String noReplyFrom = "noreply@" + mailConfiguration.getFrom().split("@")[1];
|
||||||
@@ -79,14 +79,14 @@ public class Migration_20220415094936 extends BaseMigration implements Migration
|
|||||||
.setFlagDefault("S");
|
.setFlagDefault("S");
|
||||||
|
|
||||||
stbEmailNoReply.setOperation(OperationType.INSERT);
|
stbEmailNoReply.setOperation(OperationType.INSERT);
|
||||||
stbEmailNoReply.manageWithParentConnection(advancedDataSource.getConnection(), droolsDataCompleting);
|
stbEmailNoReply.manageWithParentConnection(connection, droolsDataCompleting);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
updateDefaultFlagSql = "UPDATE stb_email " +
|
updateDefaultFlagSql = "UPDATE stb_email " +
|
||||||
"SET flag_default = 'S' " +
|
"SET flag_default = 'S' " +
|
||||||
"WHERE e_mail = " + UtilityDB.valueToString(mailConfiguration.getFrom());
|
"WHERE e_mail = " + UtilityDB.valueToString(mailConfiguration.getFrom());
|
||||||
|
|
||||||
updateDefaultFlagPS = advancedDataSource.getConnection().prepareStatement(updateDefaultFlagSql);
|
updateDefaultFlagPS = connection.prepareStatement(updateDefaultFlagSql);
|
||||||
updateDefaultFlagPS.setQueryTimeout(30);
|
updateDefaultFlagPS.setQueryTimeout(30);
|
||||||
updateDefaultFlagPS.executeUpdate();
|
updateDefaultFlagPS.executeUpdate();
|
||||||
updateDefaultFlagPS.close();
|
updateDefaultFlagPS.close();
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package it.integry.ems.migration.model;
|
|||||||
import it.integry.ems.migration._base.BaseMigration;
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
import it.integry.ems.service.PrinterService;
|
import it.integry.ems.service.PrinterService;
|
||||||
|
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||||
import it.integry.ems_model.entity.GrlAnagJrept;
|
import it.integry.ems_model.entity.GrlAnagJrept;
|
||||||
import it.integry.ems_model.entity.MtbDepo;
|
import it.integry.ems_model.entity.MtbDepo;
|
||||||
import it.integry.ems_model.entity.WtbJrept;
|
import it.integry.ems_model.entity.WtbJrept;
|
||||||
@@ -14,8 +15,6 @@ import it.integry.ems_model.utility.UtilityString;
|
|||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
|
||||||
|
|
||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -30,15 +29,15 @@ public class Migration_20220421125860 extends BaseMigration implements Migration
|
|||||||
String checkTableSpesExistsSql = "SELECT CAST(COUNT(*) AS BIT) AS exist_table " +
|
String checkTableSpesExistsSql = "SELECT CAST(COUNT(*) AS BIT) AS exist_table " +
|
||||||
"FROM INFORMATION_SCHEMA.TABLES " +
|
"FROM INFORMATION_SCHEMA.TABLES " +
|
||||||
"WHERE TABLE_NAME = 'wtb_jrept_setup'";
|
"WHERE TABLE_NAME = 'wtb_jrept_setup'";
|
||||||
boolean existTable = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), checkTableSpesExistsSql);
|
boolean existTable = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, checkTableSpesExistsSql);
|
||||||
|
|
||||||
if (existTable) {
|
if (existTable) {
|
||||||
Statement statement = advancedDataSource.getConnection().createStatement();
|
Statement statement = connection.createStatement();
|
||||||
statement.execute("drop table wtb_jrept_setup");
|
statement.execute("drop table wtb_jrept_setup");
|
||||||
statement.close();
|
statement.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
Statement statement = advancedDataSource.getConnection().createStatement();
|
Statement statement = connection.createStatement();
|
||||||
statement.execute("create table wtb_jrept_setup\n" +
|
statement.execute("create table wtb_jrept_setup\n" +
|
||||||
"(\n" +
|
"(\n" +
|
||||||
" id bigint identity\n" +
|
" id bigint identity\n" +
|
||||||
@@ -60,7 +59,7 @@ public class Migration_20220421125860 extends BaseMigration implements Migration
|
|||||||
")");
|
")");
|
||||||
statement.close();
|
statement.close();
|
||||||
|
|
||||||
statement = advancedDataSource.getConnection().createStatement();
|
statement = connection.createStatement();
|
||||||
statement.execute("create unique index wtb_jrept_setup_cod_mdep_tipo_cod_anag_uindex" +
|
statement.execute("create unique index wtb_jrept_setup_cod_mdep_tipo_cod_anag_uindex" +
|
||||||
" on wtb_jrept_setup (cod_mdep, tipo, cod_anag)");
|
" on wtb_jrept_setup (cod_mdep, tipo, cod_anag)");
|
||||||
statement.close();
|
statement.close();
|
||||||
@@ -68,17 +67,17 @@ public class Migration_20220421125860 extends BaseMigration implements Migration
|
|||||||
ArrayList<WtbJreptSetup> jreptSetupsToInsert = new ArrayList<>();
|
ArrayList<WtbJreptSetup> jreptSetupsToInsert = new ArrayList<>();
|
||||||
|
|
||||||
String sqlAnagJrept = "SELECT * FROM " + GrlAnagJrept.ENTITY + " ";
|
String sqlAnagJrept = "SELECT * FROM " + GrlAnagJrept.ENTITY + " ";
|
||||||
List<GrlAnagJrept> anagJrepts = UtilityDB.executeSimpleQueryDTO(advancedDataSource.getConnection(), sqlAnagJrept, GrlAnagJrept.class);
|
List<GrlAnagJrept> anagJrepts = UtilityDB.executeSimpleQueryDTO(connection, sqlAnagJrept, GrlAnagJrept.class);
|
||||||
|
|
||||||
String sqlDepo = "SELECT cod_mdep FROM " + MtbDepo.ENTITY;
|
String sqlDepo = "SELECT cod_mdep FROM " + MtbDepo.ENTITY;
|
||||||
List<String> codMdeps = UtilityDB.executeSimpleQueryOnlyFirstColumn(advancedDataSource.getConnection(), sqlDepo);
|
List<String> codMdeps = UtilityDB.executeSimpleQueryOnlyFirstColumn(connection, sqlDepo);
|
||||||
|
|
||||||
if (anagJrepts != null && !anagJrepts.isEmpty()) {
|
if (anagJrepts != null && !anagJrepts.isEmpty()) {
|
||||||
|
|
||||||
for (GrlAnagJrept anagReport : anagJrepts) {
|
for (GrlAnagJrept anagReport : anagJrepts) {
|
||||||
|
|
||||||
String sqlOrientationReport = "SELECT orientation FROM " + WtbJrept.ENTITY + " where id = " + UtilityDB.valueToString(anagReport.getReportId());
|
String sqlOrientationReport = "SELECT orientation FROM " + WtbJrept.ENTITY + " where id = " + UtilityDB.valueToString(anagReport.getReportId());
|
||||||
int orientation = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sqlOrientationReport);
|
int orientation = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sqlOrientationReport);
|
||||||
|
|
||||||
WtbJreptSetup wtbJreptSetup = new WtbJreptSetup()
|
WtbJreptSetup wtbJreptSetup = new WtbJreptSetup()
|
||||||
.setCodMdep(null)
|
.setCodMdep(null)
|
||||||
@@ -92,7 +91,7 @@ public class Migration_20220421125860 extends BaseMigration implements Migration
|
|||||||
|
|
||||||
if (codMdeps != null && !codMdeps.isEmpty()) {
|
if (codMdeps != null && !codMdeps.isEmpty()) {
|
||||||
for (String codMdep : codMdeps) {
|
for (String codMdep : codMdeps) {
|
||||||
String stampantePrimaria = getPrinterNameByDepo(advancedDataSource.getConnection(), codMdep, null, PrinterService.Type.PRIMARIA);
|
String stampantePrimaria = getPrinterNameByDepo(connection, codMdep, null, PrinterService.Type.PRIMARIA);
|
||||||
if (!UtilityString.isNullOrEmpty(stampantePrimaria)) {
|
if (!UtilityString.isNullOrEmpty(stampantePrimaria)) {
|
||||||
|
|
||||||
WtbJreptSetup wtbJreptSetupDepo = new WtbJreptSetup()
|
WtbJreptSetup wtbJreptSetupDepo = new WtbJreptSetup()
|
||||||
@@ -116,7 +115,7 @@ public class Migration_20220421125860 extends BaseMigration implements Migration
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (WtbJreptSetup wtbJreptSetup : jreptSetupsToInsert) {
|
for (WtbJreptSetup wtbJreptSetup : jreptSetupsToInsert) {
|
||||||
wtbJreptSetup.manageWithParentConnection(advancedDataSource.getConnection());
|
wtbJreptSetup.manageWithParentConnection(connection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,13 +17,13 @@ public class Migration_20220510103554 extends BaseMigration implements Migration
|
|||||||
"FROM sys.columns " +
|
"FROM sys.columns " +
|
||||||
"WHERE Name = N'ref_uuid' " +
|
"WHERE Name = N'ref_uuid' " +
|
||||||
"AND Object_ID = Object_ID(N'dbo.stb_activity_file')";
|
"AND Object_ID = Object_ID(N'dbo.stb_activity_file')";
|
||||||
boolean existColumn = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), checkTableSpesExistsSql);
|
boolean existColumn = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, checkTableSpesExistsSql);
|
||||||
|
|
||||||
if (existColumn) {
|
if (existColumn) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Statement statement = advancedDataSource.getConnection().createStatement();
|
Statement statement = connection.createStatement();
|
||||||
statement.execute("ALTER TABLE stb_activity_file " +
|
statement.execute("ALTER TABLE stb_activity_file " +
|
||||||
"ADD ref_uuid VARCHAR(36) NULL");
|
"ADD ref_uuid VARCHAR(36) NULL");
|
||||||
statement.close();
|
statement.close();
|
||||||
|
|||||||
@@ -17,13 +17,13 @@ public class Migration_20220510123355 extends BaseMigration implements Migration
|
|||||||
"FROM sys.columns " +
|
"FROM sys.columns " +
|
||||||
"WHERE Name = N'ref_uuid1' " +
|
"WHERE Name = N'ref_uuid1' " +
|
||||||
"AND Object_ID = Object_ID(N'dbo.stb_activity_file')";
|
"AND Object_ID = Object_ID(N'dbo.stb_activity_file')";
|
||||||
boolean existColumn = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), checkTableSpesExistsSql);
|
boolean existColumn = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, checkTableSpesExistsSql);
|
||||||
|
|
||||||
if (existColumn) {
|
if (existColumn) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Statement statement = advancedDataSource.getConnection().createStatement();
|
Statement statement = connection.createStatement();
|
||||||
statement.execute("ALTER TABLE stb_activity_file " +
|
statement.execute("ALTER TABLE stb_activity_file " +
|
||||||
"ADD ref_uuid1 VARCHAR(36) NULL");
|
"ADD ref_uuid1 VARCHAR(36) NULL");
|
||||||
statement.close();
|
statement.close();
|
||||||
|
|||||||
@@ -28,11 +28,11 @@ public class Migration_20221128123233 extends BaseMigration implements Migration
|
|||||||
"ALTER TABLE azienda\n" +
|
"ALTER TABLE azienda\n" +
|
||||||
" ADD jwt_secret_key VARCHAR(MAX)");
|
" ADD jwt_secret_key VARCHAR(MAX)");
|
||||||
|
|
||||||
Azienda azienda = Azienda.getDefaultAzienda(advancedDataSource.getConnection());
|
Azienda azienda = Azienda.getDefaultAzienda(connection);
|
||||||
azienda.setJwtSecretKey(secretKeyToUse)
|
azienda.setJwtSecretKey(secretKeyToUse)
|
||||||
.setOperation(OperationType.UPDATE);
|
.setOperation(OperationType.UPDATE);
|
||||||
|
|
||||||
azienda.manageWithParentConnection(advancedDataSource.getConnection());
|
azienda.manageWithParentConnection(connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -25,12 +25,12 @@ public class Migration_20230411163906 extends BaseMigration implements Migration
|
|||||||
"ALTER TABLE stb_files_attached\n" +
|
"ALTER TABLE stb_files_attached\n" +
|
||||||
" ADD mime_type VARCHAR(MAX)");
|
" ADD mime_type VARCHAR(MAX)");
|
||||||
|
|
||||||
final List<HashMap<String, Object>> stbFilesAttached = UtilityDB.executeSimpleQuery(advancedDataSource.getConnection(),
|
final List<HashMap<String, Object>> stbFilesAttached = UtilityDB.executeSimpleQuery(connection,
|
||||||
"SELECT id_attach, file_name FROM stb_files_attached\n" +
|
"SELECT id_attach, file_name FROM stb_files_attached\n" +
|
||||||
"WHERE mime_type IS NULL");
|
"WHERE mime_type IS NULL");
|
||||||
|
|
||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
String profileDb = advancedDataSource.getProfileName();
|
String profileDb = connection.getProfileName();
|
||||||
try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(profileDb, false)) {
|
try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(profileDb, false)) {
|
||||||
for (HashMap<String, Object> stbFileAttached : stbFilesAttached) {
|
for (HashMap<String, Object> stbFileAttached : stbFilesAttached) {
|
||||||
final MediaType mimeType = mimeTypesHandler.getContentType((String) stbFileAttached.get("file_name"));
|
final MediaType mimeType = mimeTypesHandler.getContentType((String) stbFileAttached.get("file_name"));
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ public class Migration_20230523130047 extends BaseMigration implements Migration
|
|||||||
.setIndexName("ix_dtb_ordr_id_contratto")
|
.setIndexName("ix_dtb_ordr_id_contratto")
|
||||||
.setColumnsIndex(columnsIndex)/*
|
.setColumnsIndex(columnsIndex)/*
|
||||||
.setColumnsInclude("ciao", "prova", "sole") */;
|
.setColumnsInclude("ciao", "prova", "sole") */;
|
||||||
UtilityDB.createIndex(advancedDataSource.getConnection(),indexTableDTO );
|
UtilityDB.createIndex(connection,indexTableDTO );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ public class Migration_20231025100023 extends BaseMigration implements Migration
|
|||||||
.setColumnsIndex(columnsIndex)
|
.setColumnsIndex(columnsIndex)
|
||||||
.setUnique(true)/*
|
.setUnique(true)/*
|
||||||
.setColumnsInclude("ciao", "prova", "sole") */;
|
.setColumnsInclude("ciao", "prova", "sole") */;
|
||||||
UtilityDB.createIndex(advancedDataSource.getConnection(),indexTableDTO );
|
UtilityDB.createIndex(connection,indexTableDTO );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ public class Migration_20231130152938 extends BaseMigration implements Migration
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void up() throws Exception {
|
public void up() throws Exception {
|
||||||
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(advancedDataSource.getDataSource().getDbName()))
|
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(connection.getDbName()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
settingsModel.setEnableTokenCaching(!UtilityDebug.isDebugExecution());
|
settingsModel.setEnableTokenCaching(!UtilityDebug.isDebugExecution());
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ public class Migration_20231201094005 extends BaseMigration implements Migration
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
String sql = "select cast(COUNT(*) as bit) from sys.syscolumns where OBJECT_NAME(id) = 'mtb_colt' and name = 'id_lotto'";
|
String sql = "select cast(COUNT(*) as bit) from sys.syscolumns where OBJECT_NAME(id) = 'mtb_colt' and name = 'id_lotto'";
|
||||||
boolean existColumn = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
|
boolean existColumn = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||||
|
|
||||||
if (!existColumn )
|
if (!existColumn )
|
||||||
executeStatement(
|
executeStatement(
|
||||||
@@ -30,7 +30,7 @@ public class Migration_20231201094005 extends BaseMigration implements Migration
|
|||||||
new IndexTableDTO.ColumnIndex("cod_jfas"),
|
new IndexTableDTO.ColumnIndex("cod_jfas"),
|
||||||
new IndexTableDTO.ColumnIndex("id_lotto")
|
new IndexTableDTO.ColumnIndex("id_lotto")
|
||||||
));
|
));
|
||||||
UtilityDB.createIndex(advancedDataSource.getConnection(), indexTableDTO);
|
UtilityDB.createIndex(connection, indexTableDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ public class Migration_20231201161808 extends BaseMigration implements Migration
|
|||||||
@Override
|
@Override
|
||||||
public void up() throws Exception {
|
public void up() throws Exception {
|
||||||
SetupGest setupGest = getContextBean(SetupGest.class);
|
SetupGest setupGest = getContextBean(SetupGest.class);
|
||||||
String datiFornitori = setupGest.getSetup(advancedDataSource.getConnection(), "PVM", "DOC_INTERNI", "CHECK_FORNITORE");
|
String datiFornitori = setupGest.getSetup(connection, "PVM", "DOC_INTERNI", "CHECK_FORNITORE");
|
||||||
|
|
||||||
if (UtilityString.isNullOrEmpty(datiFornitori))
|
if (UtilityString.isNullOrEmpty(datiFornitori))
|
||||||
return;
|
return;
|
||||||
@@ -30,7 +30,7 @@ public class Migration_20231201161808 extends BaseMigration implements Migration
|
|||||||
" INNER JOIN azienda ON gtb_anag.part_iva = azienda.part_iva\n" +
|
" INNER JOIN azienda ON gtb_anag.part_iva = azienda.part_iva\n" +
|
||||||
" INNER JOIN atb_forn ON gtb_anag.cod_anag = atb_forn.cod_anag ";
|
" INNER JOIN atb_forn ON gtb_anag.cod_anag = atb_forn.cod_anag ";
|
||||||
|
|
||||||
List<String> fornitori = UtilityDB.executeSimpleQueryOnlyFirstColumn(advancedDataSource.getConnection(), sql);
|
List<String> fornitori = UtilityDB.executeSimpleQueryOnlyFirstColumn(connection, sql);
|
||||||
|
|
||||||
|
|
||||||
List<String> queries = new ArrayList<>();
|
List<String> queries = new ArrayList<>();
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ public class Migration_20240125114347 extends BaseMigration implements Migration
|
|||||||
final String gestName = "PICKING";
|
final String gestName = "PICKING";
|
||||||
final String section = "LOGISTICA";
|
final String section = "LOGISTICA";
|
||||||
final String keySection = "COD_DTIP_DOC_TRASF_INTERNI";
|
final String keySection = "COD_DTIP_DOC_TRASF_INTERNI";
|
||||||
String jsonString = setupGest.getSetup(advancedDataSource.getConnection(), gestName, section, keySection);
|
String jsonString = setupGest.getSetup(connection, gestName, section, keySection);
|
||||||
|
|
||||||
if (UtilityString.isNullOrEmpty(jsonString))
|
if (UtilityString.isNullOrEmpty(jsonString))
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ public class Migration_20240201160125 extends BaseMigration implements Migration
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
String existsCheckSql = "SELECT CAST(COUNT(*) AS BIT) AS exist FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'stb_migration_status'";
|
String existsCheckSql = "SELECT CAST(COUNT(*) AS BIT) AS exist FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'stb_migration_status'";
|
||||||
boolean exists = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), existsCheckSql);
|
boolean exists = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, existsCheckSql);
|
||||||
|
|
||||||
if(exists)
|
if(exists)
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -2,15 +2,13 @@ package it.integry.ems.migration.model;
|
|||||||
|
|
||||||
import it.integry.ems.migration._base.BaseMigration;
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||||
import it.integry.ems_model.utility.Query;
|
import it.integry.ems_model.utility.Query;
|
||||||
import it.integry.ems_model.utility.UtilityDB;
|
import it.integry.ems_model.utility.UtilityDB;
|
||||||
import it.integry.ems_model.utility.UtilityHashMap;
|
import it.integry.ems_model.utility.UtilityHashMap;
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
|
||||||
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -23,13 +21,13 @@ public class Migration_20240212000000 extends BaseMigration implements Migration
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
String sql = "SELECT * FROM stb_publications";
|
String sql = "SELECT * FROM stb_publications";
|
||||||
final List<HashMap<String, Object>> oldStbPublications = UtilityDB.executeSimpleQuery(advancedDataSource.getConnection(), sql);
|
final List<HashMap<String, Object>> oldStbPublications = UtilityDB.executeSimpleQuery(connection, sql);
|
||||||
|
|
||||||
sql = "SELECT * FROM stb_publications_detail";
|
sql = "SELECT * FROM stb_publications_detail";
|
||||||
final List<HashMap<String, Object>> oldStbPublicationsDetails = UtilityDB.executeSimpleQuery(advancedDataSource.getConnection(), sql);
|
final List<HashMap<String, Object>> oldStbPublicationsDetails = UtilityDB.executeSimpleQuery(connection, sql);
|
||||||
|
|
||||||
dropOldTables();
|
dropOldTables();
|
||||||
createNewTables(advancedDataSource.getConnection());
|
createNewTables(connection);
|
||||||
|
|
||||||
|
|
||||||
for (HashMap<String, Object> oldStbPublication : oldStbPublications) {
|
for (HashMap<String, Object> oldStbPublication : oldStbPublications) {
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ public class Migration_20240304165725 extends BaseMigration implements Migration
|
|||||||
if (isHistoryDB())
|
if (isHistoryDB())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (advancedDataSource.getProfileName().equalsIgnoreCase("carelli") ||
|
if (connection.getProfileName().equalsIgnoreCase("carelli") ||
|
||||||
advancedDataSource.getProfileName().equalsIgnoreCase("gestfood") ||
|
connection.getProfileName().equalsIgnoreCase("gestfood") ||
|
||||||
advancedDataSource.getProfileName().equalsIgnoreCase("panimal")) {
|
connection.getProfileName().equalsIgnoreCase("panimal")) {
|
||||||
|
|
||||||
String sql = "UPDATE carelli_giacenza_prog\n" +
|
String sql = "UPDATE carelli_giacenza_prog\n" +
|
||||||
"SET tipo_car = 'R'\n" +
|
"SET tipo_car = 'R'\n" +
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ public class Migration_20240307103608 extends BaseMigration implements Migration
|
|||||||
add("PANIMAL");
|
add("PANIMAL");
|
||||||
}};
|
}};
|
||||||
|
|
||||||
if (elencoDb.stream().noneMatch(x -> x.equalsIgnoreCase(advancedDataSource.getDataSource().getDbName())))
|
if (elencoDb.stream().noneMatch(x -> x.equalsIgnoreCase(connection.getDbName())))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
String sql =
|
String sql =
|
||||||
@@ -39,7 +39,7 @@ public class Migration_20240307103608 extends BaseMigration implements Migration
|
|||||||
" AND wtb_users_info.flag_state = 'S'\n" +
|
" AND wtb_users_info.flag_state = 'S'\n" +
|
||||||
" AND stb_user.key_group = '10'";
|
" AND stb_user.key_group = '10'";
|
||||||
|
|
||||||
List<HashMap<String, Object>> elencoUtenti = UtilityDB.executeSimpleQuery(advancedDataSource.getConnection(), sql);
|
List<HashMap<String, Object>> elencoUtenti = UtilityDB.executeSimpleQuery(connection, sql);
|
||||||
|
|
||||||
List<ExportAutomatedOperationDTO> operations = new ArrayList<>();
|
List<ExportAutomatedOperationDTO> operations = new ArrayList<>();
|
||||||
for (HashMap<String, Object> user : elencoUtenti) {
|
for (HashMap<String, Object> user : elencoUtenti) {
|
||||||
@@ -53,7 +53,7 @@ public class Migration_20240307103608 extends BaseMigration implements Migration
|
|||||||
.setUsername((String) user.get("user_name"))
|
.setUsername((String) user.get("user_name"))
|
||||||
.setPassword((String) user.get("password"))
|
.setPassword((String) user.get("password"))
|
||||||
.setJsonRequest("{ \t\"tipoReport\": \"G\" }")
|
.setJsonRequest("{ \t\"tipoReport\": \"G\" }")
|
||||||
.setProfileDb(advancedDataSource.getProfileName());
|
.setProfileDb(connection.getProfileName());
|
||||||
exportAutomatedOperationDTO
|
exportAutomatedOperationDTO
|
||||||
.setCronTrigger("0 0 22 1/1 * *")
|
.setCronTrigger("0 0 22 1/1 * *")
|
||||||
.setName(operationName);
|
.setName(operationName);
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ public class Migration_20240312093539 extends BaseMigration implements Migration
|
|||||||
boolean existTable = existsTable(tableName);
|
boolean existTable = existsTable(tableName);
|
||||||
|
|
||||||
if (existTable) {
|
if (existTable) {
|
||||||
boolean existRow = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), "SELECT cast(count(*) as bit) FROM " + tableName);
|
boolean existRow = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, "SELECT cast(count(*) as bit) FROM " + tableName);
|
||||||
if (existRow) return;
|
if (existRow) return;
|
||||||
dropTable(tableName);
|
dropTable(tableName);
|
||||||
}
|
}
|
||||||
@@ -40,12 +40,12 @@ public class Migration_20240312093539 extends BaseMigration implements Migration
|
|||||||
" orientation int default 0 not null\n" +
|
" orientation int default 0 not null\n" +
|
||||||
")";
|
")";
|
||||||
|
|
||||||
executeStatement(advancedDataSource.getConnection(), createSql);
|
executeStatement(connection, createSql);
|
||||||
|
|
||||||
String createIndex = "create unique index wtb_jrept_setup_cod_mdep_tipo_cod_anag_uindex" +
|
String createIndex = "create unique index wtb_jrept_setup_cod_mdep_tipo_cod_anag_uindex" +
|
||||||
" on wtb_jrept_setup (cod_mdep, tipo, cod_anag)";
|
" on wtb_jrept_setup (cod_mdep, tipo, cod_anag)";
|
||||||
|
|
||||||
executeStatement(advancedDataSource.getConnection(), createIndex);
|
executeStatement(connection, createIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public class Migration_20240321144750 extends BaseMigration implements Migration
|
|||||||
if (!isCustomer(IntegryCustomer.Tosca)) return;
|
if (!isCustomer(IntegryCustomer.Tosca)) return;
|
||||||
|
|
||||||
|
|
||||||
String currentDbName = advancedDataSource.getDataSource().getDbName();
|
String currentDbName = connection.getDbName();
|
||||||
IntegryCustomerDB db = Arrays.stream(IntegryCustomer.Tosca.getValues()).filter(x -> x.getValue().equalsIgnoreCase(currentDbName)).findFirst().orElse(null);
|
IntegryCustomerDB db = Arrays.stream(IntegryCustomer.Tosca.getValues()).filter(x -> x.getValue().equalsIgnoreCase(currentDbName)).findFirst().orElse(null);
|
||||||
|
|
||||||
LocalDate giorno = UtilityLocalDate.getNow();
|
LocalDate giorno = UtilityLocalDate.getNow();
|
||||||
@@ -52,7 +52,7 @@ public class Migration_20240321144750 extends BaseMigration implements Migration
|
|||||||
}
|
}
|
||||||
|
|
||||||
String sql = "SELECT MAX(id_riga) from stb_calr_ore_gg where cod_Cal = 'DEFAULT'";
|
String sql = "SELECT MAX(id_riga) from stb_calr_ore_gg where cod_Cal = 'DEFAULT'";
|
||||||
Integer idRiga = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
|
Integer idRiga = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||||
|
|
||||||
if (idRiga == null) {
|
if (idRiga == null) {
|
||||||
throw new Exception("Calendario DEFAULT non configurato!");
|
throw new Exception("Calendario DEFAULT non configurato!");
|
||||||
@@ -71,7 +71,7 @@ public class Migration_20240321144750 extends BaseMigration implements Migration
|
|||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
calendario.getStbCalrOreGg().add(firstWorkingHour);
|
calendario.getStbCalrOreGg().add(firstWorkingHour);
|
||||||
|
|
||||||
calendario.manageWithParentConnection(advancedDataSource.getConnection());
|
calendario.manageWithParentConnection(connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ public class Migration_20240408151803 extends BaseMigration implements Migration
|
|||||||
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_ANSI_PADDING", "S");
|
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_ANSI_PADDING", "S");
|
||||||
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_CONCAT_NULL_YIELDS_NULL", "S");
|
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_CONCAT_NULL_YIELDS_NULL", "S");
|
||||||
|
|
||||||
SQLServerDBSchemaManager schemaManager = new SQLServerDBSchemaManager(this.advancedDataSource.getConnection());
|
SQLServerDBSchemaManager schemaManager = new SQLServerDBSchemaManager(this.connection);
|
||||||
final List<String> queries = schemaManager.generateAlterTableToDisableAnsiPadding();
|
final List<String> queries = schemaManager.generateAlterTableToDisableAnsiPadding();
|
||||||
|
|
||||||
//executeStatement(queries.toArray(new String[0]));
|
//executeStatement(queries.toArray(new String[0]));
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ public class Migration_20240411152632 extends BaseMigration implements Migration
|
|||||||
.setIndexName("ix_mtb_movi_kit")
|
.setIndexName("ix_mtb_movi_kit")
|
||||||
.setColumnsIndex(columnsIndex)
|
.setColumnsIndex(columnsIndex)
|
||||||
.setColumnsInclude("anno");
|
.setColumnsInclude("anno");
|
||||||
UtilityDB.createIndex(advancedDataSource.getConnection(),indexTableDTO );
|
UtilityDB.createIndex(connection,indexTableDTO );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ public class Migration_20240514113425 extends BaseMigration implements Migration
|
|||||||
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_ANSI_PADDING", "S");
|
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_ANSI_PADDING", "S");
|
||||||
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_CONCAT_NULL_YIELDS_NULL", "S");
|
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_CONCAT_NULL_YIELDS_NULL", "S");
|
||||||
|
|
||||||
SQLServerDBSchemaManager schemaManager = new SQLServerDBSchemaManager(this.advancedDataSource.getConnection());
|
SQLServerDBSchemaManager schemaManager = new SQLServerDBSchemaManager(this.connection);
|
||||||
final List<String> queries = schemaManager.generateAlterTableToDisableAnsiPadding();
|
final List<String> queries = schemaManager.generateAlterTableToDisableAnsiPadding();
|
||||||
|
|
||||||
//executeStatement(queries.toArray(new String[0]));
|
//executeStatement(queries.toArray(new String[0]));
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public class Migration_20240626095147 extends BaseMigration implements Migration
|
|||||||
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_ANSI_PADDING", "S");
|
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_ANSI_PADDING", "S");
|
||||||
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_CONCAT_NULL_YIELDS_NULL", "S");
|
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_CONCAT_NULL_YIELDS_NULL", "S");
|
||||||
|
|
||||||
SQLServerDBSchemaManager schemaManager = new SQLServerDBSchemaManager(this.advancedDataSource.getConnection());
|
SQLServerDBSchemaManager schemaManager = new SQLServerDBSchemaManager(this.connection);
|
||||||
final List<String> queries = schemaManager.generateAlterTableToDisableAnsiPadding();
|
final List<String> queries = schemaManager.generateAlterTableToDisableAnsiPadding();
|
||||||
|
|
||||||
//executeStatement(queries.toArray(new String[0]));
|
//executeStatement(queries.toArray(new String[0]));
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public class Migration_20240828094457 extends BaseMigration implements Migration
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
String sql = "SELECT * from vtb_clie";
|
String sql = "SELECT * from vtb_clie";
|
||||||
List<VtbClie> listaClienti = UtilityDB.executeSimpleQueryDTO(advancedDataSource.getConnection(), sql, VtbClie.class);
|
List<VtbClie> listaClienti = UtilityDB.executeSimpleQueryDTO(connection, sql, VtbClie.class);
|
||||||
if (listaClienti.isEmpty())
|
if (listaClienti.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -40,8 +40,8 @@ public class Migration_20240828094457 extends BaseMigration implements Migration
|
|||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
clie
|
clie
|
||||||
.setOperation(OperationType.DELETE);
|
.setOperation(OperationType.DELETE);
|
||||||
forn.manageWithParentConnection(advancedDataSource.getConnection(), droolsDataCompleting);
|
forn.manageWithParentConnection(connection, droolsDataCompleting);
|
||||||
clie.manageWithParentConnection(advancedDataSource.getConnection(), droolsDataCompleting);
|
clie.manageWithParentConnection(connection, droolsDataCompleting);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<String> queryDiacod = new ArrayList<>();
|
List<String> queryDiacod = new ArrayList<>();
|
||||||
@@ -78,7 +78,7 @@ public class Migration_20240828094457 extends BaseMigration implements Migration
|
|||||||
|
|
||||||
|
|
||||||
for (String updateDiacodSql : queryDiacod) {
|
for (String updateDiacodSql : queryDiacod) {
|
||||||
PreparedStatement updateDefaultFlagPS = advancedDataSource.getConnection().prepareStatement(updateDiacodSql);
|
PreparedStatement updateDefaultFlagPS = connection.prepareStatement(updateDiacodSql);
|
||||||
updateDefaultFlagPS.setQueryTimeout(30);
|
updateDefaultFlagPS.setQueryTimeout(30);
|
||||||
updateDefaultFlagPS.executeUpdate();
|
updateDefaultFlagPS.executeUpdate();
|
||||||
updateDefaultFlagPS.close();
|
updateDefaultFlagPS.close();
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ public class Migration_20240909153448 extends BaseMigration implements Migration
|
|||||||
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_ANSI_PADDING", "S");
|
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_ANSI_PADDING", "S");
|
||||||
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_CONCAT_NULL_YIELDS_NULL", "S");
|
updateSetupValue("DATI_AZIENDA", "SETUP", "FLAG_CONCAT_NULL_YIELDS_NULL", "S");
|
||||||
|
|
||||||
SQLServerDBSchemaManager schemaManager = new SQLServerDBSchemaManager(this.advancedDataSource.getConnection());
|
SQLServerDBSchemaManager schemaManager = new SQLServerDBSchemaManager(this.connection);
|
||||||
final List<String> queries = schemaManager.generateAlterTableToDisableAnsiPadding();
|
final List<String> queries = schemaManager.generateAlterTableToDisableAnsiPadding();
|
||||||
|
|
||||||
//executeStatement(queries.toArray(new String[0]));
|
//executeStatement(queries.toArray(new String[0]));
|
||||||
|
|||||||
@@ -302,7 +302,7 @@ public class Migration_20240920113346 extends BaseMigration implements Migration
|
|||||||
// .setB64Jrxml(jrxml);
|
// .setB64Jrxml(jrxml);
|
||||||
//
|
//
|
||||||
// wtbJrept.setOperation(OperationType.UPDATE);
|
// wtbJrept.setOperation(OperationType.UPDATE);
|
||||||
// wtbJrept.manageWithParentConnection(advancedDataSource.getConnection(), droolsDataCompleting);
|
// wtbJrept.manageWithParentConnection(connection, droolsDataCompleting);
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
anagPublication.getStbPublicationsDetails().add(detailAtbForn);
|
anagPublication.getStbPublicationsDetails().add(detailAtbForn);
|
||||||
|
|
||||||
anagPublication.manageWithParentConnection(advancedDataSource.getConnection(),droolsDataCompleting);
|
anagPublication.manageWithParentConnection(connection,droolsDataCompleting);
|
||||||
//</editor-fold>
|
//</editor-fold>
|
||||||
//<editor-fold desc="Pubblicazione impegnato (Triggiano)">
|
//<editor-fold desc="Pubblicazione impegnato (Triggiano)">
|
||||||
StbPublications impegnatoTriggiano = new StbPublications();
|
StbPublications impegnatoTriggiano = new StbPublications();
|
||||||
@@ -113,7 +113,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setExportHistory(false)
|
.setExportHistory(false)
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
impegnatoTriggiano.getStbPublicationsDetails().add(detailDtbOrdrBA);
|
impegnatoTriggiano.getStbPublicationsDetails().add(detailDtbOrdrBA);
|
||||||
impegnatoTriggiano.manageWithParentConnection(advancedDataSource.getConnection());
|
impegnatoTriggiano.manageWithParentConnection(connection);
|
||||||
//</editor-fold>
|
//</editor-fold>
|
||||||
//<editor-fold desc="Pubblicazione impegnato (Caserta)">
|
//<editor-fold desc="Pubblicazione impegnato (Caserta)">
|
||||||
StbPublications impegnatoCaserta = new StbPublications();
|
StbPublications impegnatoCaserta = new StbPublications();
|
||||||
@@ -142,7 +142,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setExportHistory(false)
|
.setExportHistory(false)
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
impegnatoCaserta.getStbPublicationsDetails().add(detailDtbOrdrCE);
|
impegnatoCaserta.getStbPublicationsDetails().add(detailDtbOrdrCE);
|
||||||
impegnatoCaserta.manageWithParentConnection(advancedDataSource.getConnection());
|
impegnatoCaserta.manageWithParentConnection(connection);
|
||||||
//</editor-fold>
|
//</editor-fold>
|
||||||
//<editor-fold desc="Pubblicazione impegnato (Catanzaro)">
|
//<editor-fold desc="Pubblicazione impegnato (Catanzaro)">
|
||||||
StbPublications impegnatoCatanzaro = new StbPublications();
|
StbPublications impegnatoCatanzaro = new StbPublications();
|
||||||
@@ -171,7 +171,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setExportHistory(false)
|
.setExportHistory(false)
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
impegnatoCatanzaro.getStbPublicationsDetails().add(detailDtbOrdrCZ);
|
impegnatoCatanzaro.getStbPublicationsDetails().add(detailDtbOrdrCZ);
|
||||||
impegnatoCatanzaro.manageWithParentConnection(advancedDataSource.getConnection());
|
impegnatoCatanzaro.manageWithParentConnection(connection);
|
||||||
//</editor-fold>
|
//</editor-fold>
|
||||||
//<editor-fold desc="Pubblicazione impegnato (Forlì-Cesena)">
|
//<editor-fold desc="Pubblicazione impegnato (Forlì-Cesena)">
|
||||||
StbPublications impegnatoFC = new StbPublications();
|
StbPublications impegnatoFC = new StbPublications();
|
||||||
@@ -200,7 +200,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setExportHistory(false)
|
.setExportHistory(false)
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
impegnatoFC.getStbPublicationsDetails().add(detailDtbOrdrFC);
|
impegnatoFC.getStbPublicationsDetails().add(detailDtbOrdrFC);
|
||||||
impegnatoFC.manageWithParentConnection(advancedDataSource.getConnection());
|
impegnatoFC.manageWithParentConnection(connection);
|
||||||
//</editor-fold>
|
//</editor-fold>
|
||||||
//<editor-fold desc="Pubblicazione impegnato (Milano)">
|
//<editor-fold desc="Pubblicazione impegnato (Milano)">
|
||||||
StbPublications impegnatoMI = new StbPublications();
|
StbPublications impegnatoMI = new StbPublications();
|
||||||
@@ -229,7 +229,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setExportHistory(false)
|
.setExportHistory(false)
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
impegnatoMI.getStbPublicationsDetails().add(detailDtbOrdrMI);
|
impegnatoMI.getStbPublicationsDetails().add(detailDtbOrdrMI);
|
||||||
impegnatoMI.manageWithParentConnection(advancedDataSource.getConnection());
|
impegnatoMI.manageWithParentConnection(connection);
|
||||||
//</editor-fold>
|
//</editor-fold>
|
||||||
//<editor-fold desc="Pubblicazione impegnato (Ragusa)">
|
//<editor-fold desc="Pubblicazione impegnato (Ragusa)">
|
||||||
StbPublications impegnatoRG = new StbPublications();
|
StbPublications impegnatoRG = new StbPublications();
|
||||||
@@ -258,7 +258,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setExportHistory(false)
|
.setExportHistory(false)
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
impegnatoRG.getStbPublicationsDetails().add(detailDtbOrdrRG);
|
impegnatoRG.getStbPublicationsDetails().add(detailDtbOrdrRG);
|
||||||
impegnatoRG.manageWithParentConnection(advancedDataSource.getConnection());
|
impegnatoRG.manageWithParentConnection(connection);
|
||||||
//</editor-fold>
|
//</editor-fold>
|
||||||
//<editor-fold desc="Pubblicazione impegnato (Roma)">
|
//<editor-fold desc="Pubblicazione impegnato (Roma)">
|
||||||
StbPublications impegnatoRoma = new StbPublications();
|
StbPublications impegnatoRoma = new StbPublications();
|
||||||
@@ -286,7 +286,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setExportHistory(false)
|
.setExportHistory(false)
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
impegnatoRoma.getStbPublicationsDetails().add(detailDtbOrdrRM);
|
impegnatoRoma.getStbPublicationsDetails().add(detailDtbOrdrRM);
|
||||||
impegnatoRoma.manageWithParentConnection(advancedDataSource.getConnection());
|
impegnatoRoma.manageWithParentConnection(connection);
|
||||||
//</editor-fold>
|
//</editor-fold>
|
||||||
//<editor-fold desc="Pubblicazione impegnato (Verona)">
|
//<editor-fold desc="Pubblicazione impegnato (Verona)">
|
||||||
StbPublications impegnatoVR = new StbPublications();
|
StbPublications impegnatoVR = new StbPublications();
|
||||||
@@ -315,7 +315,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setExportHistory(false)
|
.setExportHistory(false)
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
impegnatoVR.getStbPublicationsDetails().add(detailDtbOrdrVR);
|
impegnatoVR.getStbPublicationsDetails().add(detailDtbOrdrVR);
|
||||||
impegnatoVR.manageWithParentConnection(advancedDataSource.getConnection());
|
impegnatoVR.manageWithParentConnection(connection);
|
||||||
//</editor-fold>
|
//</editor-fold>
|
||||||
} else {
|
} else {
|
||||||
//<editor-fold desc="sottoscrizione anagrafiche">
|
//<editor-fold desc="sottoscrizione anagrafiche">
|
||||||
@@ -331,7 +331,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setPassword("sql")
|
.setPassword("sql")
|
||||||
.setProfileDb("TOSCA_CLOUD")
|
.setProfileDb("TOSCA_CLOUD")
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
anagSubscription.manageWithParentConnection(advancedDataSource.getConnection());
|
anagSubscription.manageWithParentConnection(connection);
|
||||||
;
|
;
|
||||||
//</editor-fold>
|
//</editor-fold>
|
||||||
|
|
||||||
@@ -347,7 +347,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setUsernameField("dba")
|
.setUsernameField("dba")
|
||||||
.setPassword("sql")
|
.setPassword("sql")
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
syncImpegnatoBa.manageWithParentConnection(advancedDataSource.getConnection());
|
syncImpegnatoBa.manageWithParentConnection(connection);
|
||||||
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Ce)) {
|
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Ce)) {
|
||||||
StbRemoteSubscription syncImpegnatoCe = new StbRemoteSubscription();
|
StbRemoteSubscription syncImpegnatoCe = new StbRemoteSubscription();
|
||||||
syncImpegnatoCe.setActive(true)
|
syncImpegnatoCe.setActive(true)
|
||||||
@@ -360,7 +360,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setUsernameField("dba")
|
.setUsernameField("dba")
|
||||||
.setPassword("sql")
|
.setPassword("sql")
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
syncImpegnatoCe.manageWithParentConnection(advancedDataSource.getConnection());
|
syncImpegnatoCe.manageWithParentConnection(connection);
|
||||||
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Cz)) {
|
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Cz)) {
|
||||||
StbRemoteSubscription syncImpegnatoCz = new StbRemoteSubscription();
|
StbRemoteSubscription syncImpegnatoCz = new StbRemoteSubscription();
|
||||||
syncImpegnatoCz.setActive(true)
|
syncImpegnatoCz.setActive(true)
|
||||||
@@ -373,7 +373,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setUsernameField("dba")
|
.setUsernameField("dba")
|
||||||
.setPassword("sql")
|
.setPassword("sql")
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
syncImpegnatoCz.manageWithParentConnection(advancedDataSource.getConnection());
|
syncImpegnatoCz.manageWithParentConnection(connection);
|
||||||
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Fc)) {
|
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Fc)) {
|
||||||
StbRemoteSubscription syncImpegnatoFc = new StbRemoteSubscription();
|
StbRemoteSubscription syncImpegnatoFc = new StbRemoteSubscription();
|
||||||
syncImpegnatoFc.setActive(true)
|
syncImpegnatoFc.setActive(true)
|
||||||
@@ -386,7 +386,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setUsernameField("dba")
|
.setUsernameField("dba")
|
||||||
.setPassword("sql")
|
.setPassword("sql")
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
syncImpegnatoFc.manageWithParentConnection(advancedDataSource.getConnection());
|
syncImpegnatoFc.manageWithParentConnection(connection);
|
||||||
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Mi)) {
|
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Mi)) {
|
||||||
StbRemoteSubscription syncImpegnatoMi = new StbRemoteSubscription();
|
StbRemoteSubscription syncImpegnatoMi = new StbRemoteSubscription();
|
||||||
syncImpegnatoMi.setActive(true)
|
syncImpegnatoMi.setActive(true)
|
||||||
@@ -399,7 +399,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setUsernameField("dba")
|
.setUsernameField("dba")
|
||||||
.setPassword("sql")
|
.setPassword("sql")
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
syncImpegnatoMi.manageWithParentConnection(advancedDataSource.getConnection());
|
syncImpegnatoMi.manageWithParentConnection(connection);
|
||||||
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Rg)) {
|
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Rg)) {
|
||||||
StbRemoteSubscription syncImpegnatoRg = new StbRemoteSubscription();
|
StbRemoteSubscription syncImpegnatoRg = new StbRemoteSubscription();
|
||||||
syncImpegnatoRg.setActive(true)
|
syncImpegnatoRg.setActive(true)
|
||||||
@@ -412,7 +412,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setUsernameField("dba")
|
.setUsernameField("dba")
|
||||||
.setPassword("sql")
|
.setPassword("sql")
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
syncImpegnatoRg.manageWithParentConnection(advancedDataSource.getConnection());
|
syncImpegnatoRg.manageWithParentConnection(connection);
|
||||||
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Rm)) {
|
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Rm)) {
|
||||||
StbRemoteSubscription syncImpegnatoRm = new StbRemoteSubscription();
|
StbRemoteSubscription syncImpegnatoRm = new StbRemoteSubscription();
|
||||||
syncImpegnatoRm.setActive(true)
|
syncImpegnatoRm.setActive(true)
|
||||||
@@ -425,7 +425,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setUsernameField("dba")
|
.setUsernameField("dba")
|
||||||
.setPassword("sql")
|
.setPassword("sql")
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
syncImpegnatoRm.manageWithParentConnection(advancedDataSource.getConnection());
|
syncImpegnatoRm.manageWithParentConnection(connection);
|
||||||
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Vr)) {
|
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Vr)) {
|
||||||
StbRemoteSubscription syncImpegnatoVr = new StbRemoteSubscription();
|
StbRemoteSubscription syncImpegnatoVr = new StbRemoteSubscription();
|
||||||
syncImpegnatoVr.setActive(true)
|
syncImpegnatoVr.setActive(true)
|
||||||
@@ -438,7 +438,7 @@ public class Migration_20240930110848 extends BaseMigration implements Migration
|
|||||||
.setUsernameField("dba")
|
.setUsernameField("dba")
|
||||||
.setPassword("sql")
|
.setPassword("sql")
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
syncImpegnatoVr.manageWithParentConnection(advancedDataSource.getConnection());
|
syncImpegnatoVr.manageWithParentConnection(connection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,11 +22,11 @@ public class Migration_20241021113736 extends BaseMigration implements Migration
|
|||||||
|
|
||||||
String maxTransactionIdSql = "SELECT MAX(group_id) AS max_id " +
|
String maxTransactionIdSql = "SELECT MAX(group_id) AS max_id " +
|
||||||
"FROM stb_transaction_log";
|
"FROM stb_transaction_log";
|
||||||
Long maxTransactionId = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), maxTransactionIdSql);
|
Long maxTransactionId = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, maxTransactionIdSql);
|
||||||
maxTransactionId = maxTransactionId == null ? 0 : ++maxTransactionId;
|
maxTransactionId = maxTransactionId == null ? 0 : ++maxTransactionId;
|
||||||
|
|
||||||
String retrievePublicationsSql = "SELECT * FROM stb_publications";
|
String retrievePublicationsSql = "SELECT * FROM stb_publications";
|
||||||
final List<StbPublications> stbPublications = UtilityDB.executeSimpleQueryDTO(advancedDataSource.getConnection(), retrievePublicationsSql, StbPublications.class);
|
final List<StbPublications> stbPublications = UtilityDB.executeSimpleQueryDTO(connection, retrievePublicationsSql, StbPublications.class);
|
||||||
|
|
||||||
if (stbPublications == null || stbPublications.isEmpty())
|
if (stbPublications == null || stbPublications.isEmpty())
|
||||||
return;
|
return;
|
||||||
@@ -35,7 +35,7 @@ public class Migration_20241021113736 extends BaseMigration implements Migration
|
|||||||
stbPublication.setLastGroupId(maxTransactionId);
|
stbPublication.setLastGroupId(maxTransactionId);
|
||||||
|
|
||||||
stbPublication.setOperation(OperationType.UPDATE);
|
stbPublication.setOperation(OperationType.UPDATE);
|
||||||
stbPublication.manageWithParentConnection(advancedDataSource.getConnection());
|
stbPublication.manageWithParentConnection(connection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ public class Migration_20241107192339 extends BaseMigration implements Migration
|
|||||||
|
|
||||||
mtbDepo.getMrlDepoArtEsclusiWms().add(mrlDepoArtEsclusiWms);
|
mtbDepo.getMrlDepoArtEsclusiWms().add(mrlDepoArtEsclusiWms);
|
||||||
|
|
||||||
mtbDepo.manageWithParentConnection(advancedDataSource.getConnection());
|
mtbDepo.manageWithParentConnection(connection);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ public class Migration_20241108153628 extends BaseMigration implements Migration
|
|||||||
w.setCompiledJasper(ArrayUtils.toObject(baos.toByteArray()));
|
w.setCompiledJasper(ArrayUtils.toObject(baos.toByteArray()));
|
||||||
|
|
||||||
w.setOperation(OperationType.UPDATE);
|
w.setOperation(OperationType.UPDATE);
|
||||||
w.manageWithParentConnection(advancedDataSource.getConnection());
|
w.manageWithParentConnection(connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
// throw new RuntimeException("TEST");
|
// throw new RuntimeException("TEST");
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public class Migration_20241114130118 extends BaseMigration implements Migration
|
|||||||
.setExportHistory(false)
|
.setExportHistory(false)
|
||||||
.setOperation(OperationType.INSERT);
|
.setOperation(OperationType.INSERT);
|
||||||
anagPublication.getStbPublicationsDetails().add(detailVtbVett);
|
anagPublication.getStbPublicationsDetails().add(detailVtbVett);
|
||||||
anagPublication.manageWithParentConnection(advancedDataSource.getConnection(),droolsDataCompleting);
|
anagPublication.manageWithParentConnection(connection,droolsDataCompleting);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -330,8 +330,8 @@ public class Migration_20241213163759 extends BaseMigration implements Migration
|
|||||||
.setCodMdep(getInternalCodMdep());
|
.setCodMdep(getInternalCodMdep());
|
||||||
mtbColt.setOperation(OperationType.INSERT);
|
mtbColt.setOperation(OperationType.INSERT);
|
||||||
|
|
||||||
mtbColt.dataCompleting(advancedDataSource.getConnection());
|
mtbColt.dataCompleting(connection);
|
||||||
mtbColt.manageWithParentConnection(advancedDataSource.getConnection());
|
mtbColt.manageWithParentConnection(connection);
|
||||||
|
|
||||||
|
|
||||||
executeStatement(Query.format(
|
executeStatement(Query.format(
|
||||||
@@ -393,7 +393,7 @@ public class Migration_20241213163759 extends BaseMigration implements Migration
|
|||||||
|
|
||||||
|
|
||||||
private String getInternalCodMdep() throws Exception {
|
private String getInternalCodMdep() throws Exception {
|
||||||
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), "SELECT TOP 1 cod_mdep" +
|
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, "SELECT TOP 1 cod_mdep" +
|
||||||
" FROM mtb_depo" +
|
" FROM mtb_depo" +
|
||||||
" INNER JOIN dbo.gtb_anag ga ON mtb_depo.cod_anag = ga.cod_anag" +
|
" INNER JOIN dbo.gtb_anag ga ON mtb_depo.cod_anag = ga.cod_anag" +
|
||||||
" inner join azienda on ga.part_iva = azienda.part_iva");
|
" inner join azienda on ga.part_iva = azienda.part_iva");
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class Migration_20250113112138 extends BaseMigration implements Migration
|
|||||||
.setFlagDocTd("N")
|
.setFlagDocTd("N")
|
||||||
.setFlagCalcPesoIntra("N");
|
.setFlagCalcPesoIntra("N");
|
||||||
dtbTipi.setOperation(OperationType.INSERT);
|
dtbTipi.setOperation(OperationType.INSERT);
|
||||||
dtbTipi.manageWithParentConnection(advancedDataSource.getConnection());
|
dtbTipi.manageWithParentConnection(connection);
|
||||||
|
|
||||||
dtbTipi = new DtbTipi()
|
dtbTipi = new DtbTipi()
|
||||||
.setCodDtip("DDTP-")
|
.setCodDtip("DDTP-")
|
||||||
@@ -68,7 +68,7 @@ public class Migration_20250113112138 extends BaseMigration implements Migration
|
|||||||
.setFlagDocTd("N")
|
.setFlagDocTd("N")
|
||||||
.setFlagCalcPesoIntra("N");
|
.setFlagCalcPesoIntra("N");
|
||||||
dtbTipi.setOperation(OperationType.INSERT);
|
dtbTipi.setOperation(OperationType.INSERT);
|
||||||
dtbTipi.manageWithParentConnection(advancedDataSource.getConnection());
|
dtbTipi.manageWithParentConnection(connection);
|
||||||
|
|
||||||
updateSetupValue("DTB_DOCT", "FATTURA_PEDANE", "TIPO_DOC_CONS", "DDTP+");
|
updateSetupValue("DTB_DOCT", "FATTURA_PEDANE", "TIPO_DOC_CONS", "DDTP+");
|
||||||
updateSetupValue("DTB_DOCT", "FATTURA_PEDANE", "TIPO_DOC_RESI", "DDTP-");
|
updateSetupValue("DTB_DOCT", "FATTURA_PEDANE", "TIPO_DOC_RESI", "DDTP-");
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public class Migration_20250114155646 extends BaseMigration implements Migration
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
//Eseguo la alter di tutte le SP che risultano QuotedIdentifier OFF in modo da farle elaborare come ON
|
//Eseguo la alter di tutte le SP che risultano QuotedIdentifier OFF in modo da farle elaborare come ON
|
||||||
final List<String> spToUpdate = UtilityDB.executeSimpleQueryOnlyFirstColumn(advancedDataSource.getConnection(), "SELECT QUOTENAME(SCHEMA_NAME(schema_id)) + '.' + QUOTENAME(name) AS name\n" +
|
final List<String> spToUpdate = UtilityDB.executeSimpleQueryOnlyFirstColumn(connection, "SELECT QUOTENAME(SCHEMA_NAME(schema_id)) + '.' + QUOTENAME(name) AS name\n" +
|
||||||
"FROM sys.sql_modules m\n" +
|
"FROM sys.sql_modules m\n" +
|
||||||
"INNER JOIN sys.objects o ON m.object_id = o.object_id\n" +
|
"INNER JOIN sys.objects o ON m.object_id = o.object_id\n" +
|
||||||
"WHERE o.type = 'P' -- Solo stored procedure\n" +
|
"WHERE o.type = 'P' -- Solo stored procedure\n" +
|
||||||
@@ -29,7 +29,7 @@ public class Migration_20250114155646 extends BaseMigration implements Migration
|
|||||||
final SystemMigrationService systemMigrationService = getContextBean(SystemMigrationService.class);
|
final SystemMigrationService systemMigrationService = getContextBean(SystemMigrationService.class);
|
||||||
|
|
||||||
String[] spToUpdateArray = spToUpdate.toArray(new String[0]);
|
String[] spToUpdateArray = spToUpdate.toArray(new String[0]);
|
||||||
final List<SqlObjectDTO> querySyntaxFromExistingObjects = systemMigrationService.createQuerySyntaxFromExistingObjects(advancedDataSource.getConnection(), spToUpdateArray);
|
final List<SqlObjectDTO> querySyntaxFromExistingObjects = systemMigrationService.createQuerySyntaxFromExistingObjects(connection, spToUpdateArray);
|
||||||
|
|
||||||
for (SqlObjectDTO sqlObjectDTO : querySyntaxFromExistingObjects) {
|
for (SqlObjectDTO sqlObjectDTO : querySyntaxFromExistingObjects) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import it.integry.ems.migration._base.MigrationModelInterface;
|
|||||||
import it.integry.ems_model.utility.UtilityDB;
|
import it.integry.ems_model.utility.UtilityDB;
|
||||||
import it.integry.ems_model.utility.dto.IndexTableDTO;
|
import it.integry.ems_model.utility.dto.IndexTableDTO;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
public class Migration_20250211173350 extends BaseMigration implements MigrationModelInterface {
|
public class Migration_20250211173350 extends BaseMigration implements MigrationModelInterface {
|
||||||
@@ -23,7 +22,7 @@ public class Migration_20250211173350 extends BaseMigration implements Migration
|
|||||||
.setColumnsIndex(Collections.singletonList(
|
.setColumnsIndex(Collections.singletonList(
|
||||||
new IndexTableDTO.ColumnIndex("id_lotto")
|
new IndexTableDTO.ColumnIndex("id_lotto")
|
||||||
));
|
));
|
||||||
UtilityDB.createIndex(advancedDataSource.getConnection(),indexTableDTO);
|
UtilityDB.createIndex(connection,indexTableDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ public class Migration_20250303123610 extends BaseMigration implements Migration
|
|||||||
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
|
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Boolean exist = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
|
Boolean exist = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
|
||||||
"SELECT Cast( COUNT(*) as bit)\n" +
|
"SELECT Cast( COUNT(*) as bit)\n" +
|
||||||
"FROM \n" +
|
"FROM \n" +
|
||||||
" INFORMATION_SCHEMA.KEY_COLUMN_USAGE c\n" +
|
" INFORMATION_SCHEMA.KEY_COLUMN_USAGE c\n" +
|
||||||
@@ -28,10 +28,10 @@ public class Migration_20250303123610 extends BaseMigration implements Migration
|
|||||||
"\tand c.COLUMN_NAME = 'cod_anag'");
|
"\tand c.COLUMN_NAME = 'cod_anag'");
|
||||||
|
|
||||||
if ( exist ){
|
if ( exist ){
|
||||||
Boolean newSp = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
|
Boolean newSp = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
|
||||||
"SELECT cast(IIF(value='S',1,0) as bit) FROM stb_gest_setup where gest_name = 'DATI_AZIENDA' AND section = 'PROGRESSIVI_MAG' and key_section = 'NUOVA_PROCEDURA'"
|
"SELECT cast(IIF(value='S',1,0) as bit) FROM stb_gest_setup where gest_name = 'DATI_AZIENDA' AND section = 'PROGRESSIVI_MAG' and key_section = 'NUOVA_PROCEDURA'"
|
||||||
);
|
);
|
||||||
Boolean existMov = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
|
Boolean existMov = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
|
||||||
"SELECT cast(count(*) as bit) from mtb_movi"
|
"SELECT cast(count(*) as bit) from mtb_movi"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ public class Migration_20250404180134 extends BaseMigration implements Migration
|
|||||||
"FROM stb_gest_setup\n" +
|
"FROM stb_gest_setup\n" +
|
||||||
"WHERE key_section = 'ENABLE_MODIFICA_LOTTO_SUGGERITO'";
|
"WHERE key_section = 'ENABLE_MODIFICA_LOTTO_SUGGERITO'";
|
||||||
|
|
||||||
String value = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(this.advancedDataSource.getConnection(), sql);
|
String value = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(this.connection, sql);
|
||||||
|
|
||||||
if (UtilityString.isNullOrEmpty(value)) {
|
if (UtilityString.isNullOrEmpty(value)) {
|
||||||
value = "N";
|
value = "N";
|
||||||
@@ -38,7 +38,7 @@ public class Migration_20250404180134 extends BaseMigration implements Migration
|
|||||||
"FROM wtb_gest_setup_user\n" +
|
"FROM wtb_gest_setup_user\n" +
|
||||||
"WHERE key_section = 'ENABLE_MODIFICA_LOTTO_SUGGERITO'";
|
"WHERE key_section = 'ENABLE_MODIFICA_LOTTO_SUGGERITO'";
|
||||||
|
|
||||||
List<WtbGestSetupUser> userSetupConfig = UtilityDB.executeSimpleQueryDTO(advancedDataSource.getConnection(), sql, WtbGestSetupUser.class);
|
List<WtbGestSetupUser> userSetupConfig = UtilityDB.executeSimpleQueryDTO(connection, sql, WtbGestSetupUser.class);
|
||||||
|
|
||||||
if (userSetupConfig != null && !userSetupConfig.isEmpty()) {
|
if (userSetupConfig != null && !userSetupConfig.isEmpty()) {
|
||||||
for (WtbGestSetupUser userSetup : userSetupConfig) {
|
for (WtbGestSetupUser userSetup : userSetupConfig) {
|
||||||
@@ -47,7 +47,7 @@ public class Migration_20250404180134 extends BaseMigration implements Migration
|
|||||||
|
|
||||||
userSetup.setOperation(OperationType.INSERT_OR_UPDATE);
|
userSetup.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||||
|
|
||||||
userSetup.manageWithParentConnection(advancedDataSource.getConnection());
|
userSetup.manageWithParentConnection(connection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public class Migration_20250404180249 extends BaseMigration implements Migration
|
|||||||
"WHERE key_section = 'ABILITA_CREA_DUPLICA_ORDINE'\n" +
|
"WHERE key_section = 'ABILITA_CREA_DUPLICA_ORDINE'\n" +
|
||||||
" AND value = 'S'";
|
" AND value = 'S'";
|
||||||
|
|
||||||
List<String> setupAbilitaCreaDuplicaOrdine = UtilityDB.executeSimpleQueryOnlyFirstColumn(advancedDataSource.getConnection(), sql);
|
List<String> setupAbilitaCreaDuplicaOrdine = UtilityDB.executeSimpleQueryOnlyFirstColumn(connection, sql);
|
||||||
|
|
||||||
if (setupAbilitaCreaDuplicaOrdine != null && !setupAbilitaCreaDuplicaOrdine.isEmpty()) {
|
if (setupAbilitaCreaDuplicaOrdine != null && !setupAbilitaCreaDuplicaOrdine.isEmpty()) {
|
||||||
for (String userName : setupAbilitaCreaDuplicaOrdine) {
|
for (String userName : setupAbilitaCreaDuplicaOrdine) {
|
||||||
@@ -77,7 +77,7 @@ public class Migration_20250404180249 extends BaseMigration implements Migration
|
|||||||
"WHERE key_section = 'ABILITA_MODIFICA_ARTICOLI'\n" +
|
"WHERE key_section = 'ABILITA_MODIFICA_ARTICOLI'\n" +
|
||||||
" AND value = 'S'";
|
" AND value = 'S'";
|
||||||
|
|
||||||
List<String> setupAbilitaModificaArticoli = UtilityDB.executeSimpleQueryOnlyFirstColumn(advancedDataSource.getConnection(), sql);
|
List<String> setupAbilitaModificaArticoli = UtilityDB.executeSimpleQueryOnlyFirstColumn(connection, sql);
|
||||||
|
|
||||||
if (setupAbilitaModificaArticoli != null && !setupAbilitaModificaArticoli.isEmpty()) {
|
if (setupAbilitaModificaArticoli != null && !setupAbilitaModificaArticoli.isEmpty()) {
|
||||||
for (String userName : setupAbilitaModificaArticoli) {
|
for (String userName : setupAbilitaModificaArticoli) {
|
||||||
@@ -108,7 +108,7 @@ public class Migration_20250404180249 extends BaseMigration implements Migration
|
|||||||
COD_OPZ_MES
|
COD_OPZ_MES
|
||||||
);
|
);
|
||||||
|
|
||||||
List<String> stbAbilMES = UtilityDB.executeSimpleQueryOnlyFirstColumn(advancedDataSource.getConnection(), sql);
|
List<String> stbAbilMES = UtilityDB.executeSimpleQueryOnlyFirstColumn(connection, sql);
|
||||||
|
|
||||||
if (stbAbilMES != null && !stbAbilMES.isEmpty()) {
|
if (stbAbilMES != null && !stbAbilMES.isEmpty()) {
|
||||||
for (String userName : stbAbilMES) {
|
for (String userName : stbAbilMES) {
|
||||||
@@ -168,7 +168,7 @@ public class Migration_20250404180249 extends BaseMigration implements Migration
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (EntityBase entity : entitiesToSave) {
|
for (EntityBase entity : entitiesToSave) {
|
||||||
entity.manageWithParentConnection(advancedDataSource.getConnection());
|
entity.manageWithParentConnection(connection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ public class Migration_20250508103620 extends BaseMigration implements Migration
|
|||||||
"GROUP BY id_bdg, cod_anag, cod_mart\n" +
|
"GROUP BY id_bdg, cod_anag, cod_mart\n" +
|
||||||
"HAVING COUNT(*) > 1";
|
"HAVING COUNT(*) > 1";
|
||||||
|
|
||||||
List<HashMap<String, Object>> listBdgDuplicati = UtilityDB.executeSimpleQuery(advancedDataSource.getConnection(), sql);
|
List<HashMap<String, Object>> listBdgDuplicati = UtilityDB.executeSimpleQuery(connection, sql);
|
||||||
|
|
||||||
if (!listBdgDuplicati.isEmpty()) {
|
if (!listBdgDuplicati.isEmpty()) {
|
||||||
for (HashMap<String, Object> bdgDuplicati : listBdgDuplicati) {
|
for (HashMap<String, Object> bdgDuplicati : listBdgDuplicati) {
|
||||||
@@ -55,7 +55,7 @@ public class Migration_20250508103620 extends BaseMigration implements Migration
|
|||||||
|
|
||||||
vtbBdgr.setOperation(OperationType.INSERT);
|
vtbBdgr.setOperation(OperationType.INSERT);
|
||||||
|
|
||||||
vtbBdgr.manageWithParentConnection(advancedDataSource.getConnection());
|
vtbBdgr.manageWithParentConnection(connection);
|
||||||
|
|
||||||
String idRowDuplicati = UtilityHashMap.getValueIfExists(bdgDuplicati, "id_row_duplicati");
|
String idRowDuplicati = UtilityHashMap.getValueIfExists(bdgDuplicati, "id_row_duplicati");
|
||||||
|
|
||||||
|
|||||||
@@ -7,9 +7,7 @@ import it.integry.ems_model.base.EntityBase;
|
|||||||
import it.integry.ems_model.entity.StbEditLimit;
|
import it.integry.ems_model.entity.StbEditLimit;
|
||||||
import it.integry.ems_model.entity.StbUser;
|
import it.integry.ems_model.entity.StbUser;
|
||||||
import it.integry.ems_model.types.OperationType;
|
import it.integry.ems_model.types.OperationType;
|
||||||
import it.integry.ems_model.utility.Query;
|
|
||||||
import it.integry.ems_model.utility.UtilityDB;
|
import it.integry.ems_model.utility.UtilityDB;
|
||||||
import it.integry.ems_model.utility.UtilityHashMap;
|
|
||||||
import it.integry.ems_model.utility.UtilityList;
|
import it.integry.ems_model.utility.UtilityList;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -43,7 +41,7 @@ public class Migration_20250516180736 extends BaseMigration implements Migration
|
|||||||
" AND flag_abil = 'S'"
|
" AND flag_abil = 'S'"
|
||||||
);
|
);
|
||||||
|
|
||||||
List<String> stbAbilControlloGiacenze = UtilityDB.executeSimpleQueryOnlyFirstColumn(advancedDataSource.getConnection(), sql);
|
List<String> stbAbilControlloGiacenze = UtilityDB.executeSimpleQueryOnlyFirstColumn(connection, sql);
|
||||||
|
|
||||||
if (!UtilityList.isNullOrEmpty(stbAbilControlloGiacenze)) {
|
if (!UtilityList.isNullOrEmpty(stbAbilControlloGiacenze)) {
|
||||||
for (String userName : stbAbilControlloGiacenze) {
|
for (String userName : stbAbilControlloGiacenze) {
|
||||||
@@ -94,7 +92,7 @@ public class Migration_20250516180736 extends BaseMigration implements Migration
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (EntityBase entity : entitiesToSave) {
|
for (EntityBase entity : entitiesToSave) {
|
||||||
entity.manageWithParentConnection(advancedDataSource.getConnection());
|
entity.manageWithParentConnection(connection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ public class Migration_20250520110003 extends BaseMigration implements Migration
|
|||||||
" AND flag_abil = 'S'"
|
" AND flag_abil = 'S'"
|
||||||
);
|
);
|
||||||
|
|
||||||
List<String> stbAbilMES = UtilityDB.executeSimpleQueryOnlyFirstColumn(advancedDataSource.getConnection(), sql);
|
List<String> stbAbilMES = UtilityDB.executeSimpleQueryOnlyFirstColumn(connection, sql);
|
||||||
|
|
||||||
if (!UtilityList.isNullOrEmpty(stbAbilMES)) {
|
if (!UtilityList.isNullOrEmpty(stbAbilMES)) {
|
||||||
for (String userName : stbAbilMES) {
|
for (String userName : stbAbilMES) {
|
||||||
@@ -90,7 +90,7 @@ public class Migration_20250520110003 extends BaseMigration implements Migration
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (EntityBase entity : entitiesToSave) {
|
for (EntityBase entity : entitiesToSave) {
|
||||||
entity.manageWithParentConnection(advancedDataSource.getConnection());
|
entity.manageWithParentConnection(connection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250728173657 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
createSetupQuery("SI_NO", "SI_NO", "SELECT 'S' UNION ALL SELECT 'N'");
|
||||||
|
createSetup("PVM", "SETUP", "CAN_EDIT_PERM", null,
|
||||||
|
"Setup per mostrare o meno il pulsante per modificare i permessi.", false, "SI_NO", false, false,
|
||||||
|
true, false, false, null, false, "SELECT 'S' UNION ALL SELECT 'N'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250729103953 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
executeStatement("alter table gtb_anag_note add flag_stampa_pkl bit not null default 0");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250729124207 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
executeStatement("alter table ctb_nc_intracee alter column taric varchar(10) null",
|
||||||
|
"alter table mtb_aart alter column taric varchar(10) null");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.IntegryCustomer;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250729170848 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (isCustomer(IntegryCustomer.FolliesGroup)) {
|
||||||
|
|
||||||
|
updateSetupValue("DATI_AZIENDA", "SETUP", "DELIMITED_IDENTIFIER", "1");
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250730152443 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
executeStatement("ALTER TABLE stb_posizioni ADD descrizione VARCHAR(50) NULL");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250730153210 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
executeStatement("ALTER TABLE stb_activity\n" +
|
||||||
|
" ADD id_posizione BIGINT\n" +
|
||||||
|
" CONSTRAINT fk_stb_activity_stb_posizioni REFERENCES dbo.stb_posizioni");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.IntegryCustomer;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250731175503 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (isCustomer(IntegryCustomer.Smetar)) enableSaveToRest("w_ppros_transfer_dlg");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.IntegryCustomer;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250805155057 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
createSetup("EXPORT_ORDINI VENDITA", "EXCEL_IMMAGINI", "QUERY", null,
|
||||||
|
"inserire la query base per tutte le esportazioni", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
|
||||||
|
if (isCustomer(IntegryCustomer.FolliesGroup)) {
|
||||||
|
updateSetupValue("EXPORT_ORDINI VENDITA", "EXCEL_IMMAGINI",
|
||||||
|
"QUERY", "\n" +
|
||||||
|
"SELECT mtb_aart.cod_mart,\n" +
|
||||||
|
" mtb_aart.descrizione,\n" +
|
||||||
|
" dtb_ordr.cod_col,\n" +
|
||||||
|
" dtb_ordr.cod_tagl,\n" +
|
||||||
|
" ttb_bar_code.cod_barre,\n" +
|
||||||
|
" dtb_ordr.qta_ord,\n" +
|
||||||
|
" dtb_ordr.val_unt,\n" +
|
||||||
|
" CEILING((dtb_ordr.val_unt + (ttb_style.val_scatto * ttb_style_taglie.num_scatto)) *\n" +
|
||||||
|
" (ttb_style.prz_retail_vend_iva / ttb_style.prezzo_base) / 0.10) * 0.10 AS przvendretail,\n" +
|
||||||
|
" ttb_style.des_comp,\n" +
|
||||||
|
" ttb_style_dazi_usa.cod_dazio,\n" +
|
||||||
|
" ttb_style.cod_nazi\n" +
|
||||||
|
"FROM dtb_ordt\n" +
|
||||||
|
" INNER JOIN dtb_ordr\n" +
|
||||||
|
" ON dtb_ordt.gestione = dtb_ordr.gestione\n" +
|
||||||
|
" AND dtb_ordt.data_ord = dtb_ordr.data_ord\n" +
|
||||||
|
" AND dtb_ordt.num_ord = dtb_ordr.num_ord\n" +
|
||||||
|
" INNER JOIN mtb_aart\n" +
|
||||||
|
" ON dtb_ordr.cod_mart = mtb_aart.cod_mart\n" +
|
||||||
|
" INNER JOIN ttb_style\n" +
|
||||||
|
" ON dtb_ordr.cod_mart = ttb_style.cod_style\n" +
|
||||||
|
" LEFT OUTER JOIN ttb_comp ON ttb_style.cod_comp = ttb_comp.cod_comp\n" +
|
||||||
|
" LEFT OUTER JOIN ttb_style_taglie\n" +
|
||||||
|
" ON dtb_ordr.cod_mart = ttb_style_taglie.cod_style\n" +
|
||||||
|
" AND dtb_ordr.cod_tagl = ttb_style_taglie.cod_tagl\n" +
|
||||||
|
" LEFT OUTER JOIN ttb_style_dazi_usa ON ttb_style_taglie.cod_style = ttb_style_dazi_usa.cod_style AND\n" +
|
||||||
|
" ttb_style_taglie.babynobaby = ttb_style_dazi_usa.babynobaby\n" +
|
||||||
|
" LEFT OUTER JOIN ttb_bar_code\n" +
|
||||||
|
" ON dtb_ordr.cod_mart = ttb_bar_code.cod_style\n" +
|
||||||
|
" AND dtb_ordr.cod_col = ttb_bar_code.cod_col\n" +
|
||||||
|
" AND dtb_ordr.cod_tagl = ttb_bar_code.cod_tagl\n" +
|
||||||
|
"WHERE dtb_ordr.gestione = 'V'\n" +
|
||||||
|
" AND dtb_ordr.flag_evaso <> 'A'\n" +
|
||||||
|
"ORDER BY mtb_aart.cod_mart,\n" +
|
||||||
|
" mtb_aart.descrizione,\n" +
|
||||||
|
" dtb_ordr.cod_col,\n" +
|
||||||
|
" ttb_style_taglie.pos");
|
||||||
|
|
||||||
|
executeStatement("update wtb_users_info SET query_custom = null\n" +
|
||||||
|
"where export_type = 'ORDINI VENDITA' AND \n" +
|
||||||
|
"format_file = 'EXCEL_IMMAGINI'");
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250805173242 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
createSetupQuery("SI_NO", "SI_NO", "SELECT 'S' UNION ALL SELECT 'N'");
|
||||||
|
createSetup("PVM", "MONITORAGGIO_LINEE_V2", "PROPONI_ULTIMO_VALORE_UDC", "S",
|
||||||
|
"Proponi l'ultimo valore inserito in creazione udc.", false, "SI_NO", false, false,
|
||||||
|
false, false, false, null, false, "SELECT 'S' UNION ALL SELECT 'N'");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.IntegryCustomerDB;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250806103557 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
createSetup("w_ddocu_ord_rc", "SETUP", "VISUALIZZA_TUTTI_ALLEGATI", "S",
|
||||||
|
"se impostata ad S permette di visualizzare tutte le versioni delle stampe, ad N solo l'ultima", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
|
||||||
|
if (isCustomerDb(IntegryCustomerDB.Cosmapack_Cosmint)){
|
||||||
|
updateSetupValue("w_ddocu_ord_rc","SETUP","VISUALIZZA_TUTTI_ALLEGATI","N");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.IntegryCustomerDB;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250806105411 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!isCustomerDb(IntegryCustomerDB.Vinella_Vinella))
|
||||||
|
return;
|
||||||
|
|
||||||
|
updateSetupValue("w_jriep_presenze_dip_disp", "DATAWINDOW", "D_JRIEP_PRESENZE_DIP_COMM_REP", "D_JRIEP_PRESENZE_DIP_ORE_VINELLA_REP",
|
||||||
|
null, false, null, false, false, false,
|
||||||
|
false, false, null, false, null);
|
||||||
|
|
||||||
|
executeStatement("DELETE\n" +
|
||||||
|
"FROM stb_gest_setup_depo\n" +
|
||||||
|
"WHERE gest_name = 'w_jriep_presenze_dip_disp'\n" +
|
||||||
|
" AND section = 'DATAWINDOW'\n" +
|
||||||
|
" AND key_section = 'D_JRIEP_PRESENZE_DIP_COMM_REP'"
|
||||||
|
);
|
||||||
|
|
||||||
|
executeStatement("DELETE\n" +
|
||||||
|
"FROM wtb_gest_setup_user\n" +
|
||||||
|
"WHERE gest_name = 'w_jriep_presenze_dip_disp'\n" +
|
||||||
|
" AND section = 'DATAWINDOW'\n" +
|
||||||
|
" AND key_section = 'D_JRIEP_PRESENZE_DIP_COMM_REP'"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,139 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250806163114 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (isDMS()) return;
|
||||||
|
|
||||||
|
createOrUpdateProcedure("UpdProgOrdini", "CREATE PROCEDURE [dbo].[UpdProgOrdini](\n" +
|
||||||
|
" @codAnag varchar(5),\n" +
|
||||||
|
" @codDtip varchar(5),\n" +
|
||||||
|
" @dataDoc dateTime,\n" +
|
||||||
|
" @serDoc varchar(2),\n" +
|
||||||
|
" @numDoc integer,\n" +
|
||||||
|
" @segno integer,\n" +
|
||||||
|
" @Operation varchar(1))\n" +
|
||||||
|
" /***DESCRIZIONE: Questa storedProcedure aggiorna la quantitàevasa degli ordini e anche il \n" +
|
||||||
|
" numero di pezzi, non contiene una serie di logiche particolarti tipo la \n" +
|
||||||
|
" sostuzione dell'articolo nell'ordine\n" +
|
||||||
|
" \n" +
|
||||||
|
" */\n" +
|
||||||
|
"AS\n" +
|
||||||
|
"BEGIN\n" +
|
||||||
|
" SET NOCOUNT ON;\n" +
|
||||||
|
" \n" +
|
||||||
|
"\n" +
|
||||||
|
" UPDATE dtb_ordr\n" +
|
||||||
|
" SET dtb_ordr.qta_evasa = CASE WHEN (SELECT application_name from azienda ) = 'WINGEST' THEN dtb_ordr.qta_evasa + CASE dtb_ordr.unt_ord\n" +
|
||||||
|
" when doc.unt_doc then doc.qta_doc\n" +
|
||||||
|
" when doc.unt_doc2 then doc.qta_doc2\n" +
|
||||||
|
" when doc.unt_doc3 then doc.qta_doc3\n" +
|
||||||
|
" else \n" +
|
||||||
|
"Round((@segno * (doc.qta_doc_no_um / dtb_ordr.rap_conv)),mtb_unt_mis.cifre_dec) end \n" +
|
||||||
|
" ELSE dtb_ordr.qta_evasa END, \n" +
|
||||||
|
" dtb_ordr.num_cnf_evasa = dtb_ordr.num_cnf_evasa + (@segno * doc.num_cnf),\n" +
|
||||||
|
" dtb_ordr.flag_evaso_forzato = CASE WHEN @Operation = 'D' THEN 'N' ELSE doc.flag_evaso_forzato END,\n" +
|
||||||
|
" dtb_ordr.flag_evaso = CASE WHEN @Operation = 'D' THEN 'I'\n" +
|
||||||
|
" WHEN doc.flag_evaso_forzato = 'S' THEN 'E' ELSE dtb_ordr.flag_evaso END \n" +
|
||||||
|
" FROM dtb_ordr INNER JOIN mtb_unt_mis ON dtb_ordr.unt_ord = mtb_unt_mis.unt_mis\n" +
|
||||||
|
" INNER JOIN \n" +
|
||||||
|
" (SELECT dtb_doct.gestione,\n" +
|
||||||
|
" dtb_docr.data_ord,\n" +
|
||||||
|
" dtb_docr.num_ord,\n" +
|
||||||
|
" dtb_docr.riga_ord,\n" +
|
||||||
|
" sum(dtb_docr.qta_doc * dtb_docr.rap_conv) as qta_doc_no_um,\n" +
|
||||||
|
" \n" +
|
||||||
|
" dtb_docr.unt_doc,\n" +
|
||||||
|
" sum(dtb_docr.qta_doc) as qta_doc,\n" +
|
||||||
|
" \n" +
|
||||||
|
" dtb_docr.unt_doc2,\n" +
|
||||||
|
" sum(dtb_docr.qta_doc2) as qta_doc2,\n" +
|
||||||
|
" \n" +
|
||||||
|
" dtb_docr.unt_doc3,\n" +
|
||||||
|
" sum(dtb_docr.qta_doc3) as qta_doc3,\n" +
|
||||||
|
" sum(dtb_docr.num_cnf) as num_cnf,\n" +
|
||||||
|
" max(dtb_docr.flag_evaso_forzato) as flag_evaso_forzato\n" +
|
||||||
|
" FROM dtb_doct inner join dtb_tipi on dtb_doct.cod_dtip = dtb_tipi.cod_dtip\n" +
|
||||||
|
" inner join dtb_docr on dtb_doct.cod_dtip = dtb_docr.cod_dtip and\n" +
|
||||||
|
" dtb_doct.cod_anag = dtb_docr.cod_anag and\n" +
|
||||||
|
" dtb_doct.data_doc = dtb_docr.data_doc and\n" +
|
||||||
|
" dtb_doct.ser_doc = dtb_docr.ser_doc and\n" +
|
||||||
|
" dtb_doct.num_doc = dtb_docr.num_doc \n" +
|
||||||
|
" WHERE dtb_doct.cod_dtip = @codDtip AND\n" +
|
||||||
|
" dtb_doct.cod_anag = @codAnag AND\n" +
|
||||||
|
" dtb_doct.data_doc = @dataDoc AND\n" +
|
||||||
|
" dtb_doct.ser_doc = @serDoc AND\n" +
|
||||||
|
" dtb_doct.num_doc = @numDoc AND\n" +
|
||||||
|
" dtb_docr.data_ord is not null AND\n" +
|
||||||
|
" ( dtb_doct.gestione <> 'L' AND (dtb_tipi.segno_qta_car = 1 OR dtb_tipi.segno_qta_scar = 1 ) OR \n" +
|
||||||
|
" ( dtb_doct.gestione = 'L' AND dtb_tipi.segno_qta_scar = 1 ))\n" +
|
||||||
|
" GROUP BY dtb_doct.gestione,\n" +
|
||||||
|
" dtb_docr.data_ord,\n" +
|
||||||
|
" dtb_docr.num_ord,\n" +
|
||||||
|
" dtb_docr.riga_ord, \n" +
|
||||||
|
" dtb_docr.unt_doc, \n" +
|
||||||
|
" dtb_docr.unt_doc2, \n" +
|
||||||
|
" dtb_docr.unt_doc3 \n" +
|
||||||
|
" UNION ALL\n" +
|
||||||
|
" SELECT dtb_ordt.gestione_rif,\n" +
|
||||||
|
" dtb_ordt.data_ord_rif, \n" +
|
||||||
|
" dtb_ordt.num_ord_rif, \n" +
|
||||||
|
" dtb_ordt.riga_ord_rif,\n" +
|
||||||
|
" sum(dtb_docr.qta_doc * dtb_docr.rap_conv) as qta_doc_no_um,\n" +
|
||||||
|
" \n" +
|
||||||
|
" dtb_docr.unt_doc,\n" +
|
||||||
|
" sum(dtb_docr.qta_doc) as qta_doc,\n" +
|
||||||
|
" \n" +
|
||||||
|
" dtb_docr.unt_doc2,\n" +
|
||||||
|
" sum(dtb_docr.qta_doc2) as qta_doc2,\n" +
|
||||||
|
" \n" +
|
||||||
|
" dtb_docr.unt_doc3,\n" +
|
||||||
|
" sum(dtb_docr.qta_doc3) as qta_doc3,\n" +
|
||||||
|
" sum(dtb_docr.num_cnf) as num_cnf,\n" +
|
||||||
|
" max(dtb_docr.flag_evaso_forzato) as flag_evaso_forzato\n" +
|
||||||
|
" FROM dtb_doct inner join dtb_tipi on dtb_doct.cod_dtip = dtb_tipi.cod_dtip\n" +
|
||||||
|
" inner join dtb_docr on dtb_doct.cod_dtip = dtb_docr.cod_dtip and\n" +
|
||||||
|
" dtb_doct.cod_anag = dtb_docr.cod_anag and\n" +
|
||||||
|
" dtb_doct.data_doc = dtb_docr.data_doc and\n" +
|
||||||
|
" dtb_doct.ser_doc = dtb_docr.ser_doc and\n" +
|
||||||
|
" dtb_doct.num_doc = dtb_docr.num_doc\n" +
|
||||||
|
" left outer join dtb_ordt ON dtb_tipi.gestione = dtb_ordt.gestione and\n" +
|
||||||
|
" dtb_docr.data_ord = dtb_ordt.data_ord and\n" +
|
||||||
|
" dtb_docr.num_ord = dtb_ordt.num_ord\n" +
|
||||||
|
" WHERE dtb_doct.cod_dtip = @codDtip AND\n" +
|
||||||
|
" dtb_doct.cod_anag = @codAnag AND\n" +
|
||||||
|
" dtb_doct.data_doc = @dataDoc AND\n" +
|
||||||
|
" dtb_doct.ser_doc = @serDoc AND\n" +
|
||||||
|
" dtb_doct.num_doc = @numDoc AND\n" +
|
||||||
|
" dtb_docr.data_ord is not null AND\n" +
|
||||||
|
" dtb_doct.gestione = 'L' AND dtb_tipi.segno_qta_car = 1 AND\n" +
|
||||||
|
" (SELECT application_name from azienda ) = 'WINGEST'\n" +
|
||||||
|
" GROUP BY dtb_ordt.gestione_rif,\n" +
|
||||||
|
" dtb_ordt.data_ord_rif,\n" +
|
||||||
|
" dtb_ordt.num_ord_rif,\n" +
|
||||||
|
" dtb_ordt.riga_ord_rif, \n" +
|
||||||
|
" dtb_docr.unt_doc, \n" +
|
||||||
|
" dtb_docr.unt_doc2, \n" +
|
||||||
|
" dtb_docr.unt_doc3 ) doc ON\n" +
|
||||||
|
" dtb_ordr.gestione = doc.gestione AND\n" +
|
||||||
|
" dtb_ordr.data_ord = doc.data_ord AND\n" +
|
||||||
|
" dtb_ordr.num_ord = doc.num_ord AND\n" +
|
||||||
|
" dtb_ordr.riga_ord = doc.riga_ord;\n" +
|
||||||
|
" \n" +
|
||||||
|
" \n" +
|
||||||
|
"END");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250807105039 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (isDMS()) return;
|
||||||
|
|
||||||
|
createOrUpdateView(
|
||||||
|
"wtb_users",
|
||||||
|
"CREATE VIEW [dbo].[Wtb_users] AS\n" +
|
||||||
|
" SELECT [User_name],\n" +
|
||||||
|
" [Full_name],\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN stb_user.key_group = 1 OR stb_user.flag_dba = 'S' THEN NULL\n" +
|
||||||
|
" ELSE dbo.sys_dcd_pss([Password]) END AS [Password],\n" +
|
||||||
|
" [key_group],\n" +
|
||||||
|
" [User_code],\n" +
|
||||||
|
" [Details],\n" +
|
||||||
|
" [Last_access_datetime],\n" +
|
||||||
|
" [flag_attivo] AS ctrl_state,\n" +
|
||||||
|
" [password_endtime],\n" +
|
||||||
|
" [url_css],\n" +
|
||||||
|
" [cod_lang],\n" +
|
||||||
|
" [creation_datetime],\n" +
|
||||||
|
" [e_mail],\n" +
|
||||||
|
" [password_expires_days],\n" +
|
||||||
|
" [last_passwords],\n" +
|
||||||
|
" [flag_password_expiring],\n" +
|
||||||
|
" password_endtime AS [destruction_datetime]\n" +
|
||||||
|
" FROM [dbo].stb_user\n" +
|
||||||
|
" WHERE flag_extra_user = 'S'\n"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250807112659 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
dropColumn("stb_user", "destruction_datetime");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250807114849 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
createSetup("IMPORT_BILANCE", "DIGI", "ATTIVO", "N",
|
||||||
|
"Inserire S/N per attivare/disattivare il tipo di importazione", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_BILANCE", "DIGI", "EMAIL_FOR_LOG", null,
|
||||||
|
"Inserire il file l'indirizzo email per inviare il log dell'importazione", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_BILANCE", "DIGI", "FILE_FILTER", null,
|
||||||
|
"Inserire il criterio di filtro dei file o il nome del file specifio (seguire la sintassi di java)", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_BILANCE", "DIGI", "GG_CANC_FILE", null,
|
||||||
|
"Giorni per la cancellazione dei file dalla cartella di appoggio", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_BILANCE", "DIGI", "IMPORT_REST", "S",
|
||||||
|
"Inserire S/N per attivare/disattivare il salvataggio con i servizi REST", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_BILANCE", "DIGI", "LISTENING", "N",
|
||||||
|
"Se LISTENIG = 'N' la procedura di importazione non si potrà mai mettere in ascolto sulla directory perchè nella procedura vengono prese in considerazione più file.", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_BILANCE", "DIGI", "PATH_FILE", null,
|
||||||
|
"Directory contente i file da importare.", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_BILANCE", "DIGI", "PATH_FILE_IMPORTED", null,
|
||||||
|
"Directory dove vengono spostati i file dopo l'importazione.", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250807114902 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (isDMS()) return;
|
||||||
|
|
||||||
|
executeStatement("CREATE TABLE ntb_pesate\n" +
|
||||||
|
"(\n" +
|
||||||
|
" id BIGINT IDENTITY PRIMARY KEY,\n" +
|
||||||
|
" cod_mdep VARCHAR(5) NOT NULL,\n" +
|
||||||
|
" data_pesate DATETIME NOT NULL,\n" +
|
||||||
|
" cod_mart VARCHAR(15) NOT NULL,\n" +
|
||||||
|
" qta_pesata NUMERIC(10, 5) NOT NULL DEFAULT 0,\n" +
|
||||||
|
" prz_vend NUMERIC(20, 5) NOT NULL DEFAULT 0,\n" +
|
||||||
|
"\n" +
|
||||||
|
" CONSTRAINT fk_ntb_pesate_mtb_depo\n" +
|
||||||
|
" FOREIGN KEY (cod_mdep) REFERENCES mtb_depo (cod_mdep),\n" +
|
||||||
|
" CONSTRAINT fk_ntb_pesate_mtb_aart\n" +
|
||||||
|
" FOREIGN KEY (cod_mart) REFERENCES mtb_aart (cod_mart)\n" +
|
||||||
|
");");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.IntegryCustomerDB;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
import it.integry.ems_model.entity.StbGestSetupDet;
|
||||||
|
import it.integry.ems_model.types.OperationType;
|
||||||
|
|
||||||
|
public class Migration_20250807165031 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
deleteSetup("PVM", "CHIUSURA_TAGLI_PREZZO", "COD_MGRP");
|
||||||
|
|
||||||
|
createSetup("PVM", "CHIUSURA_TAGLI_PREZZO", "COD_MGRP", null,
|
||||||
|
"Setup per filtrare i gruppi disponibili per gruppo utente.", false, "COD_MGRP", false, false,
|
||||||
|
false, false, false, "Wtb_user_groups", true);
|
||||||
|
|
||||||
|
if (isCustomerDb(IntegryCustomerDB.Carelli_Carelli)) {
|
||||||
|
StbGestSetupDet stbGestSetupDet = new StbGestSetupDet()
|
||||||
|
.setGestName("PVM")
|
||||||
|
.setSection("CHIUSURA_TAGLI_PREZZO")
|
||||||
|
.setKeySection("COD_MGRP")
|
||||||
|
.setTipoSetup("Wtb_user_groups")
|
||||||
|
.setValColRif("10")
|
||||||
|
.setValue("02");
|
||||||
|
|
||||||
|
stbGestSetupDet.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||||
|
|
||||||
|
stbGestSetupDet.manageWithParentConnection(connection);
|
||||||
|
}
|
||||||
|
|
||||||
|
createSetupQuery("COD_PROMO", "COD_PROMO", "SELECT cod_promo FROM vtb_promo");
|
||||||
|
createSetup("PVM", "CHIUSURA_TAGLI_PREZZO", "COD_PROMO", null,
|
||||||
|
"Setup per filtrare le promo disponibili per gruppo utente.", false, "COD_PROMO", false, false,
|
||||||
|
false, false, false, "Wtb_user_groups", true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250807171229 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
executeStatement("ALTER TABLE dtb_tipi add cod_paga varchar(5), \n" +
|
||||||
|
"\tFOREIGN KEY (cod_paga) REFERENCES gtb_paga(cod_paga);");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250808161600 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
createSetup("IMPORT_BANCA", "TASSI_DI_CAMBIO", "ATTIVO", "N",
|
||||||
|
"Inserire S/N per attivare/disattivare il tipo di importazione", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_BANCA", "TASSI_DI_CAMBIO", "EMAIL_FOR_LOG", null,
|
||||||
|
"Inserire il file l'indirizzo email per inviare il log dell'importazione", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_BANCA", "TASSI_DI_CAMBIO", "FILE_FILTER", null,
|
||||||
|
"Inserire il criterio di filtro dei file o il nome del file specifio (seguire la sintassi di java)", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_BANCA", "TASSI_DI_CAMBIO", "GG_CANC_FILE", null,
|
||||||
|
"Giorni per la cancellazione dei file dalla cartella di appoggio", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_BANCA", "TASSI_DI_CAMBIO", "IMPORT_REST", "S",
|
||||||
|
"Inserire S/N per attivare/disattivare il salvataggio con i servizi REST", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_BANCA", "TASSI_DI_CAMBIO", "LISTENING", "N",
|
||||||
|
"Se LISTENIG = 'N' la procedura di importazione non si potrà mai mettere in ascolto sulla directory perchè nella procedura vengono prese in considerazione più file.", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_BANCA", "TASSI_DI_CAMBIO", "PATH_FILE", null,
|
||||||
|
"Directory contente i file da importare.", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_BANCA", "TASSI_DI_CAMBIO", "PATH_FILE_IMPORTED", null,
|
||||||
|
"Directory dove vengono spostati i file dopo l'importazione.", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250811101036 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
executeStatement("drop table drl_tipi_mod_stampa");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250811102732 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
executeStatement(" CREATE TABLE drl_tipi_report (id bigint identity not null, cod_dtip varchar(5) not null, report_id bigint not null, \n" +
|
||||||
|
" \tsort_id TinyInt not null default 0, report_type tinyInt, is_required bit default 0,\n" +
|
||||||
|
" CONSTRAINT PK_drl_tipi_report PRIMARY KEY (id),\n" +
|
||||||
|
" CONSTRAINT FK_drl_tipi_report_cod_dtip FOREIGN KEY (cod_dtip) REFERENCES dtb_tipi(cod_dtip),\n" +
|
||||||
|
" CONSTRAINT FK_drl_tipi_report_report_id FOREIGN KEY (report_id) REFERENCES wtb_jrept(id))",
|
||||||
|
" CREATE UNIQUE INDEX idx_cod_dtip_sort_id ON drl_tipi_report (cod_dtip, sort_id)");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250812171739 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
createSetup("IMPORT_COLLI", "SONOCO", "ATTIVO", "N",
|
||||||
|
"Inserire S/N per attivare/disattivare il tipo di importazione", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_COLLI", "SONOCO", "COD_ANAG", null,
|
||||||
|
"Codice fornitore", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_COLLI", "SONOCO", "EMAIL_FOR_LOG", null,
|
||||||
|
"Inserire il file l'indirizzo email per inviare il log dell'importazione", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_COLLI", "SONOCO", "FILE_FILTER", null,
|
||||||
|
"Inserire il criterio di filtro dei file o il nome del file specifio (seguire la sintassi di java)", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_COLLI", "SONOCO", "GG_CANC_FILE", null,
|
||||||
|
"Giorni per la cancellazione dei file dalla cartella di appoggio", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_COLLI", "SONOCO", "IMPORT_REST", "S",
|
||||||
|
"Inserire S/N per attivare/disattivare il salvataggio con i servizi REST", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_COLLI", "SONOCO", "LISTENING", "N",
|
||||||
|
"Se LISTENIG = 'N' la procedura di importazione non si potrà mai mettere in ascolto sulla directory perchè nella procedura vengono prese in considerazione più file.", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_COLLI", "SONOCO", "PATH_FILE", null,
|
||||||
|
"Directory contente i file da importare.", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
createSetup("IMPORT_COLLI", "SONOCO", "PATH_FILE_IMPORTED", null,
|
||||||
|
"Directory dove vengono spostati i file dopo l'importazione.", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.IntegryCustomer;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
import it.integry.ems_model.entity.JtbFasi;
|
||||||
|
import it.integry.ems_model.entity.StbGestSetup;
|
||||||
|
import it.integry.ems_model.entity.StbGestSetupDet;
|
||||||
|
import it.integry.ems_model.types.OperationType;
|
||||||
|
import it.integry.ems_model.utility.UtilityDB;
|
||||||
|
import it.integry.ems_model.utility.UtilityList;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class Migration_20250818162653 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
StbGestSetup setup = new StbGestSetup()
|
||||||
|
.setGestName("PVM")
|
||||||
|
.setSection("MONITORAGGIO_LINEE_V2")
|
||||||
|
.setKeySection("REPORT_NAME_ORDINE")
|
||||||
|
.setTipoSetup(JtbFasi.ENTITY);
|
||||||
|
setup.setOperation(OperationType.UPDATE);
|
||||||
|
|
||||||
|
if (isCustomer(IntegryCustomer.RossoGargano)){
|
||||||
|
|
||||||
|
String sql = "SELECT cod_jfas,cod_jfas_parent from jtb_fasi where cod_jfas_parent in ('CONF','PROD') and um_prod is not null";
|
||||||
|
List<JtbFasi> listFasi = UtilityDB.executeSimpleQueryDTO(connection, sql, JtbFasi.class);
|
||||||
|
if (!UtilityList.isNullOrEmpty(listFasi)){
|
||||||
|
for (JtbFasi jtbFasi: listFasi){
|
||||||
|
StbGestSetupDet setupDet = new StbGestSetupDet()
|
||||||
|
.setValColRif(jtbFasi.getCodJfas())
|
||||||
|
.setGestName(setup.getGestName())
|
||||||
|
.setSection(setup.getSection())
|
||||||
|
.setKeySection(setup.getKeySection())
|
||||||
|
.setTipoSetup(setup.getTipoSetup())
|
||||||
|
.setValue("CONF".equalsIgnoreCase(jtbFasi.getCodJfasParent()) ? "StampaOrdineDiEtichettatura" : "StampaOrdineDiLavorazione");
|
||||||
|
|
||||||
|
setupDet.setOperation(OperationType.INSERT);
|
||||||
|
setup.getStbGestSetupDet().add(setupDet);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setup.manageWithParentConnection(connection);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,433 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.IntegryCustomer;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250825162112 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
if (!isCustomer(IntegryCustomer.Smetar)) return;
|
||||||
|
|
||||||
|
createOrUpdateView("vsvw_vendite", "CREATE view [dbo].[vsvw_vendite] as \n" +
|
||||||
|
"SELECT DISTINCT dtb_doct_b.cod_dtip_val AS cod_dtip,\n" +
|
||||||
|
" dtb_doct_b.data_doc_val AS data_doc,\n" +
|
||||||
|
" dtb_doct_b.ser_doc_val AS ser_doc,\n" +
|
||||||
|
" dtb_doct_b.num_doc_val AS num_doc,\n" +
|
||||||
|
" dtb_docr.cod_dtip_comp,\n" +
|
||||||
|
" dtb_docr.data_doc_comp,\n" +
|
||||||
|
" dtb_docr.ser_doc_comp,\n" +
|
||||||
|
" dtb_docr.num_doc_comp,\n" +
|
||||||
|
" dtb_doct_a.cod_vage,\n" +
|
||||||
|
" ISNULL(vtb_clie.cod_anag_stat, dtb_doct_b.cod_anag) AS cod_anag,\n" +
|
||||||
|
" dtb_doct_b.cod_vdes,\n" +
|
||||||
|
" dtb_doct_b.cod_vzon,\n" +
|
||||||
|
" vtb_clie.cod_vtip,\n" +
|
||||||
|
" dtb_doct_b.cod_dtip AS cod_dtip_bolla,\n" +
|
||||||
|
" dtb_doct_b.data_doc AS data_doc_bolla,\n" +
|
||||||
|
" dtb_doct_b.ser_doc AS ser_doc_bolla,\n" +
|
||||||
|
" dtb_doct_b.num_doc AS num_doc_bolla,\n" +
|
||||||
|
" dtb_doct_b.cod_mdep,\n" +
|
||||||
|
" ISNULL(mtb_aart.cod_mart_stat, dtb_docr.cod_mart) AS cod_mart,\n" +
|
||||||
|
" mtb_aart.cod_mgrp,\n" +
|
||||||
|
" mtb_aart.cod_msgr,\n" +
|
||||||
|
" mtb_aart.cod_mtip,\n" +
|
||||||
|
" mtb_aart.cod_mstp,\n" +
|
||||||
|
" ISNULL(mtb_aart.descrizione_stat, dtb_docr.descrizione) AS descrizione,\n" +
|
||||||
|
" dtb_docr.unt_doc,\n" +
|
||||||
|
" (segno_val_scar - segno_val_car) * dtb_doct_a.tot_imponib /\n" +
|
||||||
|
" dtb_doct_a.cambio AS tot_imponib,\n" +
|
||||||
|
" (segno_val_scar - segno_val_car) * dtb_doct_a.tot_iva /\n" +
|
||||||
|
" dtb_doct_a.cambio AS tot_iva,\n" +
|
||||||
|
" dtb_doct_b.tot_imponib / dtb_doct_b.cambio AS tot_imponib_bolla,\n" +
|
||||||
|
" dtb_doct_b.tot_iva / dtb_doct_b.cambio AS tot_iva_bolla,\n" +
|
||||||
|
" (segno_val_scar - segno_val_car) * dtb_docr.importo_riga /\n" +
|
||||||
|
" dtb_doct_b.cambio AS importo_riga,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100\n" +
|
||||||
|
" THEN (segno_qta_scar - segno_qta_car) * qta_doc\n" +
|
||||||
|
" ELSE 0 END AS qta_vend,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN mtb_aart.peso_kg <> 0 AND mtb_aart.peso_kg IS NOT NULL THEN (CASE\n" +
|
||||||
|
" WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100\n" +
|
||||||
|
" THEN\n" +
|
||||||
|
" (segno_qta_scar - segno_qta_car) *\n" +
|
||||||
|
" qta_doc *\n" +
|
||||||
|
" dtb_docr.rap_conv *\n" +
|
||||||
|
" mtb_aart.peso_kg\n" +
|
||||||
|
" ELSE 0 END)\n" +
|
||||||
|
" ELSE 0 END AS qta_vend_kg,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100 THEN\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto5 / 100) * (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto8 / 100)) / dtb_doct_b.cambio\n" +
|
||||||
|
" ELSE 0 END AS val_vend,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100 THEN (segno_qta_scar - segno_qta_car) * qta_doc\n" +
|
||||||
|
" ELSE 0 END AS qta_omg,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN mtb_aart.peso_kg <> 0 AND mtb_aart.peso_kg IS NOT NULL THEN (CASE\n" +
|
||||||
|
" WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100\n" +
|
||||||
|
" THEN\n" +
|
||||||
|
" (segno_qta_scar - segno_qta_car) *\n" +
|
||||||
|
" qta_doc *\n" +
|
||||||
|
" dtb_docr.rap_conv *\n" +
|
||||||
|
" mtb_aart.peso_kg\n" +
|
||||||
|
" ELSE 0 END)\n" +
|
||||||
|
" ELSE 0 END AS qta_omg_kg,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100 THEN\n" +
|
||||||
|
" ((segno_qta_scar - segno_qta_car) * qta_doc * val_unt) / dtb_doct_b.cambio\n" +
|
||||||
|
" ELSE 0 END AS val_omg,\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (1 - dtb_docr.sconto8 / 100) *\n" +
|
||||||
|
" (dtb_docr.perc_prov / 100) + (segno_val_scar - segno_val_car) * qta_doc * val_prov) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS importo_prov,\n" +
|
||||||
|
" dtb_docr.id_riga,\n" +
|
||||||
|
" gtb_divi.cod_divi,\n" +
|
||||||
|
" dtb_doct_a.listino AS cod_vlis,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100\n" +
|
||||||
|
" THEN (segno_qta_scar - segno_qta_car) * qta_doc * costo_unt / dtb_doct_b.cambio\n" +
|
||||||
|
" ELSE 0 END AS val_costo,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100 THEN\n" +
|
||||||
|
" ((segno_qta_scar - segno_qta_car) * qta_doc * costo_unt) / dtb_doct_b.cambio\n" +
|
||||||
|
" ELSE 0 END AS val_omg_costo,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN sconto8 = 100 THEN ((segno_qta_scar - segno_qta_car) * qta_doc * costo_unt) / dtb_doct_b.cambio\n" +
|
||||||
|
" ELSE 0 END AS val_scarti_prod,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN flag_tipo_reso = 'R' THEN\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto5 / 100) * (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto8 / 100)) / dtb_doct_b.cambio\n" +
|
||||||
|
" ELSE 0 END AS val_resi_rivendibili,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN flag_tipo_reso = 'S' THEN\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto5 / 100) * (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto8 / 100)) / dtb_doct_b.cambio\n" +
|
||||||
|
" ELSE 0 END AS val_resi_non_rivendibili,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN flag_tipo_reso = 'P' THEN\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto5 / 100) * (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto8 / 100)) / dtb_doct_b.cambio\n" +
|
||||||
|
" ELSE 0 END AS val_resi_rettifica_prezzo,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN flag_tipo_reso IS NOT NULL THEN (segno_qta_scar - segno_qta_car) * qta_doc\n" +
|
||||||
|
" ELSE 0 END AS qta_resi_rivendibili,\n" +
|
||||||
|
" dtb_docr.rap_conv,\n" +
|
||||||
|
" qta_doc * dtb_docr.rap_conv * peso_kg * (segno_qta_scar - segno_qta_car) AS pesokg,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN dtb_docr.qta_cnf * (segno_qta_scar - segno_qta_car) = 0 THEN 0\n" +
|
||||||
|
" ELSE qta_doc * dtb_docr.rap_conv / dtb_docr.qta_cnf *\n" +
|
||||||
|
" (segno_qta_scar - segno_qta_car) END AS confezioni,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (dtb_doct_b.sconto1 / 100))) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS val_sconto1,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (dtb_doct_b.sconto2 / 100))) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS val_sconto2,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (dtb_doct_b.sconto3 / 100))) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS val_sconto3,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (1 - dtb_docr.sconto8 / 100) *\n" +
|
||||||
|
" (dtb_doct_b.sconto4 / 100))) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS val_sconto4,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (dtb_docr.sconto5 / 100))) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS val_sconto5,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (dtb_docr.sconto6 / 100))) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS val_sconto6,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (dtb_docr.sconto7 / 100))) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS val_sconto7,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (dtb_docr.sconto8 / 100))) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS val_sconto8,\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS fatturato_lordo,\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_doct_b.sconto4 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto5 / 100) * (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto8 / 100) * (dtb_docr.perc_gest / 100) +\n" +
|
||||||
|
" (segno_val_scar - segno_val_car) * qta_doc * val_gest) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS importo_gest,\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (1 - dtb_docr.sconto8 / 100) *\n" +
|
||||||
|
" (dtb_docr.perc_ispe / 100) + (segno_val_scar - segno_val_car) * qta_doc * val_ispe) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS importo_prov_ispe,\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (1 - dtb_docr.sconto8 / 100) *\n" +
|
||||||
|
" (dtb_docr.perc_promo / 100) + (segno_val_scar - segno_val_car) * qta_doc * val_promo) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS importo_promo,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (1 - dtb_docr.sconto8 / 100) *\n" +
|
||||||
|
" (dtb_docr.perc_oneri / 100) + (segno_val_scar - segno_val_car) * qta_doc * val_oneri) /\n" +
|
||||||
|
" dtb_doct_b.cambio) + ISNULL(\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto5 / 100) * (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto8 / 100) * (venditeoneri.perc_oneri_art / 100) +\n" +
|
||||||
|
" (segno_val_scar - segno_val_car) * qta_doc * venditeoneri.val_oneri_art) / dtb_doct_b.cambio),\n" +
|
||||||
|
" 0) AS importo_oneri,\n" +
|
||||||
|
" dtb_docr.cod_promo,\n" +
|
||||||
|
" vtb_clie.cod_vass,\n" +
|
||||||
|
" vtb_clie.cod_vgrp_acq,\n" +
|
||||||
|
" mtb_aart.peso_kg,\n" +
|
||||||
|
" mtb_aart.qta_cnf,\n" +
|
||||||
|
" CONVERT(INT, CASE WHEN dtb_doct_b.cod_forn_td IS NULL THEN 0 ELSE 1 END) AS flag_doc_td,\n" +
|
||||||
|
" dtb_docr.cod_jcom\n" +
|
||||||
|
"FROM dtb_docr\n" +
|
||||||
|
" LEFT OUTER JOIN dbo.getviewvenditeoneri() venditeoneri ON dtb_docr.cod_anag = venditeoneri.cod_anag_comp AND\n" +
|
||||||
|
" dtb_docr.cod_dtip = venditeoneri.cod_dtip_comp AND\n" +
|
||||||
|
" dtb_docr.data_doc = venditeoneri.data_doc_comp AND\n" +
|
||||||
|
" dtb_docr.num_doc = venditeoneri.num_doc_comp AND\n" +
|
||||||
|
" dtb_docr.ser_doc = venditeoneri.ser_doc_comp AND\n" +
|
||||||
|
" dtb_docr.cod_mart = venditeoneri.cod_mart,\n" +
|
||||||
|
" dtb_doct AS dtb_doct_a,\n" +
|
||||||
|
" dtb_doct AS dtb_doct_b,\n" +
|
||||||
|
" dtb_tipi,\n" +
|
||||||
|
" gtb_divi,\n" +
|
||||||
|
" azienda,\n" +
|
||||||
|
" mtb_aart,\n" +
|
||||||
|
" mtb_sgrp,\n" +
|
||||||
|
" vtb_clie\n" +
|
||||||
|
"WHERE (dtb_doct_b.cod_anag = dtb_docr.cod_anag)\n" +
|
||||||
|
" AND (dtb_doct_b.cod_dtip = dtb_docr.cod_dtip)\n" +
|
||||||
|
" AND (dtb_doct_b.data_doc = dtb_docr.data_doc)\n" +
|
||||||
|
" AND (dtb_doct_b.ser_doc = dtb_docr.ser_doc)\n" +
|
||||||
|
" AND (dtb_doct_b.num_doc = dtb_docr.num_doc)\n" +
|
||||||
|
" AND (dtb_doct_b.cod_anag = dtb_doct_a.cod_anag)\n" +
|
||||||
|
" AND (dtb_doct_b.cod_dtip_val = dtb_doct_a.cod_dtip)\n" +
|
||||||
|
" AND (dtb_doct_b.data_doc_val = dtb_doct_a.data_doc)\n" +
|
||||||
|
" AND (dtb_doct_b.ser_doc_val = dtb_doct_a.ser_doc)\n" +
|
||||||
|
" AND (dtb_doct_b.num_doc_val = dtb_doct_a.num_doc)\n" +
|
||||||
|
" AND (dtb_doct_b.cod_anag = vtb_clie.cod_anag)\n" +
|
||||||
|
" AND (dtb_tipi.cod_dtip = dtb_doct_b.cod_dtip)\n" +
|
||||||
|
" AND (azienda.cod_divi_contab = gtb_divi.cod_divi)\n" +
|
||||||
|
" AND (dtb_docr.cod_mart = mtb_aart.cod_mart)\n" +
|
||||||
|
" AND (mtb_aart.cod_mgrp = mtb_sgrp.cod_mgrp)\n" +
|
||||||
|
" AND (mtb_aart.cod_msgr = mtb_sgrp.cod_msgr)\n" +
|
||||||
|
" AND (mtb_sgrp.incl_in_stat = 'S')\n" +
|
||||||
|
" AND ((dtb_doct_b.gestione = 'V') AND (dtb_tipi.tipo_emissione = 'DIRETTA') AND (dtb_docr.cod_mart IS NOT NULL))\n" +
|
||||||
|
" AND (dtb_tipi.flag_incl_stat = 'S')\n" +
|
||||||
|
" AND not Exists ( select * from mtb_aart inner join ctb_cont on mtb_aart.cod_ccon_ricavi = ctb_cont.cod_ccon\n" +
|
||||||
|
" inner join ctb_grup on ctb_cont.cod_cgrp = ctb_grup.cod_cgrp\n" +
|
||||||
|
"where ctb_grup.sezione = 1 and mtb_aart.cod_mart = dtb_docr.cod_mart) \n" +
|
||||||
|
"UNION ALL\n" +
|
||||||
|
"SELECT dtb_doct_b.cod_dtip_val,\n" +
|
||||||
|
" dtb_doct_b.data_doc_val,\n" +
|
||||||
|
" dtb_doct_b.ser_doc_val,\n" +
|
||||||
|
" dtb_doct_b.num_doc_val,\n" +
|
||||||
|
" dtb_docr.cod_dtip_comp,\n" +
|
||||||
|
" dtb_docr.data_doc_comp,\n" +
|
||||||
|
" dtb_docr.ser_doc_comp,\n" +
|
||||||
|
" dtb_docr.num_doc_comp,\n" +
|
||||||
|
" dtb_doct_a.cod_vage,\n" +
|
||||||
|
" ISNULL(vtb_clie.cod_anag_stat, dtb_doct_b.cod_anag) AS cod_anag,\n" +
|
||||||
|
" dtb_doct_b.cod_vdes,\n" +
|
||||||
|
" dtb_doct_b.cod_vzon,\n" +
|
||||||
|
" vtb_clie.cod_vtip,\n" +
|
||||||
|
" dtb_doct_b.cod_dtip,\n" +
|
||||||
|
" dtb_doct_b.data_doc,\n" +
|
||||||
|
" dtb_doct_b.ser_doc,\n" +
|
||||||
|
" dtb_doct_b.num_doc,\n" +
|
||||||
|
" dtb_doct_b.cod_mdep,\n" +
|
||||||
|
" dtb_docr.cod_mart,\n" +
|
||||||
|
" NULL,\n" +
|
||||||
|
" NULL,\n" +
|
||||||
|
" NULL,\n" +
|
||||||
|
" NULL,\n" +
|
||||||
|
" dtb_docr.descrizione,\n" +
|
||||||
|
" dtb_docr.unt_doc,\n" +
|
||||||
|
" (segno_val_scar - segno_val_car) * dtb_doct_a.tot_imponib /\n" +
|
||||||
|
" dtb_doct_a.cambio AS tot_imponib,\n" +
|
||||||
|
" (segno_val_scar - segno_val_car) * dtb_doct_a.tot_iva /\n" +
|
||||||
|
" dtb_doct_a.cambio AS tot_iva,\n" +
|
||||||
|
" dtb_doct_b.tot_imponib / dtb_doct_b.cambio AS tot_imponib_bolla,\n" +
|
||||||
|
" dtb_doct_b.tot_iva / dtb_doct_b.cambio AS tot_iva_bolla,\n" +
|
||||||
|
" (segno_val_scar - segno_val_car) * dtb_docr.importo_riga /\n" +
|
||||||
|
" dtb_doct_b.cambio AS importo_riga,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100\n" +
|
||||||
|
" THEN (segno_qta_scar - segno_qta_car) * qta_doc\n" +
|
||||||
|
" ELSE 0 END AS qta_vend,\n" +
|
||||||
|
" CONVERT(NUMERIC(15, 5), 0) AS qta_vend_kg,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100 THEN\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (1 - dtb_docr.sconto8 / 100)) /\n" +
|
||||||
|
" dtb_doct_b.cambio\n" +
|
||||||
|
" ELSE 0 END AS val_vend,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100 THEN (segno_qta_scar - segno_qta_car) * qta_doc\n" +
|
||||||
|
" ELSE 0 END AS qta_omg,\n" +
|
||||||
|
" CONVERT(NUMERIC(15, 5), 0) AS qta_omg_kg,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100 THEN\n" +
|
||||||
|
" ((segno_qta_scar - segno_qta_car) * qta_doc * val_unt) / dtb_doct_b.cambio\n" +
|
||||||
|
" ELSE 0 END AS val_omg,\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (1 - dtb_docr.sconto8 / 100) *\n" +
|
||||||
|
" (dtb_docr.perc_prov / 100) + (segno_val_scar - segno_val_car) * qta_doc * val_prov) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS importo_prov,\n" +
|
||||||
|
" dtb_docr.id_riga,\n" +
|
||||||
|
" gtb_divi.cod_divi,\n" +
|
||||||
|
" dtb_doct_a.listino AS cod_vlis,\n" +
|
||||||
|
" CONVERT(NUMERIC(20, 5), 0) AS val_costo,\n" +
|
||||||
|
" CONVERT(NUMERIC(20, 5), 0) AS val_omg_costo,\n" +
|
||||||
|
" CONVERT(NUMERIC(20, 5), 0) AS val_scarti_prod,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN flag_tipo_reso = 'R' THEN\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (1 - dtb_docr.sconto8 / 100)) /\n" +
|
||||||
|
" dtb_doct_b.cambio\n" +
|
||||||
|
" ELSE 0 END AS val_resi_rivendibili,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN flag_tipo_reso = 'S' THEN\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (1 - dtb_docr.sconto8 / 100)) /\n" +
|
||||||
|
" dtb_doct_b.cambio\n" +
|
||||||
|
" ELSE 0 END AS val_resi_non_rivendibili,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN flag_tipo_reso = 'P' THEN\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (1 - dtb_docr.sconto8 / 100)) /\n" +
|
||||||
|
" dtb_doct_b.cambio\n" +
|
||||||
|
" ELSE 0 END AS val_resi_rettifica_prezzo,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN flag_tipo_reso IS NOT NULL THEN (segno_qta_scar - segno_qta_car) * qta_doc\n" +
|
||||||
|
" ELSE 0 END AS qta_resi_rivendibili,\n" +
|
||||||
|
" dtb_docr.rap_conv,\n" +
|
||||||
|
" 0 AS pesokg,\n" +
|
||||||
|
" CASE\n" +
|
||||||
|
" WHEN dtb_docr.qta_cnf * (segno_qta_scar - segno_qta_car) = 0 THEN 0\n" +
|
||||||
|
" ELSE qta_doc * dtb_docr.rap_conv / dtb_docr.qta_cnf *\n" +
|
||||||
|
" (segno_qta_scar - segno_qta_car) END AS confezioni,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (dtb_doct_b.sconto1 / 100))) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS val_sconto1,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (dtb_doct_b.sconto2 / 100))) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS val_sconto2,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (dtb_doct_b.sconto3 / 100))) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS val_sconto3,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (1 - dtb_docr.sconto8 / 100) *\n" +
|
||||||
|
" (dtb_doct_b.sconto4 / 100))) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS val_sconto4,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (dtb_docr.sconto5 / 100))) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS val_sconto5,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (dtb_docr.sconto6 / 100))) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS val_sconto6,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (dtb_docr.sconto7 / 100))) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS val_sconto7,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (dtb_docr.sconto8 / 100))) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS val_sconto8,\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS fatturato_lordo,\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_doct_b.sconto4 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto5 / 100) * (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto8 / 100) * (dtb_docr.perc_gest / 100) +\n" +
|
||||||
|
" (segno_val_scar - segno_val_car) * qta_doc * val_gest) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS importo_gest,\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (1 - dtb_docr.sconto8 / 100) *\n" +
|
||||||
|
" (dtb_docr.perc_ispe / 100) + (segno_val_scar - segno_val_car) * qta_doc * val_ispe) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS importo_prov_ispe,\n" +
|
||||||
|
" ((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (1 - dtb_docr.sconto8 / 100) *\n" +
|
||||||
|
" (dtb_docr.perc_promo / 100) + (segno_val_scar - segno_val_car) * qta_doc * val_promo) /\n" +
|
||||||
|
" dtb_doct_b.cambio AS importo_promo,\n" +
|
||||||
|
" (((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (1 - dtb_docr.sconto8 / 100) *\n" +
|
||||||
|
" (dtb_docr.perc_oneri / 100) + (segno_val_scar - segno_val_car) * qta_doc * val_oneri) / dtb_doct_b.cambio) +\n" +
|
||||||
|
" ISNULL((((segno_val_scar - segno_val_car) * qta_doc * val_unt * (1 - dtb_doct_b.sconto1 / 100) *\n" +
|
||||||
|
" (1 - dtb_doct_b.sconto2 / 100) * (1 - dtb_doct_b.sconto3 / 100) * (1 - dtb_docr.sconto5 / 100) *\n" +
|
||||||
|
" (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (1 - dtb_docr.sconto8 / 100) *\n" +
|
||||||
|
" (venditeoneri.perc_oneri_art / 100) +\n" +
|
||||||
|
" (segno_val_scar - segno_val_car) * qta_doc * venditeoneri.val_oneri_art) / dtb_doct_b.cambio),\n" +
|
||||||
|
" 0) AS importo_oneri,\n" +
|
||||||
|
" dtb_docr.cod_promo,\n" +
|
||||||
|
" vtb_clie.cod_vass,\n" +
|
||||||
|
" vtb_clie.cod_vgrp_acq,\n" +
|
||||||
|
" NULL,\n" +
|
||||||
|
" NULL,\n" +
|
||||||
|
" CONVERT(INT, CASE WHEN dtb_doct_b.cod_forn_td IS NULL THEN 0 ELSE 1 END) AS flag_doc_td,\n" +
|
||||||
|
" dtb_docr.cod_jcom\n" +
|
||||||
|
"FROM dtb_docr\n" +
|
||||||
|
" LEFT OUTER JOIN dbo.getviewvenditeoneri() venditeoneri ON dtb_docr.cod_anag = venditeoneri.cod_anag_comp AND\n" +
|
||||||
|
" dtb_docr.cod_dtip = venditeoneri.cod_dtip_comp AND\n" +
|
||||||
|
" dtb_docr.data_doc = venditeoneri.data_doc_comp AND\n" +
|
||||||
|
" dtb_docr.num_doc = venditeoneri.num_doc_comp AND\n" +
|
||||||
|
" dtb_docr.ser_doc = venditeoneri.ser_doc_comp AND\n" +
|
||||||
|
" dtb_docr.cod_mart = venditeoneri.cod_mart,\n" +
|
||||||
|
" dtb_doct AS dtb_doct_b,\n" +
|
||||||
|
" dtb_doct AS dtb_doct_a,\n" +
|
||||||
|
" dtb_tipi,\n" +
|
||||||
|
" gtb_divi,\n" +
|
||||||
|
" azienda,\n" +
|
||||||
|
" vtb_clie\n" +
|
||||||
|
"WHERE (dtb_doct_b.cod_anag = dtb_docr.cod_anag)\n" +
|
||||||
|
" AND (dtb_doct_b.cod_dtip = dtb_docr.cod_dtip)\n" +
|
||||||
|
" AND (dtb_doct_b.data_doc = dtb_docr.data_doc)\n" +
|
||||||
|
" AND (dtb_doct_b.ser_doc = dtb_docr.ser_doc)\n" +
|
||||||
|
" AND (dtb_doct_b.num_doc = dtb_docr.num_doc)\n" +
|
||||||
|
" AND (dtb_doct_b.cod_anag = dtb_doct_a.cod_anag)\n" +
|
||||||
|
" AND (dtb_doct_b.cod_dtip_val = dtb_doct_a.cod_dtip)\n" +
|
||||||
|
" AND (dtb_doct_b.data_doc_val = dtb_doct_a.data_doc)\n" +
|
||||||
|
" AND (dtb_doct_b.ser_doc_val = dtb_doct_a.ser_doc)\n" +
|
||||||
|
" AND (dtb_doct_b.num_doc_val = dtb_doct_a.num_doc)\n" +
|
||||||
|
" AND (dtb_doct_b.cod_anag = vtb_clie.cod_anag)\n" +
|
||||||
|
" AND (dtb_tipi.cod_dtip = dtb_doct_b.cod_dtip)\n" +
|
||||||
|
" AND (azienda.cod_divi_contab = gtb_divi.cod_divi)\n" +
|
||||||
|
" AND ((dtb_doct_b.gestione = 'V') AND (dtb_tipi.tipo_emissione = 'DIRETTA') AND (dtb_docr.cod_mart IS NULL) AND\n" +
|
||||||
|
" (dtb_docr.qta_doc <> 0))\n" +
|
||||||
|
" AND (dtb_tipi.flag_incl_stat = 'S')");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.IntegryCustomer;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250825165957 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
createSetup("W_CSITUAZ_CNTECONCOMM_DISP", "SETUP", "REPARTI_DA_ESCLUDERE", null,
|
||||||
|
"inseire l'elenco dei reparti da escludere dai rapportini di lavoro ( separati con |)", false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
|
||||||
|
if (isCustomer(IntegryCustomer.Smetar)) {
|
||||||
|
updateSetupValue("W_CSITUAZ_CNTECONCOMM_DISP", "SETUP", "REPARTI_DA_ESCLUDERE", "FALE|2-LAV");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
package it.integry.ems.migration.model;
|
||||||
|
|
||||||
|
import it.integry.ems.migration._base.BaseMigration;
|
||||||
|
import it.integry.ems.migration._base.IntegryCustomer;
|
||||||
|
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||||
|
|
||||||
|
public class Migration_20250825170241 extends BaseMigration implements MigrationModelInterface {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void up() throws Exception {
|
||||||
|
if (isHistoryDB())
|
||||||
|
return;
|
||||||
|
|
||||||
|
createSetup("W_CSITUAZ_CNTECONCOMM_DISP", "DATAWINDOW", "D_CSIT_CNTECONCOMM_DETTAGLIATO_REP", null,
|
||||||
|
null, false, null, false, false,
|
||||||
|
false, false, false, null, false, null);
|
||||||
|
|
||||||
|
String dwName = "";
|
||||||
|
if (isCustomer(IntegryCustomer.Smetar)) {
|
||||||
|
dwName = "D_CSIT_CNTECONCOMM_DETTAGLIATO_SMETAR_REP";
|
||||||
|
} else if (isCustomer(IntegryCustomer.Cosmapack)) {
|
||||||
|
dwName = "d_csit_cnteconcomm_dett_cosm_rep";
|
||||||
|
} else if (isCustomer(IntegryCustomer.Vinella)) {
|
||||||
|
dwName = "d_csit_cnteconcomm_dett_vin_rep";
|
||||||
|
} else if (isCustomer(IntegryCustomer.Agricoper)) {
|
||||||
|
dwName = "d_csit_cnteconcomm_dett_agric_rep";
|
||||||
|
}
|
||||||
|
if (!dwName.equalsIgnoreCase("")) {
|
||||||
|
updateSetupValue("W_CSITUAZ_CNTECONCOMM_DISP", "DATAWINDOW", "D_CSIT_CNTECONCOMM_DETTAGLIATO_REP", dwName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void down() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -8,7 +8,7 @@ import it.integry.ems.migration.dto.MigrationStatusEnum;
|
|||||||
import it.integry.ems.service.EntityProcessor;
|
import it.integry.ems.service.EntityProcessor;
|
||||||
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
||||||
import it.integry.ems.settings.Model.SettingsModel;
|
import it.integry.ems.settings.Model.SettingsModel;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
|
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||||
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_model.entity.StbMigrationStatus;
|
import it.integry.ems_model.entity.StbMigrationStatus;
|
||||||
@@ -110,7 +110,7 @@ public class MigrationSetupService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void skip(long migrationCode) throws Exception {
|
public void skip(long migrationCode) throws Exception {
|
||||||
final AdvancedDataSource advancedDataSource = multiDBTransactionManager.getActiveConnections().get(0);
|
final Connection activeConnection = multiDBTransactionManager.getActiveConnections().get(0);
|
||||||
|
|
||||||
String sql = "SELECT * FROM " + StbMigrationStatus.ENTITY + " WHERE migration_code = " + migrationCode;
|
String sql = "SELECT * FROM " + StbMigrationStatus.ENTITY + " WHERE migration_code = " + migrationCode;
|
||||||
StbMigrationStatus stbMigrationStatus = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(multiDBTransactionManager.getPrimaryConnection(), sql, StbMigrationStatus.class);
|
StbMigrationStatus stbMigrationStatus = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(multiDBTransactionManager.getPrimaryConnection(), sql, StbMigrationStatus.class);
|
||||||
@@ -125,16 +125,16 @@ public class MigrationSetupService {
|
|||||||
entityProcessor.processEntity(stbMigrationStatus, multiDBTransactionManager);
|
entityProcessor.processEntity(stbMigrationStatus, multiDBTransactionManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
migrationComponent.updateLastMigrationIntoDB(advancedDataSource, migrationCode);
|
migrationComponent.updateLastMigrationIntoDB(activeConnection, migrationCode);
|
||||||
migrationComponent.executeMigrationGroup(advancedDataSource);
|
migrationComponent.executeMigrationGroup(activeConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void executeAll() throws Exception {
|
public void executeAll() throws Exception {
|
||||||
for (AvailableConnectionsModel availableConnectionsModel : settingsModel.getAvailableConnections(true)) {
|
for (AvailableConnectionsModel availableConnectionsModel : settingsModel.getAvailableConnections(true)) {
|
||||||
if (multiDBTransactionManager.getActiveConnections().stream()
|
if (multiDBTransactionManager.getActiveConnections().stream()
|
||||||
.noneMatch(advancedDataSource ->
|
.noneMatch(connection ->
|
||||||
advancedDataSource.getDataSource().getDbName().equalsIgnoreCase(availableConnectionsModel.getDbName()))) {
|
connection.getDbName().equalsIgnoreCase(availableConnectionsModel.getDbName()))) {
|
||||||
multiDBTransactionManager.addConnection(availableConnectionsModel);
|
multiDBTransactionManager.addConnection(availableConnectionsModel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ public class StoredProcedure {
|
|||||||
StoredProcedure.close();
|
StoredProcedure.close();
|
||||||
|
|
||||||
multiDBTransactionManager.commitAll();
|
multiDBTransactionManager.commitAll();
|
||||||
multiDBTransactionManager.closeAll();
|
multiDBTransactionManager.close();
|
||||||
|
|
||||||
this.logger.debug("UpdProgMaga - Aggiornato movimento : " + inputData);
|
this.logger.debug("UpdProgMaga - Aggiornato movimento : " + inputData);
|
||||||
|
|
||||||
@@ -76,7 +76,7 @@ public class StoredProcedure {
|
|||||||
try {
|
try {
|
||||||
if (multiDBTransactionManager != null) {
|
if (multiDBTransactionManager != null) {
|
||||||
multiDBTransactionManager.rollbackAll();
|
multiDBTransactionManager.rollbackAll();
|
||||||
multiDBTransactionManager.closeAll();
|
multiDBTransactionManager.close();
|
||||||
}
|
}
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
this.logger.error("UpdProgMaga", ex);
|
this.logger.error("UpdProgMaga", ex);
|
||||||
@@ -123,7 +123,7 @@ public class StoredProcedure {
|
|||||||
StoredProcedure.close();
|
StoredProcedure.close();
|
||||||
|
|
||||||
multiDBTransactionManager.commitAll();
|
multiDBTransactionManager.commitAll();
|
||||||
multiDBTransactionManager.closeAll();
|
multiDBTransactionManager.close();
|
||||||
|
|
||||||
this.logger.debug("MRP_UpdateQtaImpProx - Aggiornato impegni prossimi articoli : " + StringUtils.join(listaArticoli, ','));
|
this.logger.debug("MRP_UpdateQtaImpProx - Aggiornato impegni prossimi articoli : " + StringUtils.join(listaArticoli, ','));
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@ public class StoredProcedure {
|
|||||||
}
|
}
|
||||||
if (multiDBTransactionManager != null) {
|
if (multiDBTransactionManager != null) {
|
||||||
multiDBTransactionManager.rollbackAll();
|
multiDBTransactionManager.rollbackAll();
|
||||||
multiDBTransactionManager.closeAll();
|
multiDBTransactionManager.close();
|
||||||
}
|
}
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
this.logger.error("MRP_UpdateQtaImpProx", ex);
|
this.logger.error("MRP_UpdateQtaImpProx", ex);
|
||||||
|
|||||||
@@ -174,12 +174,15 @@ public class AccountingRules extends QueryRules {
|
|||||||
String codBiva = getCodBiva(connection, codAnag);
|
String codBiva = getCodBiva(connection, codAnag);
|
||||||
List<CtbMovi> movi = new ArrayList<>();
|
List<CtbMovi> movi = new ArrayList<>();
|
||||||
|
|
||||||
for (CtbMovi ctbMovi : ctbMovt.getCtbMovi()) {
|
if (!UtilityString.isNullOrEmpty(codBiva)) {
|
||||||
if (UtilityString.isNullOrEmpty(ctbMovi.getCodBiva())) {
|
for (CtbMovi ctbMovi : ctbMovt.getCtbMovi()) {
|
||||||
ctbMovi.setCodBiva(codBiva);
|
if (UtilityString.isNullOrEmpty(ctbMovi.getCodBiva())) {
|
||||||
|
ctbMovi.setCodBiva(codBiva);
|
||||||
|
}
|
||||||
|
movi.add(ctbMovi);
|
||||||
}
|
}
|
||||||
movi.add(ctbMovi);
|
} else
|
||||||
}
|
movi = ctbMovt.getCtbMovi();
|
||||||
return movi;
|
return movi;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -609,8 +612,8 @@ public class AccountingRules extends QueryRules {
|
|||||||
// impAvere = ctbScad.getImpAvere().divide(cambioScad).setScale(5, RoundingMode.HALF_UP);
|
// impAvere = ctbScad.getImpAvere().divide(cambioScad).setScale(5, RoundingMode.HALF_UP);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
Boolean riperta = ctbScad.getRiaperta()==null?false:ctbScad.getRiaperta();
|
Boolean riperta = ctbScad.getRiaperta() == null ? false : ctbScad.getRiaperta();
|
||||||
if ( tipoPartita == 0 || (riperta && tipoPartita == 1)){
|
if (tipoPartita == 0 || (riperta && tipoPartita == 1)) {
|
||||||
if (ctbScad.getImpDare() == null)
|
if (ctbScad.getImpDare() == null)
|
||||||
impDare = ctbMovr.getImpDare();
|
impDare = ctbMovr.getImpDare();
|
||||||
else
|
else
|
||||||
@@ -764,6 +767,17 @@ public class AccountingRules extends QueryRules {
|
|||||||
return campi;
|
return campi;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void setImportoMov(CtbMovt ctbMovt) throws Exception {
|
||||||
|
if (UtilityBigDecimal.isNullOrZero(ctbMovt.getImporto())) {
|
||||||
|
ctbMovt.getCtbMovr()
|
||||||
|
.stream()
|
||||||
|
.filter(x -> x.getOperation() != OperationType.DELETE).forEach(x -> {
|
||||||
|
BigDecimal impDare = x.getImpDare() == null ? BigDecimal.ZERO : x.getImpDare();
|
||||||
|
ctbMovt.setImporto(ctbMovt.getImporto().add(impDare));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static Boolean chkMovimentoBilanciato(CtbMovt ctbMovt) throws Exception {
|
public static Boolean chkMovimentoBilanciato(CtbMovt ctbMovt) throws Exception {
|
||||||
BigDecimal totDare = BigDecimal.ZERO, totAvere = BigDecimal.ZERO;
|
BigDecimal totDare = BigDecimal.ZERO, totAvere = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
|||||||
@@ -918,10 +918,10 @@ public class CommonRules extends QueryRules {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static BigDecimal completeValUntULTC(Connection conn, String codMdep, String codMart, Date dataValidita, BigDecimal rapConv) throws Exception {
|
public static BigDecimal completeValUntULTC(Connection conn, String codMdep, String codMart, Date dataValidita, BigDecimal rapConv) throws Exception {
|
||||||
if (rapConv.compareTo(BigDecimal.ZERO) != 0) rapConv = BigDecimal.ONE;
|
if (rapConv.compareTo(BigDecimal.ZERO) == 0) rapConv = BigDecimal.ONE;
|
||||||
String sql = "SELECT Round(isNull(dbo.f_GetCostoUltArt_depo("
|
String sql = "SELECT Round(isNull(dbo.f_GetCostoUltArt_depo("
|
||||||
+ UtilityDB.valueDateToString(dataValidita, CommonConstants.DATE_FORMAT_YMD) + ","
|
+ UtilityDB.valueDateToString(dataValidita, CommonConstants.DATE_FORMAT_YMD) + ","
|
||||||
+ UtilityDB.valueToString(codMdep) + "," + UtilityDB.valueToString(codMart) + "), 0)/" + UtilityDB.valueToString(rapConv) + ", 5) as costo_ult";
|
+ UtilityDB.valueToString(codMdep) + "," + UtilityDB.valueToString(codMart) + "), 0)*" + UtilityDB.valueToString(rapConv) + ", 5) as costo_ult";
|
||||||
BigDecimal valUnt = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
BigDecimal valUnt = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||||
return valUnt;
|
return valUnt;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ public class ConfigActivityRules extends QueryRules {
|
|||||||
public static boolean checkAttivita(Connection conn, StbActivity stbActivity) throws Exception {
|
public static boolean checkAttivita(Connection conn, StbActivity stbActivity) throws Exception {
|
||||||
boolean blocca = false;
|
boolean blocca = false;
|
||||||
if (stbActivity.getFlagTipologia().equalsIgnoreCase("P")) {
|
if (stbActivity.getFlagTipologia().equalsIgnoreCase("P")) {
|
||||||
|
if (stbActivity.getOperation() == OperationType.INSERT)
|
||||||
|
return false;
|
||||||
String sql =
|
String sql =
|
||||||
Query.format("SELECT parent_activity_id FROM stb_activity WHERE activity_id = %s", stbActivity.getActivityId());
|
Query.format("SELECT parent_activity_id FROM stb_activity WHERE activity_id = %s", stbActivity.getActivityId());
|
||||||
String parentActivityId = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
String parentActivityId = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||||
@@ -52,15 +54,7 @@ public class ConfigActivityRules extends QueryRules {
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
||||||
String sql =
|
blocca = checkAttivita(conn, stbActivity.getCodJcom(), dataCheck);
|
||||||
Query.format(
|
|
||||||
"SELECT CAST(COUNT(*) AS BIT)\n" +
|
|
||||||
"FROM stb_activity_check\n" +
|
|
||||||
"WHERE stb_activity_check.cod_jcom = %s\n" +
|
|
||||||
" AND %s BETWEEN stb_activity_check.data_iniz AND stb_activity_check.data_fine",
|
|
||||||
stbActivity.getCodJcom(), dataCheck);
|
|
||||||
|
|
||||||
blocca = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (blocca)
|
if (blocca)
|
||||||
@@ -69,6 +63,19 @@ public class ConfigActivityRules extends QueryRules {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean checkAttivita(Connection conn, String codJcom, Date dataCheck) throws Exception {
|
||||||
|
String sql =
|
||||||
|
Query.format(
|
||||||
|
"SELECT CAST(COUNT(*) AS BIT)\n" +
|
||||||
|
"FROM stb_activity_check\n" +
|
||||||
|
"WHERE stb_activity_check.cod_jcom = %s\n" +
|
||||||
|
" AND %s BETWEEN stb_activity_check.data_iniz AND stb_activity_check.data_fine",
|
||||||
|
codJcom, dataCheck);
|
||||||
|
|
||||||
|
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static List<JtbRLavt> completeJtbRlavtActivity(Connection connection, StbActivity entity) throws Exception {
|
public static List<JtbRLavt> completeJtbRlavtActivity(Connection connection, StbActivity entity) throws Exception {
|
||||||
String sql =
|
String sql =
|
||||||
"SELECT jrl_flav_users.cod_jflav" +
|
"SELECT jrl_flav_users.cod_jflav" +
|
||||||
|
|||||||
@@ -668,7 +668,7 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
|||||||
**************************/
|
**************************/
|
||||||
if (calcColli && codMart != null) {
|
if (calcColli && codMart != null) {
|
||||||
if (!changeQta) changeQta = checkQtaChange(testata, row);
|
if (!changeQta) changeQta = checkQtaChange(testata, row);
|
||||||
calcPesoColli(row, qta, datiTrasp, prendiNeiTotali);
|
calcPesoColli(row, qta, row.getNumCnf(), datiTrasp, prendiNeiTotali);
|
||||||
}
|
}
|
||||||
//Assegna costo
|
//Assegna costo
|
||||||
if (row instanceof DtbDocr && (((DtbDocr) row).getCostoUnt() == null || ((DtbDocr) row).getCostoUnt().compareTo(BigDecimal.ZERO) == 0)) {
|
if (row instanceof DtbDocr && (((DtbDocr) row).getCostoUnt() == null || ((DtbDocr) row).getCostoUnt().compareTo(BigDecimal.ZERO) == 0)) {
|
||||||
@@ -985,7 +985,7 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
|||||||
return totImposta;
|
return totImposta;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void calcPesoColli(DtbDocOrdR row, BigDecimal qta, DatiTrasportoDTO datiTrasp, boolean prendiNeiTotali) {
|
private static void calcPesoColli(DtbDocOrdR row, BigDecimal qta, BigDecimal numCnf, DatiTrasportoDTO datiTrasp, boolean prendiNeiTotali) {
|
||||||
BigDecimal taraKgArt = BigDecimal.ZERO;
|
BigDecimal taraKgArt = BigDecimal.ZERO;
|
||||||
if (!row.getMtbAart().getQtaCnf().equals(BigDecimal.ZERO) && !UtilityBigDecimal.isNullOrZero(row.getMtbAart().getTaraKg())) {
|
if (!row.getMtbAart().getQtaCnf().equals(BigDecimal.ZERO) && !UtilityBigDecimal.isNullOrZero(row.getMtbAart().getTaraKg())) {
|
||||||
taraKgArt = row.getMtbAart().getTaraKg().divide(row.getMtbAart().getQtaCnf(), 5, RoundingMode.HALF_UP);
|
taraKgArt = row.getMtbAart().getTaraKg().divide(row.getMtbAart().getQtaCnf(), 5, RoundingMode.HALF_UP);
|
||||||
@@ -1007,9 +1007,9 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
|||||||
datiTrasp.setPesoLordoKg(UtilityBigDecimal.isNull(datiTrasp.getPesoLordoKg(), BigDecimal.ZERO).add(pesoLordoRow));
|
datiTrasp.setPesoLordoKg(UtilityBigDecimal.isNull(datiTrasp.getPesoLordoKg(), BigDecimal.ZERO).add(pesoLordoRow));
|
||||||
|
|
||||||
/*CALCOLO NUMERO COLLI*/
|
/*CALCOLO NUMERO COLLI*/
|
||||||
BigDecimal qtaCnf = row.getQtaCnf();
|
|
||||||
BigDecimal colliRiga, sfusoRiga, qtaCnfInt;
|
BigDecimal colliRiga, sfusoRiga, qtaCnfInt;
|
||||||
if (prendiNeiTotali) {
|
if (prendiNeiTotali) {
|
||||||
|
BigDecimal qtaCnf = row.getQtaCnf().multiply(rapConv);
|
||||||
datiTrasp.setPesoNettoKg(UtilityBigDecimal.isNull(datiTrasp.getPesoNettoKg(), BigDecimal.ZERO).add(pesoNettoKg));
|
datiTrasp.setPesoNettoKg(UtilityBigDecimal.isNull(datiTrasp.getPesoNettoKg(), BigDecimal.ZERO).add(pesoNettoKg));
|
||||||
if (qtaCnf.compareTo(BigDecimal.ZERO) == 0) {
|
if (qtaCnf.compareTo(BigDecimal.ZERO) == 0) {
|
||||||
colliRiga = BigDecimal.ZERO;
|
colliRiga = BigDecimal.ZERO;
|
||||||
@@ -1017,11 +1017,18 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
|||||||
} else {
|
} else {
|
||||||
qtaCnfInt = qtaCnf.setScale(0, RoundingMode.DOWN);
|
qtaCnfInt = qtaCnf.setScale(0, RoundingMode.DOWN);
|
||||||
if (qtaCnf.subtract(qtaCnfInt).compareTo(BigDecimal.ZERO) > 0) {
|
if (qtaCnf.subtract(qtaCnfInt).compareTo(BigDecimal.ZERO) > 0) {
|
||||||
colliRiga = IntegerUtility.round(qta.divide(qtaCnf, RoundingMode.HALF_UP), 0);
|
if (UtilityBigDecimal.isNullOrZero(numCnf))
|
||||||
|
colliRiga = qta.divide(qtaCnf, RoundingMode.HALF_UP);
|
||||||
|
else
|
||||||
|
colliRiga = numCnf;
|
||||||
|
colliRiga = IntegerUtility.round(colliRiga, 0);
|
||||||
colliRiga = colliRiga.setScale(0, RoundingMode.DOWN);
|
colliRiga = colliRiga.setScale(0, RoundingMode.DOWN);
|
||||||
sfusoRiga = BigDecimal.ZERO;
|
sfusoRiga = BigDecimal.ZERO;
|
||||||
} else {
|
} else {
|
||||||
colliRiga = qta.divide(qtaCnf, RoundingMode.HALF_UP);
|
if (UtilityBigDecimal.isNullOrZero(numCnf))
|
||||||
|
colliRiga = qta.divide(qtaCnf, RoundingMode.HALF_UP);
|
||||||
|
else
|
||||||
|
colliRiga = numCnf;
|
||||||
colliRiga = colliRiga.setScale(0, RoundingMode.DOWN);
|
colliRiga = colliRiga.setScale(0, RoundingMode.DOWN);
|
||||||
sfusoRiga = new BigDecimal(qtaCnfInt.doubleValue() % qtaCnf.doubleValue());
|
sfusoRiga = new BigDecimal(qtaCnfInt.doubleValue() % qtaCnf.doubleValue());
|
||||||
sfusoRiga = IntegerUtility.round(sfusoRiga, 0);
|
sfusoRiga = IntegerUtility.round(sfusoRiga, 0);
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user