Merge branch 'develop' into GestioneDocumentiLavorazioneWMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

# Conflicts:
#	ems-engine/src/main/java/it/integry/ems/production/service/OrtoFruttaProductionService.java
#	ems-engine/src/main/java/it/integry/ems/production/service/ProductionOrderDataHandlerService.java
#	ems-engine/src/main/java/it/integry/ems/retail/wms/lavorazione/service/WMSLavorazioneService.java
This commit is contained in:
2024-10-18 17:17:16 +02:00
253 changed files with 17421 additions and 2117 deletions

View File

@@ -0,0 +1,8 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="AutoCloseableResource" enabled="true" level="WARNING" enabled_by_default="true">
<option name="METHOD_MATCHER_CONFIG" value="java.util.Formatter,format,java.io.Writer,append,com.google.common.base.Preconditions,checkNotNull,org.hibernate.Session,close,java.io.PrintWriter,printf,java.io.PrintStream,printf,java.lang.foreign.Arena,ofAuto,java.lang.foreign.Arena,global,com.annimon.stream.Stream,of" />
</inspection_tool>
</profile>
</component>

View File

@@ -0,0 +1,16 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Tomcat 9 (RistoCash)" type="Remote">
<module name="ems-engine" />
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" />
<option name="HOST" value="127.0.0.1" />
<option name="PORT" value="8001" />
<option name="AUTO_RESTART" value="false" />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="8001" />
<option name="LOCAL" value="false" />
</RunnerSettings>
<method v="2" />
</configuration>
</component>

122
build/Jenkinsfile.groovy Normal file
View File

@@ -0,0 +1,122 @@
pipeline {
agent any
stages {
stage ('PreBuild Steps (Master)') {
when {
expression {
return env.GIT_BRANCH == "master"
}
}
steps {
echo "Creo version tag su Git"
bat 'build\\create_build_tag.bat'
}
}
stage('Maven Build') {
steps {
echo "${WORKSPACE}"
withMaven(jdk: 'JDK 17.0.6 x64', traceability: true, maven: 'Maven 3.9.5') {
bat(script: 'mvn clean install -t toolchains-jenkins.xml', returnStdout: true)
archiveArtifacts(artifacts: 'ems-engine/target/*.war*', onlyIfSuccessful: true)
}
}
}
stage('Publish Develop') {
when {
expression {
return env.GIT_BRANCH == "develop"
}
}
parallel {
stage('Tomcat update') {
stages {
stage('Update Tomcat 1') {
steps {
echo "Updating Tomcat9 from ${WORKSPACE}"
powershell returnStdout: true, script: "build\\update_tomcat.ps1 -serviceName \"Tomcat9\" -httpPort \"8081\" -updatedArtifactPath \"${WORKSPACE}\\ems-engine\\target\\ems-api.war\""
}
}
stage('Update Tomcat 2') {
steps {
echo "Updating Tomcat9 from ${WORKSPACE}"
powershell returnStdout: true, script: "build\\update_tomcat.ps1 -serviceName \"Tomcat9Backup\" -httpPort \"8082\" -updatedArtifactPath \"${WORKSPACE}\\ems-engine\\target\\ems-api.war\""
bat 'curl -k https://devservices.studioml.it/ems-api/updateWMSApp'
}
}
}
}
stage('Publish over FTP') {
steps {
echo "Publish over FTP"
}
}
}
}
stage('Publish Master') {
when {
expression {
return env.GIT_BRANCH == "master"
}
}
parallel {
stage('Tomcat update') {
stages {
stage('Update Tomcat 1') {
steps {
echo "Updating Tomcat9 from ${WORKSPACE}"
sshPublisher(publishers: [sshPublisherDesc(configName: 'Production Linux Tomcat Server (192.168.3.16)', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''sudo /usr/bin/systemctl stop tomcat9
rm -R tomcat9/webapps/ems-api
sudo /usr/bin/systemctl start tomcat9
/home/studioml/./wait_tomcat_startup.sh 8081''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/tomcat9/webapps', remoteDirectorySDF: false, removePrefix: 'ems-engine/target/', sourceFiles: 'ems-engine/target/*.war*')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
}
}
stage('Update Tomcat 2') {
steps {
echo "Updating Tomcat9 from ${WORKSPACE}"
sshPublisher(publishers: [sshPublisherDesc(configName: 'Production Linux Tomcat Server (192.168.3.16)', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''sudo /usr/bin/systemctl stop tomcat9backup
rm -R tomcat9backup/webapps/ems-api
sudo /usr/bin/systemctl start tomcat9backup
/home/studioml/./wait_tomcat_startup.sh 8082
sleep 10''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/tomcat9backup/webapps', remoteDirectorySDF: false, removePrefix: 'ems-engine/target/', sourceFiles: 'ems-engine/target/*.war*')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
bat 'curl -k https://services.studioml.it/ems-api/updateWMSApp'
}
}
}
}
stage('Publish over FTP') {
steps {
ftpPublisher alwaysPublishFromMaster: false,
continueOnError: false,
failOnError: false,
masterNodeName: '',
paramPublish: null,
publishers: [[configName: 'OVH Linux Web Server (51.38.112.23)',
transfers: [[asciiMode: false,
cleanRemote: false,
excludes: '',
flatten: false,
makeEmptyDirs: false,
noDefaultExcludes: false,
patternSeparator: '[, ]+',
remoteDirectory: '/download/Aggiornamenti',
remoteDirectorySDF: false,
removePrefix: 'ems-engine/target/',
sourceFiles: 'ems-engine/target/*.war*']],
usePromotionTimestamp: false,
useWorkspaceInPromotion: false,
verbose: true]]
}
}
}
}
}
}

View File

@@ -0,0 +1,43 @@
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

153
build/update_tomcat.ps1 Normal file
View File

@@ -0,0 +1,153 @@
Param(
[string]$serviceName, #Argomento passato dal chiamante
[Int32]$httpPort, #Argomento passato dal chiamante
[string]$updatedArtifactPath #Argomento passato dal chiamante
)
$max_attempts = 48
$attempt = 0
$webappsPath = "C:\Program Files\$serviceName\webapps"
# Funzione per eseguire la chiamata GET e controllare lo status code
function Check-Status {
try {
$request = Invoke-WebRequest -Uri "http://localhost:$httpPort/ems-api/system/ok" -Method Get -ErrorAction Stop
$statusCode = $request.StatusCode
if ($statusCode -eq 200) {
Write-Host "Status code 200 ricevuto, processo completato."
exit 0
} else {
Write-Host "Status code $statusCode ricevuto, continuo a provare..."
}
} catch {
Write-Host "Errore: $_"
}
}
# Funzione per cancellare una cartella e un file
function Delete-FilesAndFolder
{
param (
[string]$folderPath,
[string]$filePath
)
try {
# Cancellare la cartella specificata
if (Test-Path -Path $folderPath) {
Remove-Item -Path $folderPath -Recurse -Force
Write-Host "Cartella $folderPath eliminata con successo."
} else {
Write-Host "La cartella $folderPath non esiste."
}
# Cancellare il file specificato
if (Test-Path -Path $filePath) {
Remove-Item -Path $filePath -Force
Write-Host "File $filePath eliminato con successo."
} else {
Write-Host "Il file $filePath non esiste."
}
} catch {
Write-Host "Errore nella cancellazione di file o cartella: $_"
exit 1
}
}
# Funzione per copiare un file
function Copy-File {
param (
[string]$sourceFilePath,
[string]$destinationFilePath
)
try {
if (Test-Path -Path $sourceFilePath) {
Copy-Item -Path $sourceFilePath -Destination $destinationFilePath -Force
Write-Host "File copiato da $sourceFilePath a $destinationFilePath con successo."
} else {
Write-Host "Il file sorgente $sourceFilePath non esiste."
}
} catch {
Write-Host "Errore nella copia del file: $_"
exit 1
}
}
# Funzione per stoppare un servizio e attendere che sia completamente fermato
function Stop-ServiceAndWait {
param (
[string]$serviceName
)
# Tentativo di stoppare il servizio
try {
Write-Host "Sto stoppando il servizio $serviceName..."
Stop-Service -Name $serviceName -Force
# Attesa finché il servizio non viene stoppato
$service = Get-Service -Name $serviceName
while ($service.Status -ne 'Stopped') {
Write-Host "Attendo che il servizio $serviceName si fermi..."
Start-Sleep -Seconds 5
$service = Get-Service -Name $serviceName
}
Write-Host "Il servizio $serviceName è stato fermato con successo."
} catch {
Write-Host "Errore nello stoppare il servizio ${serviceName}: $_"
exit 1
}
}
# Funzione per avviare nuovamente un servizio e attendere che sia in esecuzione
function Start-ServiceAndWait {
param (
[string]$serviceName
)
try {
Write-Host "Sto avviando il servizio $serviceName..."
Start-Service -Name $serviceName
# Attesa finché il servizio non viene avviato
$service = Get-Service -Name $serviceName
while ($service.Status -ne 'Running') {
Write-Host "Attendo che il servizio $serviceName si avvii..."
Start-Sleep -Seconds 5
$service = Get-Service -Name $serviceName
}
Write-Host "Il servizio $serviceName è stato avviato con successo."
} catch {
Write-Host "Errore nell'avvio del servizio ${serviceName}: $_"
exit 1
}
}
# Chiamare la funzione per stoppare il servizio
Stop-ServiceAndWait -serviceName $serviceName
# Subito dopo lo stop, cancellare la cartella e il file
$emsApiPath = "$webappsPath\ems-api"
$emsWarFilePath = "$webappsPath\ems-api.war"
Delete-FilesAndFolder -folderPath $emsApiPath -filePath $emsWarFilePath
# Chiamare la funzione per copiare il file
Write-Host "Copio $updatedArtifactPath in $emsWarFilePath"
Copy-File -sourceFilePath $updatedArtifactPath -destinationFilePath $emsWarFilePath
# Avvia nuovamente il servizio
Start-ServiceAndWait -serviceName $serviceName
# Ciclo fino a quando lo status code non è 200 o superiamo il numero massimo di tentativi
while ($attempt -lt $max_attempts) {
$attempt++
Check-Status
Start-Sleep -Seconds 5 # Attendere per 5 secondi prima di fare un altro tentativo
}
Write-Host "Numero massimo di tentativi superato. Nessuna risposta 200 ricevuta."
exit 1

View File

@@ -24,7 +24,8 @@ public enum EntityImportType {
SCONTRINI("SCONTRINI"),
MOVIMENTI_CONTABILI("MOVIMENTI CONTABILI"),
GRIGLIA_VENDITA("GRIGLIA VENDITA"),
GRIGLIA_ACQUISTO("GRIGLIA ACQUISTO");
GRIGLIA_ACQUISTO("GRIGLIA ACQUISTO"),
SCADENZE("SCADENZE");
private String text;

View File

@@ -3,6 +3,7 @@ package it.integry.ems.dto;
import com.fasterxml.jackson.annotation.JsonValue;
import it.integry.ems.report.dto.JasperDTO;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.entity.DtbDocPdf;
import it.integry.ems_model.entity.MtbAartLink;
import it.integry.ems_model.entity.MtbUntMis;
import it.integry.ems_model.entity.StbActivityFile;
@@ -18,6 +19,8 @@ public class CreateZipDTO {
private List<MtbAartLink> listMtbAartLink;
private List<DtbDocPdf> listDtbDocPdf;
private String fileName;
private SaveMode saveMode = SaveMode.STB_FILES_ATTACHED;
@@ -51,6 +54,15 @@ public class CreateZipDTO {
return this;
}
public List<DtbDocPdf> getListDtbDocPdf() {
return listDtbDocPdf;
}
public CreateZipDTO setListDtbDocPdf(List<DtbDocPdf> listDtbDocPdf) {
this.listDtbDocPdf = listDtbDocPdf;
return this;
}
public String getFileName() {
return fileName;
}

View File

@@ -1,6 +1,7 @@
package it.integry.ems.ecedi.enums;
public enum EuritmoCCIAppIdentifier {
CCI37("37"),
CCI00("00"),
CCI10("10"),
CCI17("17"),

View File

@@ -103,7 +103,7 @@ public class EntityDevelopmentService {
javaClass.addAndGetAnnotation(JsonTypeName.class)
.addPair("value", new FieldAccessExpr(new NameExpr(javaClassName), "ENTITY"));
final FieldDeclaration entityField = javaClass.addFieldWithInitializer(String.class, "ENTITY", new StringLiteralExpr(databaseTable.getTableName()), PRIVATE, FINAL, STATIC);
final FieldDeclaration entityField = javaClass.addFieldWithInitializer(String.class, "ENTITY", new StringLiteralExpr(databaseTable.getTableName()), PUBLIC, FINAL, STATIC);
final FieldDeclaration serialVersionUIDField = javaClass.addFieldWithInitializer(Long.class, "serialVersionUID", new LongLiteralExpr("1L"), PRIVATE, FINAL, STATIC);
final FieldDeclaration loggerField = javaClass.addFieldWithInitializer(Logger.class, "logger", new MethodCallExpr("LogManager.getLogger"), PRIVATE, FINAL, STATIC);

View File

@@ -17,7 +17,8 @@ public enum EntityExportType {
RAPPORTINI("RAPPORTINI"),
VARIAZIONE_PV("VARIAZIONE PV"),
LISTINI_ACQUISTO("LISTINI ACQUISTO"),
COLLI("COLLI");
COLLI("COLLI"),
SCADENZE("SCADENZE");
private String text;

View File

@@ -16,7 +16,7 @@ import java.util.List;
public class TxtMapper<T> {
private Logger logger = LogManager.getLogger();
private final Logger logger = LogManager.getLogger();
private String fieldsSplitChar = " ";
@@ -29,20 +29,10 @@ public class TxtMapper<T> {
public String serialize(T object) {
Class Tclass = object.getClass();
Class<?> Tclass = object.getClass();
List<Field> declaredFields = Arrays.asList(Tclass.getDeclaredFields());
List<Field> sortedFields = Stream.of(declaredFields)
.filter(x -> x.getAnnotation(DtoField.class) != null && x.getAnnotation(DtoField.class).startPosition() >= 0)
.sortBy(x -> x.getAnnotation(DtoField.class).startPosition())
.toList();
sortedFields.addAll(Stream.of(declaredFields)
.filter(x -> x.getAnnotation(DtoField.class) != null && x.getAnnotation(DtoField.class).startPosition() < 0)
.toList());
List<Field> sortedFields = sortFields(declaredFields);
StringBuilder stringBuilder = new StringBuilder();
@@ -52,18 +42,7 @@ public class TxtMapper<T> {
declaredField.setAccessible(true);
try {
// if(dtoField.startPosition() > stringBuilder.length()) {
// int spacesNeeded = dtoField.startPosition() - stringBuilder.length() - 1;
// int counter = 0;
// do {
// stringBuilder.append(" ");
// counter ++;
// } while (counter < spacesNeeded);
//
// stringBuilder.append(fieldsSplitChar);
// }
String value = applyDtoAnnotation(declaredField.get(object), dtoField);
String value = applyDtoAnnotationForSerialization(declaredField.get(object), dtoField);
if (value == null) {
value = "";
@@ -101,7 +80,7 @@ public class TxtMapper<T> {
public String serialize(List<T> objectList) {
if (objectList == null || objectList.size() == 0)
if (objectList == null || objectList.isEmpty())
return null;
StringBuilder stringBuilder = new StringBuilder();
@@ -109,12 +88,63 @@ public class TxtMapper<T> {
for (int i = 0; i < objectList.size(); i++) {
stringBuilder.append(serialize(objectList.get(i)));
if (i < objectList.size() - 1) stringBuilder.append(System.getProperty("line.separator"));
if (i < objectList.size() - 1) stringBuilder.append(System.lineSeparator());
}
return stringBuilder.toString();
}
public T deserialize(String line, Class<T> clazz) {
try {
T instance = clazz.getDeclaredConstructor().newInstance();
List<Field> declaredFields = Arrays.asList(clazz.getDeclaredFields());
List<Field> sortedFields = sortFields(declaredFields);
for (Field field : sortedFields) {
DtoField dtoField = field.getAnnotation(DtoField.class);
field.setAccessible(true);
String value = null;
if (ignorePosition) {
String[] tokens = line.split(fieldsSplitChar);
value = tokens[sortedFields.indexOf(field)];
} else {
int startPosition = dtoField.startPosition();
int endPosition = Math.min(line.length(), startPosition + dtoField.maxLength());
if (startPosition < endPosition && endPosition <= line.length()) {
value = line.substring(startPosition, endPosition).trim();
}
}
applyDtoAnnotationForDeserialization(field, instance, value, dtoField);
}
return instance;
} catch (Exception e) {
logger.error("Error during deserialization", e);
return null;
}
}
public List<T> deserialize(List<String> lines, Class<T> clazz) {
return Stream.of(lines)
.map(line -> deserialize(line, clazz))
.toList();
}
private List<Field> sortFields(List<Field> declaredFields) {
List<Field> sortedFields = Stream.of(declaredFields)
.filter(x -> x.getAnnotation(DtoField.class) != null && x.getAnnotation(DtoField.class).startPosition() >= 0)
.sortBy(x -> x.getAnnotation(DtoField.class).startPosition())
.toList();
sortedFields.addAll(Stream.of(declaredFields)
.filter(x -> x.getAnnotation(DtoField.class) != null && x.getAnnotation(DtoField.class).startPosition() < 0)
.toList());
return sortedFields;
}
public String getFieldsSplitChar() {
return fieldsSplitChar;
@@ -162,13 +192,11 @@ public class TxtMapper<T> {
}
private String applyDtoAnnotation(Object value, DtoField dtoField) {
private String applyDtoAnnotationForSerialization(Object value, DtoField dtoField) {
if (value != null) {
if (!UtilityString.isNullOrEmpty(dtoField.format()) && value instanceof Date) {
value = new SimpleDateFormat(dtoField.format()).format(value);
} else if (!UtilityString.isNullOrEmpty(dtoField.formula()) && value instanceof BigDecimal) {
// String regex = "[0-9]+\\.[0-9]{"+dtoField.scale()+"}+";
// if(Pattern.matches(regex, columnValue.toString())
value = ((BigDecimal) value).setScale(dtoField.scale(), RoundingMode.HALF_DOWN);
String formula = dtoField.formula().replaceAll("this", value.toString());
String[] opList = formula.split("\\*");
@@ -193,4 +221,29 @@ public class TxtMapper<T> {
return value != null ? value.toString() : null;
}
private void applyDtoAnnotationForDeserialization(Field field, T instance, String value, DtoField dtoField) throws Exception {
if (!UtilityString.isNullOrEmpty(value)) {
Class<?> fieldType = field.getType();
if (fieldType == Integer.class) {
field.set(instance, Integer.parseInt(value));
} else if (fieldType == BigDecimal.class) {
BigDecimal bigDecimalValue = new BigDecimal(value);
if (!UtilityString.isNullOrEmpty(dtoField.moltiplicatore())) {
bigDecimalValue = bigDecimalValue.divide(new BigDecimal(dtoField.moltiplicatore()));
}
field.set(instance, bigDecimalValue.setScale(dtoField.scale(), RoundingMode.HALF_DOWN));
} else if (fieldType == Boolean.class) {
field.set(instance, value.equalsIgnoreCase(defaultBooleanTrueValue));
} else if (fieldType == Date.class) {
if (!UtilityString.isNullOrEmpty(dtoField.format())) {
SimpleDateFormat sdf = new SimpleDateFormat(dtoField.format());
field.set(instance, sdf.parse(value));
}
} else {
field.set(instance, value);
}
}
}
}

View File

@@ -11,6 +11,7 @@ import it.integry.ems.utility.UtilityDebug;
import it.integry.ems_model.entity.Azienda;
import it.integry.ems_model.entity.StbGestSetup;
import it.integry.ems_model.entity.StbGestSetupQuery;
import it.integry.ems_model.entity.StbGestSync;
import it.integry.ems_model.exception.DataConverterNotFoundException;
import it.integry.ems_model.rulescompleting.DroolsDataCompleting;
import it.integry.ems_model.types.ApplicationName;
@@ -454,4 +455,28 @@ public abstract class BaseMigration implements MigrationModelInterface {
Azienda currentAzienda = Azienda.getDefaultAzienda(advancedDataSource.getConnection());
return currentAzienda.getApplicationNameEnum() == ApplicationName.DMS;
}
protected void enableSaveToRest(String gestName) throws Exception {
boolean existRow =
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
Query.format("SELECT cast(count(*) as bit) FROM stb_gest_sync WHERE gest_name = %s", gestName));
StbGestSync gestSync =
new StbGestSync()
.setGestName(gestName)
.setSyncronize("R");
if (existRow) {
gestSync.setOperation(OperationType.UPDATE);
} else{
String entityName =
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
Query.format("SELECT entity_name FROM stb_menu_opz WHERE gest_name = %s", gestName));
gestSync.setEntityName(entityName);
gestSync.setOperation(OperationType.INSERT);
}
gestSync.manageWithParentConnection(advancedDataSource.getConnection());
}
}

View File

@@ -1,6 +1,7 @@
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_20240701154113 extends BaseMigration implements MigrationModelInterface {
@@ -10,11 +11,13 @@ public class Migration_20240701154113 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
executeStatement("INSERT INTO stb_abil\n" +
"select 'IG034', USER_NAME, flag_abil, 'w_ifat_elettroniche_check_dlg'\n" +
"from stb_abil\n" +
"where cod_opz = 'IR001'\n" +
"where cod_opz = 'IR001' and user_name not in (select user_name from stb_abil where cod_opz = 'IG034')\n" +
"\n");
}

View File

@@ -1,6 +1,7 @@
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_20240715134642 extends BaseMigration implements MigrationModelInterface {
@@ -10,6 +11,8 @@ public class Migration_20240715134642 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
createOrUpdateTrigger("t_UpdProgMagaT", "CREATE TRIGGER [dbo].[t_UpdProgMagaT]\n" +
" ON [dbo].[dtb_ordt]\n" +

View File

@@ -1,6 +1,7 @@
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_20240723164345 extends BaseMigration implements MigrationModelInterface {
@@ -10,6 +11,8 @@ public class Migration_20240723164345 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
createOrUpdateTrigger("t_UpdProgMagaT", "CREATE TRIGGER [dbo].[t_UpdProgMagaT]\n" +
" ON [dbo].[dtb_ordt]\n" +

View File

@@ -1,6 +1,7 @@
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_20240807143042 extends BaseMigration implements MigrationModelInterface {
@@ -10,6 +11,8 @@ public class Migration_20240807143042 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
createOrUpdateProcedure("MRP_UpdateQtaImpProx", "CREATE Procedure [dbo].[MRP_UpdateQtaImpProx](@elencoArticoli varchar(max) = null)\n" +
"AS \n" +

View File

@@ -1,6 +1,7 @@
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_20240809145906 extends BaseMigration implements MigrationModelInterface {
@@ -10,6 +11,8 @@ public class Migration_20240809145906 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
createOrUpdateFunction("getMaterialiDistinta", "CREATE FUNCTION [dbo].[getMaterialiDistinta](@codProd VARCHAR(15), @explodeSemilavorati bit)\n" +
" RETURNS TABLE\n" +

View File

@@ -14,12 +14,14 @@ public class Migration_20240814102149 extends BaseMigration implements Migration
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
executeStatement(
"insert into stb_abil\n" +
"select stb_menu_opz.cod_opz, user_name, flag_abil, stb_menu_opz.gest_name\n" +
"from ( select * from stb_abil where stb_abil.cod_opz = 'TG002' ) stb_abil\n" +
"cross apply ( select * from stb_menu_opz where stb_menu_opz.cod_opz ='TG041' ) stb_menu_opz",
"update stb_abil set flag_abil = 'N' where stb_abil.cod_opz = 'TG002' ");
"cross apply ( select * from stb_menu_opz where stb_menu_opz.cod_opz ='TG041' ) stb_menu_opz");
}
@Override

View File

@@ -0,0 +1,97 @@
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.AtbForn;
import it.integry.ems_model.entity.MtbAart;
import it.integry.ems_model.entity.VtbClie;
import it.integry.ems_model.entity.WtbUsers;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.UtilityDB;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.List;
public class Migration_20240828094457 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
String val = null;
if (isCustomer(IntegryCustomer.Tosca)) {
val = "01";
}
createSetup("EDGE_CONN", "SETUP", "COD_ATIP_MP", val, "Codice tipo fornitore materia prima (cassette tbw)", "COD_ATIP");
if (!isCustomer(IntegryCustomer.Tosca))
return;
String sql = "SELECT * from vtb_clie";
List<VtbClie> listaClienti = UtilityDB.executeSimpleQueryDTO(advancedDataSource.getConnection(), sql, VtbClie.class);
if (listaClienti.isEmpty())
return;
for (VtbClie clie : listaClienti) {
AtbForn forn = new AtbForn();
forn
.setCodAnag(clie.getCodAnag())
.setCodAtip(val)
.setOperation(OperationType.INSERT);
clie
.setOperation(OperationType.DELETE);
forn.manageWithParentConnection(advancedDataSource.getConnection(), droolsDataCompleting);
clie.manageWithParentConnection(advancedDataSource.getConnection(), droolsDataCompleting);
}
List<String> queryDiacod = new ArrayList<>();
//WOOD
queryDiacod.add("UPDATE mtb_aart SET diacod = N'934' WHERE cod_mart = N'RPC416AW'");
queryDiacod.add("UPDATE mtb_aart SET diacod = N'935' WHERE cod_mart = N'RPC416WW'");
queryDiacod.add("UPDATE mtb_aart SET diacod = N'937' WHERE cod_mart = N'RPC4311SW'");
queryDiacod.add("UPDATE mtb_aart SET diacod = N'942' WHERE cod_mart = N'RPC611AW'");
queryDiacod.add("UPDATE mtb_aart SET diacod = N'943' WHERE cod_mart = N'RPC613AW'");
queryDiacod.add("UPDATE mtb_aart SET diacod = N'944' WHERE cod_mart = N'RPC616AW'");
queryDiacod.add("UPDATE mtb_aart SET diacod = N'946' WHERE cod_mart = N'RPC619AW'");
queryDiacod.add("UPDATE mtb_aart SET diacod = N'947' WHERE cod_mart = N'RPC622AW'");
queryDiacod.add("UPDATE mtb_aart SET diacod = N'948' WHERE cod_mart = N'RPC623AW'");
//GREEN
queryDiacod.add("UPDATE mtb_aart SET diacod = N'936' WHERE cod_mart = N'RPC4311'");
queryDiacod.add("UPDATE mtb_aart SET diacod = N'939' WHERE cod_mart = N'RPC4317'");
queryDiacod.add("UPDATE mtb_aart SET diacod = N'950' WHERE cod_mart = N'RPC6411'");
queryDiacod.add("UPDATE mtb_aart SET diacod = N'952' WHERE cod_mart = N'RPC6416'");
queryDiacod.add("UPDATE mtb_aart SET diacod = N'955' WHERE cod_mart = N'RPC6419'");
queryDiacod.add("UPDATE mtb_aart SET diacod = N'958' WHERE cod_mart = N'RPC6423'");
//MEAT
queryDiacod.add("UPDATE mtb_aart SET diacod = N'1501' WHERE cod_mart = N'RPC4317M'");
queryDiacod.add("UPDATE mtb_aart SET diacod = N'1850' WHERE cod_mart = N'RPC6411M'");
queryDiacod.add("UPDATE mtb_aart SET diacod = N'957' WHERE cod_mart = N'RPC6419M'");
queryDiacod.add("INSERT INTO mtb_depo_intercode (cod_forn, intercode, cod_mdep, user_name, cod_vdes, email_ordine) VALUES (N'F0000', N'ACC-00048931',N'CE',NULL, N'01', null);");
queryDiacod.add("INSERT INTO mtb_depo_intercode (cod_forn, intercode, cod_mdep, user_name, cod_vdes, email_ordine) VALUES (N'F0000', N'ACC-00063682',N'RM',NULL, N'02', null);");
queryDiacod.add("INSERT INTO mtb_depo_intercode (cod_forn, intercode, cod_mdep, user_name, cod_vdes, email_ordine) VALUES (N'F0000', N'ACC-00053786',N'MI',NULL, N'03', null);");
queryDiacod.add("INSERT INTO mtb_depo_intercode (cod_forn, intercode, cod_mdep, user_name, cod_vdes, email_ordine) VALUES (N'F0000', N'ACC-00060042',N'RG',NULL, N'04', null);");
queryDiacod.add("INSERT INTO mtb_depo_intercode (cod_forn, intercode, cod_mdep, user_name, cod_vdes, email_ordine) VALUES (N'F0000', N'ACC-00055852',N'VR',NULL, N'05', null);");
queryDiacod.add("INSERT INTO mtb_depo_intercode (cod_forn, intercode, cod_mdep, user_name, cod_vdes, email_ordine) VALUES (N'F0000', N'ACC-00069093',N'BA',NULL, N'06', null);");
queryDiacod.add("INSERT INTO mtb_depo_intercode (cod_forn, intercode, cod_mdep, user_name, cod_vdes, email_ordine) VALUES (N'F0000', N'ACC-00069743',N'CZ',NULL, N'07', null);");
queryDiacod.add("INSERT INTO mtb_depo_intercode (cod_forn, intercode, cod_mdep, user_name, cod_vdes, email_ordine) VALUES (N'F0000', N'ACC-00063683',N'FC',NULL, N'08', null);");
for (String updateDiacodSql : queryDiacod) {
PreparedStatement updateDefaultFlagPS = advancedDataSource.getConnection().prepareStatement(updateDiacodSql);
updateDefaultFlagPS.setQueryTimeout(30);
updateDefaultFlagPS.executeUpdate();
updateDefaultFlagPS.close();
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -1,7 +1,10 @@
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.utility.UtilityDebug;
import it.integry.ems_model.utility.UtilityDB;
public class Migration_20240906164323 extends BaseMigration implements MigrationModelInterface {
@@ -9,7 +12,10 @@ public class Migration_20240906164323 extends BaseMigration implements Migration
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
if (UtilityDebug.isDebugExecution() || UtilityDebug.isIntegryServer()) return;
executeStatement("update stb_menu set flag_attivo = 'N' where cod_opz in ('vg107', 'ag030','ag031','lg081','lg082', 'vg106', 'ag032')" );
}

View File

@@ -1,6 +1,7 @@
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_20240909103353 extends BaseMigration implements MigrationModelInterface {
@@ -10,6 +11,8 @@ public class Migration_20240909103353 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
createOrUpdateFunction("MES_GetWorkOrders", "CREATE FUNCTION [dbo].[MES_GetWorkOrders](@codJfas VARCHAR(50), @dateStart DATE, @dateEnd DATE, @flagEvaso VARCHAR(1),\n" +
" @codAnag VARCHAR(5))\n" +

View File

@@ -1,6 +1,7 @@
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_20240910101351 extends BaseMigration implements MigrationModelInterface {
@@ -10,6 +11,9 @@ public class Migration_20240910101351 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
createOrUpdateFunction("getPromozioneVendita", "CREATE FUNCTION [dbo].[getPromozioneVendita] (@dataIniz datetime, @dataFine datetime, @codVlis varchar(5), @codPromo varchar(10), @codMart varchar(15)) RETURNS TABLE AS \n" +
" return \n" +

View File

@@ -2,6 +2,7 @@ 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.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityDate;
@@ -13,6 +14,9 @@ public class Migration_20240910113729 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
executeStatement("alter table vtb_list_data add \n" +
"\tid_listino AS (CONVERT([bigint],[vtb_list_data].[data_iniz])*(10000000)+[vtb_list_data].[versione]) PERSISTED;");

View File

@@ -16,6 +16,9 @@ public class Migration_20240910114320 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
IndexTableDTO indexTableDTO =
new IndexTableDTO()
.setTableName("vtb_list_data")

View File

@@ -1,6 +1,7 @@
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_20240910115321 extends BaseMigration implements MigrationModelInterface {
@@ -11,7 +12,9 @@ public class Migration_20240910115321 extends BaseMigration implements Migration
return;
createOrUpdateFunction("getListinoVendita_id", "create FUNCTION [dbo].[getListinoVendita_id](@datavalidita DATETIME, @codvlis VARCHAR(5), @codmart VARCHAR(15))\n" +
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
createOrUpdateFunction("getListinoVendita_id", "create FUNCTION [dbo].[getListinoVendita_id](@datavalidita DATETIME, @codvlis VARCHAR(5), @codmart VARCHAR(15))\n" +
" RETURNS TABLE AS\n" +
" RETURN \n" +
" --declare @datavalidita DATETIME, @codvlis VARCHAR(5), @codmart VARCHAR(15)\n" +

View File

@@ -1,6 +1,7 @@
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_20240910143311 extends BaseMigration implements MigrationModelInterface {
@@ -10,6 +11,8 @@ public class Migration_20240910143311 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
executeStatement("alter table gtb_anag add data_mod datetime");
}

View File

@@ -0,0 +1,31 @@
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_20240913112628 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
executeStatement("CREATE TABLE dtb_note_doc (id bigint identity not null,note varchar(8000) not null, \n" +
" CONSTRAINT PK_dtb_note_doc PRIMARY KEY (id));\n" +
"\n" +
"CREATE TABLE drl_tipi_note_doc (cod_dtip varchar(5) not null, id_note bigint not null, id_riga integer not null, \n" +
" CONSTRAINT PK_drl_tipi_note_doc PRIMARY KEY (cod_dtip, id_note),\n" +
" CONSTRAINT FK_drl_tipi_note_doc_cod FOREIGN KEY (cod_dtip) REFERENCES dtb_tipi(cod_dtip),\n" +
" CONSTRAINT FK_drl_tipi_note_doc_id FOREIGN KEY (id_note) REFERENCES dtb_note_doc(id));");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,28 @@
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_20240913135928 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
executeStatement("alter table ctb_cont add data_ins datetime",
"alter table ctb_cont add data_mod datetime");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -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_20240913141508 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
executeStatement(
"update ctb_cont set data_ins = IsNull(c.data_cmov, '2000/01/01'), data_mod = Isnull(c.data_cmov, '2000/01/01') " +
"FROM ctb_cont cross apply (select MIN(data_cmov) as data_cmov from ctb_movt ) c",
"alter table ctb_cont alter column data_ins datetime not null",
"alter table ctb_cont alter column data_mod datetime not null");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,31 @@
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.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20240913144135 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
if (isCustomer(IntegryCustomer.RossoGargano))
executeStatement("update ctb_cont set ctb_cont.data_ins = convert(datetime, cast( CL_DATA_INSERIMENTO as varchar),112),\n" +
"ctb_cont.data_mod = convert(datetime, cast( CL_DATA_MODIFICA as varchar),112)\n" +
"from ctb_cont \n" +
"inner join RossoGarganoExchange.dbo.ANAG on ctb_cont.diacod = ANAG.CL_CODICE\n" +
"\n");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,42 @@
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.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20240913153037 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if ( !isCustomer(IntegryCustomer.Biolevante)) return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
executeStatement("insert into dtb_note_doc \n" +
"values ('Eventuali variazioni di IBAN sono da considerarsi valide solo se confermate direttamente dal personale della OLIO LEVANTE SRL a mezzo telefono'),\n" +
"('Any changes of IBAN are to be considered valid only if confirmed directly by the staff of OLIO LEVANTE SRL by phone')",
"insert into drl_tipi_note_doc\n" +
"select cod_dtip, 1, 1\n" +
"from dtb_tipi \n" +
"where mod_stamp in ('MOD7', 'BOLAC','FAT','MOD10','MOD8','MOD6')\n" +
"and gestione = 'v' ",
"insert into drl_tipi_note_doc\n" +
"select cod_dtip,2, 1\n" +
"from dtb_tipi \n" +
"where mod_stamp in ('MOD4','FATAC','MOD1','MOD5','MOD2','MOD3')\n" +
"and gestione = 'v'\n" +
"\n"
);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -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_20240913154727 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
enableSaveToRest("ccont");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -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_20240913171829 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("IMPORT_ANAGRAFICHE ARTICOLI", "FOTO", "ATTIVO", "N",
"Inserire S/N per attivare/disattivare il tipo di importazione", false, null, false, false,
false, false, false, null, false, null);
createSetup("IMPORT_ANAGRAFICHE ARTICOLI", "FOTO", "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_ANAGRAFICHE ARTICOLI", "FOTO", "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_ANAGRAFICHE ARTICOLI", "FOTO", "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_ANAGRAFICHE ARTICOLI", "FOTO", "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_ANAGRAFICHE ARTICOLI", "FOTO", "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_ANAGRAFICHE ARTICOLI", "FOTO", "PATH_FILE", null,
"Directory contente i file da importare.", false, null, false, false,
false, false, false, null, false, null);
createSetup("IMPORT_ANAGRAFICHE ARTICOLI", "FOTO", "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 {
}
}

View File

@@ -0,0 +1,24 @@
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_20240916161113 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
executeStatement("ALTER TABLE dtb_note_doc ADD data_iniz DATETIME , data_fine DATETIME;");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,43 @@
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.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20240916162607 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomer(IntegryCustomer.Smetar)) {
return;
}
if (!isCustomer(IntegryCustomer.Cosmapack)) {
createSetup("WINACCESS", "SETUP", "MAX_DEVIATION_TIME", null,
"Minuti di deviazione massima tra orario di lavoro registrato e quello teorico", false, null, false, false,
false, false, false, null, false, null);
}
createSetup("WINACCESS", "SETUP", "COD_DIVI_CONT", null,
"Cod. divi cont di default per jtb_rlavt", false, null, false, false,
false, false, false, null, false, null);
createSetup("WINACCESS", "SETUP", "SOLO_COMMESSE_ATTIVE", null,
"Indica se mostrare solo le commesse con ordini di lavoro attivi", false, "SI_NO", false, false,
false, false, false, null, false);
createSetup("MES", "REPORT", "RIENTRO", null,
"Nome del report da usare per l'etichetta di rientro", false, "REPORT_NAME", false, false,
false, false, false, null, false, null);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,23 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20240917092250 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("w_mlupdsrv_config_dlg", "SETUP", "NEW_VERSION", "S",
"Se impostato a S avvia la nuova gestione importazione oridne (Ho attivato questa setup , perchè non si riusciva a capire se la vecchia versione veniva o meno utilizzata)", false, null, false, false,
false, false, false, null, false, null);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,89 @@
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_20240917110039 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isCustomerDb(IntegryCustomerDB.Carelli_Winact)) return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
createOrUpdateFunction("steup_getGrigliaVendita", "CREATE FUNCTION [dbo].[steup_getGrigliaVendita](\n" +
" @codMdep VARCHAR(5), @codJfas VARCHAR(5)\n" +
")\n" +
" RETURNS TABLE\n" +
" AS\n" +
" RETURN(WITH tipiArt AS (SELECT value_string AS cod_mtip\n" +
" FROM dbo.ParseStringIntoArray((SELECT value\n" +
" FROM stb_gest_setup\n" +
" WHERE gest_name = 'PVM'\n" +
" AND section = 'RILEVAZIONI_STEUP'\n" +
" AND key_section = 'EXCLUDE_COD_MTIP'), '|') t)\n" +
" , art AS (SELECT DISTINCT cod_griglia, cod_mart\n" +
" FROM carelli.dbo.vtb_griglia_art\n" +
" WHERE cod_griglia = @codMdep\n" +
" AND data_validita =\n" +
" (SELECT MAX(data_validita) FROM carelli.dbo.vtb_griglia_art WHERE cod_griglia = @codMdep) \n" +
" )\n" +
" \n" +
" SELECT DISTINCT case when @codJfas = '01' then art_det.cod_mart_griglia else mtb_aart.cod_mart end as cod_mart,\n" +
" mtb_aart.descrizione,\n" +
" mtb_aart.bar_code,\n" +
" mtb_aart.cod_msgr,\n" +
" mtb_aart.plu,\n" +
" art_det.cod_mart_griglia AS cod_madre \n" +
" FROM carelli.dbo.mtb_aart\n" +
" INNER JOIN jrl_fasi_mtb_grup ON\n" +
" mtb_aart.cod_mgrp = jrl_fasi_mtb_grup.cod_mgrp\n" +
" INNER JOIN (SELECT cod_mart, cod_comp AS cod_mart_griglia\n" +
" FROM carelli.dbo.mtb_comp\n" +
" UNION ALL\n" +
" SELECT cod_comp AS cod_mart, cod_mart AS cod_mart_griglia\n" +
" FROM carelli.dbo.mtb_comp \n" +
" where @codJfas <> '01'\n" +
" UNION ALL\n" +
" SELECT cod_mart, cod_mart AS cod_mart_griglia\n" +
" FROM carelli.dbo.mtb_aart\n" +
" WHERE cod_mart NOT IN (SELECT cod_mart FROM carelli.dbo.mtb_comp)) AS art_det\n" +
" ON mtb_aart.cod_mart = art_det.cod_mart\n" +
" INNER JOIN art ON art_det.cod_mart_griglia = art.cod_mart\n" +
" WHERE jrl_fasi_mtb_grup.cod_jfas = @codJfas\n" +
" AND flag_stato = 'A'\n" +
" AND (mtb_aart.cod_mtip IS NULL OR mtb_aart.cod_mtip NOT IN (SELECT cod_mtip FROM tipiArt))\n" +
" UNION ALL\n" +
" SELECT DISTINCT mtb_aart.cod_mart as cod_mart,\n" +
" mtb_aart.descrizione,\n" +
" mtb_aart.bar_code,\n" +
" mtb_aart.cod_msgr,\n" +
" mtb_aart.plu,\n" +
" mtb_aart.cod_mart AS cod_madre \n" +
" FROM carelli.dbo.mtb_aart\n" +
" INNER JOIN jrl_fasi_mtb_grup ON\n" +
" mtb_aart.cod_mgrp = jrl_fasi_mtb_grup.cod_mgrp\n" +
" INNER JOIN (SELECT DISTINCT cod_mdep, cod_mart \n" +
" FROM carelli.dbo.[getGrigliaAcquisto](null, null, @codMdep, null, null) griglia \n" +
" where griglia.tipo_variazione <> 'D' AND \n" +
" EXISTS( select cod_mart from carelli.dbo.mtb_aart WHERE mtb_aart.cod_mart = griglia.cod_mart AND mtb_aart.cod_mgrp = '03')) art ON \n" +
" mtb_aart.cod_mart = art.cod_mart\n" +
" WHERE jrl_fasi_mtb_grup.cod_jfas = @codJfas\n" +
" AND flag_stato = 'A'\n" +
" AND (mtb_aart.cod_mtip IS NULL OR mtb_aart.cod_mtip NOT IN (SELECT cod_mtip FROM tipiArt))\n" +
" \n" +
" )");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,282 @@
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_20240917110814 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
createOrUpdateFunction("getListinoVendita_id", "CREATE FUNCTION [dbo].[getListinoVendita_id](@datavalidita DATETIME, @codvlis VARCHAR(5), @codmart VARCHAR(15))\n" +
" RETURNS TABLE AS\n" +
" RETURN \n" +
"\n" +
" --declare @datavalidita DATETIME, @codvlis VARCHAR(5), @codmart VARCHAR(15)\n" +
"\n" +
" with lisv AS (\n" +
" SELECT vtb_list_data.cod_vlis,\n" +
" vtb_list_data.versione,\n" +
" vtb_list_data.id_listino as id_listino,\n" +
" vtb_list_data.data_iniz,\n" +
" vtb_list_data.cod_vlis AS cod_vlis_rif,\n" +
" vtb_list_data.versione AS versione_rif\n" +
" FROM vtb_list_data \n" +
" WHERE vtb_list_data.data_fine IS NULL\n" +
" AND vtb_list_data.cod_promo IS NULL \n" +
" and vtb_list_data.cod_vlis_rif IS NULL\n" +
" UNION\n" +
" SELECT vtb_list_data.cod_vlis,\n" +
" vtb_list_data.versione,\n" +
" vtb_list_data_rif.id_listino,\n" +
" vtb_list_data.data_iniz,\n" +
" vtb_list_data.cod_vlis_rif AS cod_vlis_rif,\n" +
" vtb_list_data.versione_rif AS versione_rif\n" +
" FROM vtb_list_data \n" +
" INNER JOIN vtb_list_data vtb_list_data_rif on vtb_list_data.cod_vlis_rif = vtb_list_data_rif.cod_vlis and vtb_list_data.versione_rif = vtb_list_data_rif.versione\n" +
" WHERE vtb_list_data.data_fine IS NULL\n" +
" AND vtb_list_data.cod_promo IS NULL \n" +
" \n" +
" \n" +
" )\n" +
"\n" +
" , last_lisv AS ( \n" +
" SELECT vtb_list.cod_vlis AS cod_vlis,\n" +
" mtb_lisv_data.cod_mart,\n" +
" MAX(vtb_list_data.id_listino) AS max_id_lisv,\n" +
" IsNull(vtb_list_data.cod_vlis_rif, IsNull(vtb_list.cod_vlis_rif, vtb_list.cod_vlis)) AS 'cod_vlis_rif'\n" +
" FROM vtb_list\n" +
" INNER JOIN mtb_lisv_data ON vtb_list.cod_vlis = mtb_lisv_data.cod_vlis\n" +
" LEFT OUTER JOIN lisv vtb_list_data ON mtb_lisv_data.cod_vlis = vtb_list_data.cod_vlis AND\n" +
" mtb_lisv_data.versione = vtb_list_data.versione AND\n" +
" vtb_list_data.data_iniz <= ISNULL(@datavalidita, GETDATE()) \n" +
" GROUP BY vtb_list.cod_vlis,\n" +
" mtb_lisv_data.cod_mart,\n" +
" IsNull(vtb_list_data.cod_vlis_rif, IsNull(vtb_list.cod_vlis_rif, vtb_list.cod_vlis)) ),\n" +
" art as (\n" +
" select mtb_aart.cod_mart, mtb_aart.qta_cnf, mtb_aart.perc_sfrido, mtb_aart.colli_pedana, mtb_aart.colli_strato, mtb_aart.flag_incl_listino\n" +
" from mtb_aart )\n" +
" SELECT vtb_list.cod_vlis,\n" +
" vtb_list.descrizione,\n" +
" vtb_list_data.data_iniz AS data_iniz,\n" +
" vtb_list_data.versione AS versione,\n" +
" vtb_list.cod_divi,\n" +
" vtb_list.cambio,\n" +
" vtb_list.flag_arr_prz_iva,\n" +
" vtb_list.arr_ric,\n" +
" vtb_list.flag_list_iva_inclusa,\n" +
" vtb_list.flag_lisv_margine,\n" +
" vtb_list.flag_add_trasp,\n" +
" tmp_list.cod_mart AS 'cod_mart',\n" +
" mtb_lisv_data.unt_mis_ven AS unt_mis_ven,\n" +
" ISNULL(mtb_lisv_data.rap_conv, 1) AS rap_conv,\n" +
" ISNULL(mtb_lisv_data.prz_base, 0) AS prz_base,\n" +
" ISNULL(mtb_lisv_data.ricarica, 0) AS ricarico,\n" +
" CASE\n" +
" WHEN mtb_lisv_data.prz_vend IS NOT NULL AND mtb_lisv_data.prz_vend <> 0 THEN\n" +
" ROUND((ISNULL(mtb_lisv_data.prz_vend, 0) -\n" +
" (ISNULL(mtb_lisv_data.prz_base, 0) / (1 - mtb_aart.perc_sfrido / 100))) /\n" +
" ISNULL(mtb_lisv_data.prz_vend, 0) * 100, 2)\n" +
" ELSE 0 END AS margine_eff,\n" +
" \n" +
" CASE\n" +
" WHEN mtb_lisv_data.prz_base IS NOT NULL AND mtb_lisv_data.prz_base <> 0 THEN\n" +
" ROUND((ISNULL(mtb_lisv_data.prz_vend, 0) -\n" +
" (ISNULL(mtb_lisv_data.prz_base, 0) / (1 - mtb_aart.perc_sfrido / 100))) /\n" +
" (ISNULL(mtb_lisv_data.prz_base, 0) / (1 - mtb_aart.perc_sfrido / 100)) * 100, 2)\n" +
" ELSE 0 END AS ricarico_eff,\n" +
" \n" +
" ISNULL(mtb_lisv_data.magg_prz_vend, 0) AS magg_prz_vend,\n" +
" ISNULL(mtb_lisv_data.prz_vend, 0) AS prz_vend,\n" +
" ISNULL(mtb_lisv_data.prz_vend_iva, 0) AS prz_vend_iva,\n" +
" ISNULL(mtb_lisv_data.perc_sco1, 0) AS perc_sco1,\n" +
" ISNULL(mtb_lisv_data.perc_sco2, 0) AS perc_sco2,\n" +
" ISNULL(mtb_lisv_data.perc_sco3, 0) AS perc_sco3,\n" +
" ISNULL(mtb_lisv_data.perc_sco4, 0) AS perc_sco4,\n" +
" ISNULL(mtb_lisv_data.perc_prov, 0) AS perc_prov,\n" +
" ISNULL(mtb_lisv_data.fisso_prov, 0) AS fisso_prov,\n" +
" ISNULL(mtb_lisv_data.posizione, '') AS posizione,\n" +
" ISNULL(mtb_lisv_data.perc_gest, 0) AS perc_gest,\n" +
" ISNULL(mtb_lisv_data.val_gest, 0) AS val_gest,\n" +
" mtb_lisv_data.data_agg_prz AS data_agg_prz,\n" +
" ISNULL(mtb_lisv_data.perc_ispe, 0) AS perc_ispe,\n" +
" ISNULL(mtb_lisv_data.val_ispe, 0) AS val_ispe,\n" +
" ISNULL(mtb_lisv_data.perc_promo, 0) AS perc_promo,\n" +
" ISNULL(mtb_lisv_data.val_promo, 0) AS val_promo,\n" +
" ISNULL(mtb_lisv_data.perc_oneri, 0) AS perc_oneri,\n" +
" ISNULL(mtb_lisv_data.val_oneri, 0) AS val_oneri,\n" +
" mtb_lisv_data.tipo_variazione AS tipo_variazione,\n" +
" mtb_lisv_data.note AS note,\n" +
" mtb_lisv_data.aggiornato_da AS aggiornato_da,\n" +
" mtb_lisv_data.prz_vend * (1 - mtb_lisv_data.perc_sco1 / 100) * (1 - mtb_lisv_data.perc_sco2 / 100) *\n" +
" (1 - mtb_lisv_data.perc_sco3 / 100) *\n" +
" (1 - mtb_lisv_data.perc_sco4 / 100) AS prz_vend_netto,\n" +
" CASE\n" +
" WHEN ISNULL(mtb_lisv_data.colli_pedana, 0) <> 0 THEN mtb_lisv_data.colli_pedana\n" +
" ELSE mtb_aart.colli_pedana END AS colli_pedana,\n" +
" mtb_lisv_data.cod_tcol_ul AS cod_tcol_ul,\n" +
" mtb_lisv_data.cod_tcol_ui AS cod_tcol_ui,\n" +
" ISNULL(mtb_lisv_data.prz_vend_sug, 0) AS prz_vend_sug,\n" +
" CASE\n" +
" WHEN ISNULL(mtb_lisv_data.qta_cnf, 0) <> 0\n" +
" AND dbo.getGestSetup('VTB_LIST', 'SETUP', 'QTA_CNF_LISTINO') = 'S' \n" +
" THEN mtb_lisv_data.qta_cnf\n" +
" ELSE mtb_aart.qta_cnf END AS qta_cnf,\n" +
" CASE\n" +
" WHEN ISNULL(mtb_lisv_data.colli_strato, 0) <> 0 THEN mtb_lisv_data.colli_strato\n" +
" ELSE mtb_aart.colli_strato END AS colli_strato,\n" +
" mtb_lisv_data.descrizione_html AS descrizione_html,\n" +
" mtb_lisv_data.colli_pedana AS colli_pedana_lisv,\n" +
" mtb_lisv_data.qta_cnf AS qta_cnf_lisv,\n" +
" mtb_lisv_data.colli_strato AS colli_strato_lisv,\n" +
" mtb_lisv_data.sconto_cartoni,\n" +
" mtb_lisv_data.sconto_strato,\n" +
" mtb_lisv_data.sconto_pedane,\n" +
" vtb_list.flag_attivo,\n" +
" vtb_list_data.note AS note_testata,\n" +
" ISNULL(mtb_lisv_data.flag_prz_bloccato, 'N') AS flag_prz_bloccato,\n" +
" vtb_list_data.porto AS porto,\n" +
" mtb_lisv_data.system_note,\n" +
" mtb_lisv.add_val_spese,\n" +
" mtb_lisv.add_ric_spese,\n" +
" mtb_lisv.add_sco_spese,\n" +
" mtb_aart.flag_incl_listino\n" +
" FROM last_lisv tmp_list\n" +
" INNER JOIN vtb_list ON vtb_list.cod_vlis = tmp_list.cod_vlis\n" +
" INNER JOIN mtb_lisv\n" +
" ON tmp_list.cod_vlis_rif = mtb_lisv.cod_vlis AND tmp_list.cod_mart = mtb_lisv.cod_mart\n" +
" INNER JOIN art mtb_aart ON tmp_list.cod_mart = mtb_aart.cod_mart\n" +
" LEFT OUTER JOIN vtb_list_data ON tmp_list.cod_vlis_rif = vtb_list_data.cod_vlis AND\n" +
" tmp_list.max_id_lisv = vtb_list_data.id_listino\n" +
" LEFT OUTER JOIN mtb_lisv_data ON vtb_list_data.cod_vlis = mtb_lisv_data.cod_vlis AND\n" +
" tmp_list.cod_mart = mtb_lisv_data.cod_mart AND\n" +
" vtb_list_data.versione = mtb_lisv_data.versione\n" +
"\n" +
" WHERE (@codmart IS NULL OR tmp_list.cod_mart = @codmart)\n" +
" AND (@codvlis IS NULL OR tmp_list.cod_vlis = @codvlis)");
createOrUpdateFunction("getPromozioneVendita_new", "CREATE FUNCTION [dbo].[getPromozioneVendita_new] (@dataIniz datetime, @dataFine datetime, @codVlis varchar(5), @codPromo varchar(10), @codMart varchar(15)) RETURNS TABLE AS \n" +
" return \n" +
"\n" +
"-- declare @dataIniz datetime, @dataFine datetime, @codVlis varchar(5), @codPromo varchar(10), @codMart varchar(15)\n" +
"\n" +
" with lisv AS (\n" +
" SELECT vtb_list_data.cod_vlis,\n" +
" vtb_list_data.versione,\n" +
" vtb_list_data.id_listino as id_listino,\n" +
" vtb_list_data.data_iniz,\n" +
" vtb_list_data.cod_vlis AS cod_vlis_rif,\n" +
" vtb_list_data.versione AS versione_rif,\n" +
" vtb_list_data.cod_promo,\n" +
" vtb_list_data.data_fine,\n" +
" vtb_list_data.note\n" +
" FROM vtb_list_data \n" +
" WHERE vtb_list_data.cod_promo IS NOT NULL \n" +
" and vtb_list_data.cod_vlis_rif IS NULL\n" +
" UNION\n" +
" SELECT vtb_list_data.cod_vlis,\n" +
" vtb_list_data.versione,\n" +
" vtb_list_data_rif.id_listino,\n" +
" vtb_list_data.data_iniz,\n" +
" vtb_list_data.cod_vlis_rif AS cod_vlis_rif,\n" +
" vtb_list_data.versione_rif AS versione_rif,\n" +
" vtb_list_data_rif.cod_promo,\n" +
" vtb_list_data_rif.data_fine,\n" +
" vtb_list_data.note\n" +
" FROM vtb_list_data \n" +
" INNER JOIN vtb_list_data vtb_list_data_rif on vtb_list_data.cod_vlis_rif = vtb_list_data_rif.cod_vlis and vtb_list_data.versione_rif = vtb_list_data_rif.versione\n" +
" WHERE vtb_list_data.cod_promo IS NOT NULL )\n" +
" , testata_lisv as (\n" +
" select *\n" +
" from lisv\n" +
" WHERE (@codvlis IS NULL OR lisv.cod_vlis = @codVlis) \n" +
" AND (@codPromo IS NULL OR lisv.cod_promo = @codPromo)\n" +
" AND (((@dataFine IS NULL OR ISNULL(@dataIniz, cast(GetDate() as DATE)) = @dataFine) AND \n" +
" ISNULL(@dataIniz, cast(GetDate() as DATE)) BETWEEN lisv.data_iniz AND lisv.data_fine) OR \n" +
" (@dataFine IS NOT NULL AND ISNULL(@dataIniz, cast(GetDate() as DATE)) <> @dataFine AND \n" +
" (lisv.data_iniz BETWEEN ISNULL(@dataIniz, cast(GetDate() as DATE)) AND @dataFine OR \n" +
" lisv.data_fine BETWEEN ISNULL(@dataIniz, cast(GetDate() as DATE)) AND @dataFine OR \n" +
" ISNULL(@dataIniz, cast(GetDate() as DATE)) BETWEEN lisv.data_iniz AND lisv.data_fine OR\n" +
" @dataFine BETWEEN lisv.data_iniz AND lisv.data_fine ))) )\n" +
" SELECT vtb_list.cod_vlis, \n" +
" vtb_list.descrizione, \n" +
" vtb_list_data.data_iniz, \n" +
" vtb_list_data.data_fine,\n" +
" vtb_list_data.cod_promo,\n" +
" vtb_list_data.versione, \n" +
" vtb_list.cod_divi,\n" +
" vtb_list.flag_arr_prz_iva, \n" +
" vtb_list.arr_ric,\n" +
" vtb_list.flag_list_iva_inclusa,\n" +
" vtb_list.flag_lisv_margine, \n" +
" mtb_lisv_data.cod_mart as cod_mart, \n" +
" mtb_lisv_data.unt_mis_ven as unt_mis_ven,\n" +
" mtb_lisv_data.rap_conv as rap_conv, \n" +
" mtb_lisv_data.prz_base as prz_base, \n" +
" mtb_lisv_data.ricarica as ricarico,\n" +
" \n" +
" CASE\n" +
" WHEN mtb_lisv_data.prz_vend IS NOT NULL AND mtb_lisv_data.prz_vend <> 0 THEN\n" +
" ROUND((ISNULL(mtb_lisv_data.prz_vend, 0) -\n" +
" (ISNULL(mtb_lisv_data.prz_base, 0) / (1 - mtb_aart.perc_sfrido / 100))) /\n" +
" ISNULL(mtb_lisv_data.prz_vend, 0) * 100, 2)\n" +
" ELSE 0 END AS margine_eff,\n" +
" CASE\n" +
" WHEN mtb_lisv_data.prz_base IS NOT NULL AND mtb_lisv_data.prz_base <> 0 THEN\n" +
" ROUND((ISNULL(mtb_lisv_data.prz_vend, 0) -\n" +
" (ISNULL(mtb_lisv_data.prz_base, 0) / (1 - mtb_aart.perc_sfrido / 100))) /\n" +
" (ISNULL(mtb_lisv_data.prz_base, 0) / (1 - mtb_aart.perc_sfrido / 100)) * 100, 2)\n" +
" ELSE 0 END AS ricarico_eff,\n" +
" mtb_lisv_data.prz_vend as prz_vend, \n" +
" mtb_lisv_data.prz_vend_iva as prz_vend_iva, \n" +
" mtb_lisv_data.perc_sco1 as perc_sco1, \n" +
" mtb_lisv_data.perc_sco2 as perc_sco2, \n" +
" mtb_lisv_data.perc_sco3 as perc_sco3, \n" +
" mtb_lisv_data.perc_sco4 as perc_sco4, \n" +
" mtb_lisv_data.perc_prov as perc_prov, \n" +
" mtb_lisv_data.fisso_prov as fisso_prov, \n" +
" mtb_lisv_data.posizione as posizione, \n" +
" mtb_lisv_data.perc_gest as perc_gest, \n" +
" mtb_lisv_data.val_gest as val_gest, \n" +
" mtb_lisv_data.data_agg_prz as data_agg_prz, \n" +
" mtb_lisv_data.perc_ispe as perc_ispe, \n" +
" mtb_lisv_data.val_ispe as val_ispe, \n" +
" mtb_lisv_data.perc_promo as perc_promo, \n" +
" mtb_lisv_data.val_promo as val_promo, \n" +
" mtb_lisv_data.perc_oneri as perc_oneri, \n" +
" mtb_lisv_data.val_oneri as val_oneri, \n" +
" mtb_lisv_data.tipo_variazione as tipo_variazione, \n" +
" mtb_lisv_data.note as note,\n" +
" mtb_lisv_data.aggiornato_da as aggiornato_da,\n" +
" mtb_lisv_data.prz_vend * (1 - mtb_lisv_data.perc_sco1/100) * (1 - mtb_lisv_data.perc_sco2/100)* (1 - mtb_lisv_data.perc_sco3/100)* (1 - mtb_lisv_data.perc_sco4/100) as prz_vend_netto,\n" +
" vtb_promo.descrizione as 'descr_promo',\n" +
" vtb_promo.data_iniz_sell_out,\n" +
" vtb_promo.data_fine_sell_out,\n" +
" vtb_promo.flag_tipo_promo,\n" +
" mtb_lisv_data.sconto_cartoni,\n" +
" mtb_lisv_data.sconto_strato,\n" +
" mtb_lisv_data.sconto_pedane,\n" +
" mtb_lisv_data.giacenza,\n" +
" mtb_lisv_data.magg_prz_vend,\n" +
" vtb_promo.flag_sconto_contrattuale,\n" +
" vtb_promo.intercode_xml_variazioni,\n" +
" vtb_list_data.note as note_testata,\n" +
" vtb_promo.flag_tipologia\n" +
" FROM vtb_list inner join testata_lisv vtb_list_data on vtb_list.cod_vlis = vtb_list_data.cod_vlis_rif\n" +
" inner join mtb_lisv_data on vtb_list_data.cod_vlis_rif = mtb_lisv_data.cod_vlis AND vtb_list_data.versione_rif = mtb_lisv_data.versione\n" +
" inner join mtb_aart on mtb_lisv_data.cod_mart = mtb_aart.cod_mart\n" +
" inner join vtb_promo on vtb_list_data.cod_promo = vtb_promo.cod_promo \n" +
" WHERE (@codMart IS NULL OR mtb_lisv_data.cod_mart = @codMart)");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,24 @@
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_20240917172212 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomer(IntegryCustomer.Carelli)) return;
updateSetupValue("IMPORT_RAPPORTINI FG", "MMPOS", "ATTIVO", "N");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,28 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20240918101510 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("CREATE TABLE gtb_banc_azi_intercode (\n" +
"\tid BIGINT IDENTITY NOT NULL, \n" +
"\tcod_banc_azi VARCHAR(5) NOT NULL, \n" +
"\tformato VARCHAR(40) NOT NULL, \n" +
"\tintercode VARCHAR(40) NOT NULL,\n" +
"\tUNIQUE (cod_banc_azi, formato),\n" +
"CONSTRAINT PK_gtb_banc_azi_intercode PRIMARY KEY (id),\n" +
"CONSTRAINT FK_gtb_banc_azi_intercode FOREIGN KEY (cod_banc_azi) REFERENCES gtb_banc_azi(cod_banc_azi));");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,28 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20240918124524 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("CREATE TABLE gtb_tipi_paga_intercode (\n" +
"\tid BIGINT IDENTITY NOT NULL, \n" +
"\ttipo_paga VARCHAR(10) NOT NULL, \n" +
"\tformato VARCHAR(40) NOT NULL, \n" +
"\tintercode VARCHAR(40) NOT NULL,\n" +
"\tUNIQUE (tipo_paga, formato),\n" +
"CONSTRAINT PK_gtb_tipi_paga_intercode PRIMARY KEY (id),\n" +
"CONSTRAINT FK_gtb_tipi_paga_intercode FOREIGN KEY (tipo_paga) REFERENCES gtb_tipi_paga(tipo_paga));");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,32 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
import it.integry.ems_model.utility.dto.IndexTableDTO;
import java.util.Arrays;
public class Migration_20240918142402 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
IndexTableDTO indexTableDTO = new IndexTableDTO()
.setIndexName("ix_stb_files_attached_2")
.setTableName("stb_files_attached")
.setColumnsIndex(Arrays.asList(
new IndexTableDTO.ColumnIndex("parent_id_attach")))
.setColumnsInclude("id_attach", "file_name")
.setOverride(true);
createIndex(indexTableDTO);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -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_20240919114540 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
updateSetupValue("DATI_AZIENDA", "FATTURA_ELETTRONICA", "INSERT_DDT", "S");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,25 @@
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_20240919130154 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
dropFunction("getListinoVenditaOld");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,319 @@
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.WtbJrept;
import it.integry.ems_model.types.OperationType;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class Migration_20240920113346 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
createOrUpdateView("vvw_contratti_vendita", "CREATE VIEW [dbo].[vvw_contratti_vendita] AS\n" +
"WITH depo AS (SELECT TOP 1 cod_mdep\n" +
" FROM mtb_depo\n" +
" WHERE mtb_depo.flag_movimentabile = 'S'\n" +
" AND (cod_anag IS NULL OR cod_anag IN (SELECT gtb_anag.cod_anag\n" +
" FROM gtb_anag,\n" +
" azienda\n" +
" WHERE gtb_anag.part_iva = azienda.part_iva))),\n" +
" contratto AS (SELECT vtb_offt.cod_anag,\n" +
" vtb_offt.cod_vdes,\n" +
" vtb_offt.note,\n" +
" vtb_offr.id_offerta,\n" +
" vtb_offr.cod_mart,\n" +
" vtb_offr.unt_mis,\n" +
" vtb_offr.descrizione,\n" +
" vtb_offr.descrizione_html,\n" +
" vtb_offr.json_costi,\n" +
" vtb_offr.costo_unt,\n" +
" vtb_offr.unt_mis_vend,\n" +
" vtb_offr.prz_unt,\n" +
" vtb_offr.qta_off,\n" +
" vtb_offr.data_iniz_contr,\n" +
" vtb_offr.data_fine_contr,\n" +
" vtb_offt.cod_paga,\n" +
" vtb_offr.perc_sco1,\n" +
" vtb_offr.perc_sco2,\n" +
" vtb_offr.perc_sco3,\n" +
" vtb_offr.perc_sco4,\n" +
" vtb_offr.rap_conv_vend,\n" +
" vtb_offr.qta_ord,\n" +
" vtb_offr.qta_doc\n" +
" FROM vtb_offt\n" +
" INNER JOIN vtb_offr ON vtb_offt.id_offerta = vtb_offr.id_offerta\n" +
" CROSS APPLY [dbo].[getUntMisArticolo](vtb_offr.cod_mart, vtb_offr.unt_mis_vend) um\n" +
" WHERE stato_offerta = 3)\n" +
"\n" +
"SELECT contratto.data_iniz_contr AS data_iniz,\n" +
" contratto.data_fine_contr AS data_fine,\n" +
" contratto.id_offerta AS id_contratto,\n" +
" contratto.note,\n" +
" contratto.cod_mart,\n" +
" contratto.descrizione AS descrizione_articolo,\n" +
" contratto.unt_mis_vend AS unt_mis_ven,\n" +
" contratto.qta_off AS qta_vend_contratto,\n" +
" contratto.prz_unt AS prz_vend,\n" +
" contratto.perc_sco1,\n" +
" contratto.perc_sco2,\n" +
" contratto.perc_sco3,\n" +
" contratto.perc_sco4,\n" +
" ISNULL(contratto.qta_ord, 0) AS qta_ord,\n" +
" ISNULL(contratto.qta_doc, 0) AS qta_doc,\n" +
" gtb_anag.cod_anag,\n" +
" gtb_anag.rag_soc,\n" +
" gtb_anag.indirizzo,\n" +
" gtb_anag.cap,\n" +
" gtb_anag.citta,\n" +
" gtb_anag.prov,\n" +
" gtb_anag.nazione,\n" +
" gtb_anag.e_mail,\n" +
" gtb_anag.telefono,\n" +
" gtb_anag.part_iva,\n" +
" ISNULL(giacenza.qta_disp * rap_conv_vend, 0) AS qta_disp,\n" +
" (SELECT cod_mdep FROM depo) AS cod_mdep,\n" +
" contratto.prz_unt * (1 - contratto.perc_sco1 / 100) * (1 - contratto.perc_sco2 / 100) -\n" +
" (1 * contratto.perc_sco3 / 100) *\n" +
" (1 - contratto.perc_sco4 / 100) AS prz_vend_netto,\n" +
" contratto.cod_paga,\n" +
" gtb_paga.descrizione AS descrizione_paga,\n" +
" contratto.qta_off -\n" +
" ISNULL(contratto.qta_ord, 0) -\n" +
" ISNULL(contratto.qta_doc, 0) AS qta_residua,\n" +
" ISNULL(contratto.qta_ord + contratto.qta_doc, 0) AS qta_usata,\n" +
" contratto.rap_conv_vend AS rap_conv,\n" +
" contratto.cod_vdes,\n" +
" vd.destinatario,\n" +
" vd.indirizzo AS indirizzo_dest,\n" +
" vc.cod_vlis\n" +
"FROM contratto\n" +
" INNER JOIN gtb_anag ON contratto.cod_anag = gtb_anag.cod_anag\n" +
" INNER JOIN vtb_clie vc ON contratto.cod_anag = vc.cod_anag\n" +
" LEFT OUTER JOIN vtb_dest vd ON contratto.cod_anag = vd.cod_anag AND contratto.cod_vdes = vd.cod_vdes\n" +
" LEFT OUTER JOIN gtb_paga ON contratto.cod_paga = gtb_paga.cod_paga\n" +
" OUTER APPLY (SELECT SUM(mtb_part.qta_esistente + mtb_part.qta_imp_lav - mtb_part.qta_imp_cli) AS qta_disp\n" +
" FROM mtb_part\n" +
" INNER JOIN mtb_depo ON mtb_part.cod_mdep = mtb_depo.cod_mdep\n" +
" WHERE mtb_depo.flag_movimentabile = 'S'\n" +
" AND mtb_part.cod_mart = contratto.cod_mart) giacenza");
createOrUpdateFunction("pvm_getassortimentoCliente", "CREATE FUNCTION [dbo].[pvm_getassortimentoCliente](\n" +
" @codAnag VARCHAR(5), @codVlis VARCHAR(5), @codVdes VARCHAR(5), @dataValidita DATETIME, @viewPromo BIT\n" +
")\n" +
" RETURNS TABLE\n" +
" AS\n" +
" RETURN( /*\n" +
"\n" +
" declare @codAnag VARCHAR(5), @codVlis VARCHAR(5), @dataValidita DATETIME, @viewPromo BIT\n" +
" set @codAnag = 'C3355'\n" +
" set @codVlis = 'C3355'\n" +
" set @dataValidita = '2023/04/04'\n" +
" set @viewPromo = 1;\n" +
" */\n" +
" WITH assortimento AS (SELECT vtb_griglia_art.cod_mart\n" +
" FROM vtb_clie\n" +
" INNER JOIN vtb_griglia ON vtb_clie.cod_griglia = vtb_griglia.cod_griglia\n" +
" INNER JOIN vtb_griglia_art\n" +
" ON vtb_griglia.cod_griglia = vtb_griglia_art.cod_griglia AND\n" +
" vtb_griglia.data_validita = vtb_griglia_art.data_validita\n" +
" WHERE vtb_clie.cod_anag = @codAnag\n" +
" AND vtb_griglia.data_validita = (SELECT MAX(g.data_validita)\n" +
" FROM vtb_griglia g\n" +
" WHERE g.cod_griglia = vtb_clie.cod_griglia\n" +
" AND g.data_validita <= ISNULL(@dataValidita, CAST(GETDATE() AS DATE)))),\n" +
" lisv AS (SELECT cod_vlis, cod_vlis AS cod_vlis_rif\n" +
" FROM vtb_list\n" +
" WHERE cod_vlis_rif IS NULL\n" +
" UNION ALL\n" +
" SELECT cod_vlis, cod_vlis_rif\n" +
" FROM vtb_list\n" +
" WHERE cod_vlis_rif IS NOT NULL),\n" +
" listino AS (SELECT DISTINCT cod_mart, tipo_variazione\n" +
" FROM (SELECT lisv.cod_vlis,\n" +
" mtb_lisv.cod_mart,\n" +
" LAST_VALUE(CASE\n" +
" WHEN vtb_list_data.data_iniz IS NULL THEN NULL\n" +
" ELSE mtb_lisv_data.tipo_variazione END)\n" +
" OVER (PARTITION BY lisv.cod_vlis, mtb_lisv.cod_mart\n" +
" ORDER BY vtb_list_data.data_iniz, CASE WHEN vtb_list_data.cod_promo IS NULL THEN 0 ELSE 1 END, vtb_list_data.versione\n" +
" RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS tipo_variazione\n" +
" FROM lisv\n" +
" INNER JOIN mtb_lisv ON lisv.cod_vlis_rif = mtb_lisv.cod_vlis\n" +
" INNER JOIN mtb_lisv_data ON mtb_lisv.cod_vlis = mtb_lisv_data.cod_vlis AND\n" +
" mtb_lisv.cod_mart = mtb_lisv_data.cod_mart\n" +
" LEFT OUTER JOIN vtb_list_data\n" +
" ON mtb_lisv_data.cod_vlis = vtb_list_data.cod_vlis AND\n" +
" mtb_lisv_data.versione = vtb_list_data.versione AND\n" +
" vtb_list_data.data_iniz <=\n" +
" ISNULL(@dataValidita, CAST(GETDATE() AS DATE))\n" +
" WHERE lisv.cod_vlis = @codVlis\n" +
" AND NOT EXISTS(SELECT cod_mart FROM assortimento)) t\n" +
" WHERE (t.tipo_variazione IS NULL OR t.tipo_variazione <> 'D')),\n" +
" tmp_lisv AS (SELECT l.cod_mart,\n" +
" l.cod_vlis,\n" +
" ISNULL(p.data_iniz, l.data_iniz) AS data_iniz,\n" +
" ISNULL(p.prz_vend, l.prz_vend) AS prz_vend,\n" +
" ISNULL(p.prz_vend_netto, l.prz_vend_netto) AS prz_vend_netto,\n" +
" ISNULL(p.perc_sco1, l.perc_sco1) AS perc_sco1,\n" +
" ISNULL(p.perc_sco2, l.perc_sco2) AS perc_sco2,\n" +
" ISNULL(p.perc_sco3, l.perc_sco3) AS perc_sco3,\n" +
" ISNULL(p.perc_sco4, l.perc_sco4) AS perc_sco4,\n" +
" CONVERT(NUMERIC(20, 5), 0) AS qta_residua,\n" +
" CONVERT(BIGINT, NULL) AS id_contratto,\n" +
" ISNULL(p.rap_conv, l.rap_conv) AS rap_conv,\n" +
" ISNULL(p.note, l.note) AS note,\n" +
" CAST(NULL AS VARCHAR(5)) AS cod_vdes,\n" +
" l.cod_tcol_ul AS cod_tcol_ul,\n" +
" ISNULL(p.unt_mis_ven, l.unt_mis_ven) AS unt_mis_ven,\n" +
" l.colli_pedana AS colli_pedana,\n" +
" ISNULL(p.tipo_variazione, l.tipo_variazione) AS tipo_variazione,\n" +
" CONVERT(VARCHAR(1), CASE\n" +
" WHEN p.cod_promo IS NULL THEN NULL\n" +
" ELSE 'P' END) AS tipo_promo,\n" +
" CONVERT(VARCHAR(5), NULL) AS cod_paga,\n" +
" CONVERT(VARCHAR(5), NULL) AS descr_paga,\n" +
" l.porto,\n" +
" l.qta_cnf\n" +
" FROM dbo.getListinoVendita(@dataValidita, @codVlis, NULL) l\n" +
" LEFT OUTER JOIN dbo.getPromozioneVendita(@dataValidita, @dataValidita,\n" +
" @codVlis, NULL, NULL) p\n" +
" ON l.cod_vlis = p.cod_vlis AND l.cod_mart = p.cod_mart AND\n" +
" ISNULL(@viewPromo, 0) = 1\n" +
" WHERE l.cod_vlis = @codVlis\n" +
" AND l.cod_mart IN (SELECT cod_mart\n" +
" FROM assortimento\n" +
" UNION ALL\n" +
" SELECT cod_mart\n" +
" FROM listino)\n" +
" AND l.tipo_variazione <> 'D'\n" +
" AND l.tipo_variazione IS NOT NULL\n" +
" AND l.flag_attivo = 'S'\n" +
" UNION ALL\n" +
" SELECT l.cod_mart,\n" +
" l.cod_vlis,\n" +
" NULL AS data_iniz,\n" +
" NULL AS prz_vend,\n" +
" NULL AS prz_vend_netto,\n" +
" NULL AS perc_sco1,\n" +
" NULL AS perc_sco2,\n" +
" NULL AS perc_sco3,\n" +
" NULL AS perc_sco4,\n" +
" NULL AS qta_residua,\n" +
" NULL AS id_contratto,\n" +
" um.rap_conv AS rap_conv,\n" +
" NULL AS note,\n" +
" CAST(NULL AS VARCHAR(5)) AS cod_vdes,\n" +
" NULL AS cod_tcol_ul,\n" +
" l.unt_mis_ven AS unt_mis_ven,\n" +
" NULL AS colli_pedana,\n" +
" NULL AS tipo_variazione,\n" +
" NULL AS tipo_promo,\n" +
" CONVERT(VARCHAR(5), NULL) AS cod_paga,\n" +
" CONVERT(VARCHAR(5), NULL) AS descr_paga,\n" +
" NULL porto,\n" +
" mtb_aart.qta_cnf\n" +
" FROM mtb_lisv l\n" +
" INNER JOIN listino ON l.cod_mart = listino.cod_mart\n" +
" INNER JOIN mtb_aart ON l.cod_mart = mtb_aart.cod_mart\n" +
" CROSS APPLY dbo.getUntMisArticolo(l.cod_mart, l.unt_mis_ven) um\n" +
" WHERE l.cod_vlis = @codVlis\n" +
" AND listino.tipo_variazione IS NULL\n" +
" UNION ALL\n" +
" SELECT vvw_contratti_vendita.cod_mart,\n" +
" NULL AS cod_vlis,\n" +
" vvw_contratti_vendita.data_iniz,\n" +
" vvw_contratti_vendita.prz_vend,\n" +
" ROUND(vvw_contratti_vendita.prz_vend *\n" +
" (1 - ISNULL(vvw_contratti_vendita.perc_sco1, 0))\n" +
" * (1 - ISNULL(vvw_contratti_vendita.perc_sco2, 0))\n" +
" * (1 - ISNULL(vvw_contratti_vendita.perc_sco3, 0))\n" +
" * (1 - ISNULL(vvw_contratti_vendita.perc_sco4, 0)),\n" +
" 5) AS prz_vend_netto,\n" +
" vvw_contratti_vendita.perc_sco1,\n" +
" vvw_contratti_vendita.perc_sco2,\n" +
" vvw_contratti_vendita.perc_sco3,\n" +
" vvw_contratti_vendita.perc_sco4,\n" +
" vvw_contratti_vendita.qta_residua,\n" +
" vvw_contratti_vendita.id_contratto,\n" +
" vvw_contratti_vendita.rap_conv,\n" +
" vvw_contratti_vendita.note,\n" +
" vvw_contratti_vendita.cod_vdes,\n" +
" NULL,\n" +
" vvw_contratti_vendita.unt_mis_ven,\n" +
" NULL,\n" +
" NULL,\n" +
" 'C' AS tipo_promo,\n" +
" vvw_contratti_vendita.cod_paga,\n" +
" vvw_contratti_vendita.descrizione_paga AS descr_paga,\n" +
" NULL AS porto,\n" +
" mtb_aart.qta_cnf\n" +
" FROM vvw_contratti_vendita\n" +
" INNER JOIN mtb_aart ON vvw_contratti_vendita.cod_mart = mtb_aart.cod_mart\n" +
" WHERE vvw_contratti_vendita.cod_anag = @codAnag\n" +
" AND (@codVdes IS NULL OR vvw_contratti_vendita.cod_vdes IS NULL OR\n" +
" vvw_contratti_vendita.cod_vdes = @codVdes)\n" +
" AND (ISNULL(@dataValidita, CAST(GETDATE() AS DATE)) BETWEEN\n" +
" vvw_contratti_vendita.data_iniz AND vvw_contratti_vendita.data_fine)\n" +
" AND vvw_contratti_vendita.qta_residua > 0)\n" +
"\n" +
" SELECT tmp_lisv.cod_mart,\n" +
" ISNULL(maa.cod_mart_anag, tmp_lisv.cod_mart) AS cod_mart_anag,\n" +
" cod_vlis,\n" +
" data_iniz,\n" +
" prz_vend,\n" +
" prz_vend_netto,\n" +
" perc_sco1,\n" +
" perc_sco2,\n" +
" perc_sco3,\n" +
" perc_sco4,\n" +
" qta_residua,\n" +
" id_contratto,\n" +
" rap_conv,\n" +
" ISNULL(maa.note, tmp_lisv.note) AS note,\n" +
" cod_tcol_ul,\n" +
" unt_mis_ven,\n" +
" CASE\n" +
" WHEN maa.colli_pedana IS NULL OR maa.colli_pedana = 0 THEN tmp_lisv.colli_pedana\n" +
" ELSE maa.colli_pedana END AS colli_pedana,\n" +
" tipo_variazione,\n" +
" tipo_promo,\n" +
" cod_paga,\n" +
" descr_paga,\n" +
" porto,\n" +
" qta_cnf,\n" +
" CAST(CASE WHEN tmp_lisv.data_iniz IS NULL THEN 0 ELSE 1 END AS BIT) AS art_lisv,\n" +
" cod_vdes\n" +
" FROM tmp_lisv\n" +
" LEFT OUTER JOIN mtb_aart_anag maa\n" +
" ON tmp_lisv.cod_mart = maa.cod_mart AND maa.cod_anag = @codAnag)");
// Prova modifica report in migration
// if (isCustomerDb(IntegryCustomerDB.Biolevante_Biolevante)) {
// String jrxml = "";
// jrxml = Base64.getEncoder().encodeToString(jrxml.getBytes());
//
// WtbJrept wtbJrept = new WtbJrept()
// .setId(15L)
// .setB64Jrxml(jrxml);
//
// wtbJrept.setOperation(OperationType.UPDATE);
// wtbJrept.manageWithParentConnection(advancedDataSource.getConnection(), droolsDataCompleting);
// }
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,48 @@
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_20240920165453 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isCustomerDb(IntegryCustomerDB.Salpar_MasabaSrl))
return;
createSetup("IMPORT_ORDINI", "PUDDY", "ATTIVO", "S",
"Inserire S/N per attivare/disattivare il tipo di importazione", false, null, false, false,
false, false, false, null, false, null);
createSetup("IMPORT_ORDINI", "PUDDY", "EMAIL_FOR_LOG", "test@integry.it",
"Inserire il file l'indirizzo email per inviare il log dell'importazione", false, null, false, false,
false, false, false, null, false, null);
createSetup("IMPORT_ORDINI", "PUDDY", "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_ORDINI", "PUDDY", "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_ORDINI", "PUDDY", "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_ORDINI", "PUDDY", "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_ORDINI", "PUDDY", "PATH_FILE", null,
"Directory contente i file da importare.", false, null, false, false,
false, false, false, null, false, null);
createSetup("IMPORT_ORDINI", "PUDDY", "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 {
}
}

View File

@@ -0,0 +1,27 @@
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_20240920170705 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isCustomerDb(IntegryCustomerDB.Salpar_MasabaSrl))
return;
createSetup("IMPORT_ORDINI", "PUDDY", "PROFILE_DB_VG", "VGALIMENTI",
"Profile per la connessione al DB VGAlimenti", false, null, false, false,
false, false, false, null, false, null);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -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_20240923111741 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("IMPORT_COLLI", "DESADV", "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", "DESADV", "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", "DESADV", "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", "DESADV", "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", "DESADV", "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", "DESADV", "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", "DESADV", "PATH_FILE", null,
"Directory contente i file da importare.", false, null, false, false,
false, false, false, null, false, null);
createSetup("IMPORT_COLLI", "DESADV", "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 {
}
}

View File

@@ -0,0 +1,36 @@
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_20240923125840 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB() || !isTextiles())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
executeStatement(
"UPDATE Wdtb_ordt\n" +
"SET Wdtb_ordt.user_name =\n" +
" (SELECT user_name\n" +
" FROM stb_user\n" +
" WHERE Wdtb_ordt.compilato_da = stb_user.full_name\n" +
" AND stb_user.flag_attivo = 'S'\n" +
" AND stb_user.key_group = 5)\n" +
"FROM wdtb_ordt\n" +
"WHERE data_ord >= '2024.1.1'\n" +
" AND Wdtb_ordt.user_name IS NULL"
);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,41 @@
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_20240924095921 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
String reportNameSchedaScar = null;
String reportNameCertificati = null;
String reportNameDettaglioValore = null;
String reportNameSchedaVersamento = null;
String reportNameSchedaTraspPomodori = null;
if (isCustomer(IntegryCustomer.RossoGargano)) {
reportNameSchedaScar = "SchedaGestioneScaricoProdotto";
reportNameSchedaVersamento = "SchedaVersamentoProdotto";
reportNameSchedaTraspPomodori = "SchedaTrasportiPomodoro";
reportNameCertificati = "CertificatoConsegnaIndustrie";
reportNameDettaglioValore = "DettaglioMovimentiAValore";
}
createSetup("PVM", "PIAN_ACC_ROSSG", "REPORT_NAME_CERTIFICATI", reportNameCertificati, "Nome report stampa certificato", "REPORT_NAME");
createSetup("PVM", "PIAN_ACC_ROSSG", "REPORT_NAME_DET_VALORE", reportNameDettaglioValore, "Nome report scheda dettaglio a valore", "REPORT_NAME");
createSetup("PVM", "PIAN_ACC_ROSSG", "REPORT_NAME_SCHEDA_SCAR", reportNameSchedaScar, "Nome report scheda gestione scarico prodotti", "REPORT_NAME");
createSetup("PVM", "PIAN_ACC_ROSSG", "REPORT_NAME_SCHEDA_VERSAMENTO", reportNameSchedaVersamento, "Nome report Scheda versamento prodotto", "REPORT_NAME");
createSetup("PVM", "PIAN_ACC_ROSSG", "REPORT_NAME_SCHEDA_TRASP_POMODORO", reportNameSchedaTraspPomodori, "Nome report Scheda trasporto pomodori", "REPORT_NAME");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,25 @@
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_20240924152410 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Siciliani_DMS))
return;
executeStatement("alter table jtb_flav add altre_mansioni varchar(8000)");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,27 @@
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_20240924155208 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isCustomerDb(IntegryCustomerDB.Gramm_Gramm))
return;
createSetup("W_VDISKCONAD_DLG", "FILCONAD", "FLAG_VIS_RIF_BOLLA_LISTINO_3115", "S",
"Se impostato a S nel generare il file FILCONAD per i documenti con listino 3115 nel file al posto dei riferimenti della fattura verranno specificati i riferimento della bolla", false, null, false, false,
false, false, false, null, false, null);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,35 @@
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_20240925103433 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("W_CSCADFOR_DISP", "DATAWINDOW", "D_CSCADFOR_REP", null,
null, false, null, false, false,
false, false, false, null, false, null);
createSetup("W_CSCADFOR_DISP", "DATAWINDOW", "D_CSCADFOR_NOBANCA_REP", null,
null, false, null, false, false,
false, false, false, null, false, null);
if(isCustomer(IntegryCustomer.Carelli)) {
updateSetupValue("w_cscadfor_disp", "DATAWINDOW", "d_cscadfor_rep", "d_cscadfor_carelli_rep");
updateSetupValue("w_cscadfor_disp", "DATAWINDOW", "d_cscadfor_nobanca_rep", "d_cscadfor_nobanca_carelli_rep");
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,31 @@
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.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20240925105952 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
String value = null;
if (isCustomer(IntegryCustomer.SaporiVeri)){
value = "0.2";
}
createSetup("ORDIFY", "SETUP", "PERC_PROVVIGIONE", value,
"Percentuale di provvigione da applicare per ogni punto percentuale non applicato", false, null, false, false,
false, false, false, null, false, null);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -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_20240925163122 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("IMPORT_SCADENZE", "DOCFINANCE", "ATTIVO", "N",
"Inserire S/N per attivare/disattivare il tipo di importazione", false, null, false, false,
false, false, false, null, false, null);
createSetup("IMPORT_SCADENZE", "DOCFINANCE", "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_SCADENZE", "DOCFINANCE", "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_SCADENZE", "DOCFINANCE", "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_SCADENZE", "DOCFINANCE", "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_SCADENZE", "DOCFINANCE", "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_SCADENZE", "DOCFINANCE", "PATH_FILE", null,
"Directory contente i file da importare.", false, null, false, false,
false, false, false, null, false, null);
createSetup("IMPORT_SCADENZE", "DOCFINANCE", "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 {
}
}

View File

@@ -0,0 +1,23 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20240926090309 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("CRUSCOTTO_PRODUZIONE", "SETUP", "RIAPRI_ORDINI", "N",
"Se impostato a S nella riapertura della giornata sul cruscotto va ad impostare a N flag_evaso_forzato e flag_evaso", false, null, false, false,
false, false, false, null, false, null);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -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_20240926090420 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isCustomerDb(IntegryCustomerDB.Agricoper_Agricoper))
return;
updateSetupValue("CRUSCOTTO_PRODUZIONE", "SETUP", "RIAPRI_ORDINI", "S",
"Se impostato a S nella riapertura della giornata sul cruscotto va ad impostare a N flag_evaso_forzato e flag_evaso", false, null, false, false, false,
false, false, null, false, null);
executeStatement("DELETE\n" +
"FROM stb_gest_setup_depo\n" +
"WHERE gest_name = 'CRUSCOTTO_PRODUZIONE'\n" +
" AND section = 'SETUP'\n" +
" AND key_section = 'RIAPRI_ORDINI'"
);
executeStatement("DELETE\n" +
"FROM wtb_gest_setup_user\n" +
"WHERE gest_name = 'CRUSCOTTO_PRODUZIONE'\n" +
" AND section = 'SETUP'\n" +
" AND key_section = 'RIAPRI_ORDINI'"
);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -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_20240926115459 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("ALTER TABLE ctb_scad ADD intercode VARCHAR(40)");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -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_20240926171241 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("LIQUIDAZIONE_IVA", "CREDITO_ANNO_PREC", "VISUALIZZA_LIPE", "N",
"Visualizza il credito iva anno precedente nel capo VP9 nella Lipe", false, "SI_NO", false, false,
false, false, false, null, false, "SELECT 'S' UNION ALL SELECT 'N'");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,24 @@
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_20240927093621 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if(isCustomer(IntegryCustomer.Carelli)) {
updateSetupValue("LIQUIDAZIONE_IVA", "CREDITO_ANNO_PREC", "VISUALIZZA_LIPE", "S");
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,35 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20240927103624 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("EXPORT_ANAGRAFICHE CLIENTI/FORNITORI", "DOCFINANCE", "ATTIVO", "N",
"Inserire S/N per attivare/disattivare il tipo di importazione", false, null, false, false,
false, false, false, null, false, null);
createSetup("EXPORT_ANAGRAFICHE CLIENTI/FORNITORI", "DOCFINANCE", "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("EXPORT_ANAGRAFICHE CLIENTI/FORNITORI", "DOCFINANCE", "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("EXPORT_ANAGRAFICHE CLIENTI/FORNITORI", "DOCFINANCE", "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("EXPORT_ANAGRAFICHE CLIENTI/FORNITORI", "DOCFINANCE", "PATH_FILE", null,
"Directory dove vengono salvati i file temporanei, se non è configurata i file saranno salvati in c:\\mlSetupWS\\TEMP_EXPORT", false, null, false, false,
false, false, false, null, false, null);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,35 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20240927121750 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("EXPORT_SCADENZE", "DOCFINANCE", "ATTIVO", "N",
"Inserire S/N per attivare/disattivare il tipo di importazione", false, null, false, false,
false, false, false, null, false, null);
createSetup("EXPORT_SCADENZE", "DOCFINANCE", "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("EXPORT_SCADENZE", "DOCFINANCE", "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("EXPORT_SCADENZE", "DOCFINANCE", "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("EXPORT_SCADENZE", "DOCFINANCE", "PATH_FILE", null,
"Directory dove vengono salvati i file temporanei, se non è configurata i file saranno salvati in c:\\mlSetupWS\\TEMP_EXPORT", false, null, false, false,
false, false, false, null, false, null);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,452 @@
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.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
import it.integry.ems_model.entity.*;
import it.integry.ems_model.types.OperationType;
public class Migration_20240930110848 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB() || !isCustomer(IntegryCustomer.Tosca))
return;
updateSetupValue("w_dordi_rc", "CREA_COMMESSA", "AUTO_GENERATE","N");
if (isCustomerDb(IntegryCustomerDB.Tosca_Cloud)) {
executeStatement("SET IDENTITY_INSERT tosca_cloud.dbo.stb_publications ON;");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (10, N'Sincronizzazione Anagrafiche');");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (11, N'Sincronizzazione impegnato (Triggiano)');");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (12, N'Sincronizzazione impegnato (Caserta)');");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (13, N'Sincronizzazione impegnato (Catanzaro)');");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (14, N'Sincronizzazione impegnato (Forlì-Cesena)');");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (15, N'Sincronizzazione impegnato (Milano)');");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (16, N'Sincronizzazione impegnato (Ragusa)');");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (17, N'Sincronizzazione impegnato (Roma)');");
executeStatement("INSERT INTO stb_publications (id, publication_description) VALUES (18, N'Sincronizzazione impegnato (Verona)');");
executeStatement("SET IDENTITY_INSERT tosca_cloud.dbo.stb_publications OFF;");
//<editor-fold desc="Pubblicazione anagrafiche">
StbPublications anagPublication = new StbPublications();
anagPublication
.setId(10L)
.setPublicationDescription("Sincronizzazione Anagrafiche");
anagPublication.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailGtbAnag = new StbPublicationsDetail();
detailGtbAnag
.setActive(true)
.setStbPublicationId(10L)
.setReadyToTransmit(true)
.setEntityName(GtbAnag.ENTITY)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
anagPublication.getStbPublicationsDetails().add(detailGtbAnag);
StbPublicationsDetail detailVtbDest = new StbPublicationsDetail();
detailVtbDest.setActive(true)
.setStbPublicationId(10L)
.setReadyToTransmit(true)
.setEntityName(VtbDest.ENTITY)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
anagPublication.getStbPublicationsDetails().add(detailVtbDest);
StbPublicationsDetail detailMtbDepo = new StbPublicationsDetail();
detailMtbDepo.setActive(true)
.setStbPublicationId(10L)
.setReadyToTransmit(true)
.setEntityName(MtbDepo.ENTITY)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
anagPublication.getStbPublicationsDetails().add(detailMtbDepo);
StbPublicationsDetail detailVtbClie = new StbPublicationsDetail();
detailVtbClie
.setActive(true)
.setStbPublicationId(10L)
.setReadyToTransmit(true)
.setEntityName(VtbClie.ENTITY)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
anagPublication.getStbPublicationsDetails().add(detailVtbClie);
StbPublicationsDetail detailAtbForn = new StbPublicationsDetail();
detailAtbForn
.setActive(true)
.setStbPublicationId(10L)
.setEntityName(AtbForn.ENTITY)
.setReadyToTransmit(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
anagPublication.getStbPublicationsDetails().add(detailAtbForn);
anagPublication.manageWithParentConnection(advancedDataSource.getConnection(),droolsDataCompleting);
//</editor-fold>
//<editor-fold desc="Pubblicazione impegnato (Triggiano)">
StbPublications impegnatoTriggiano = new StbPublications();
impegnatoTriggiano.setId(11L).setPublicationDescription("Sincronizzazione impegnato (Triggiano)");
impegnatoTriggiano.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailDtbOrdtBA = new StbPublicationsDetail();
detailDtbOrdtBA
.setStbPublicationId(11L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdt.ENTITY)
.setWhereCondField("gestione = 'V' AND codMdep = 'BA'")
.setActive(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoTriggiano.getStbPublicationsDetails().add(detailDtbOrdtBA);
StbPublicationsDetail detailDtbOrdrBA = new StbPublicationsDetail();
detailDtbOrdrBA
.setStbPublicationId(11L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdr.ENTITY)
.setActive(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'BA'")
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoTriggiano.getStbPublicationsDetails().add(detailDtbOrdrBA);
impegnatoTriggiano.manageWithParentConnection(advancedDataSource.getConnection());
//</editor-fold>
//<editor-fold desc="Pubblicazione impegnato (Caserta)">
StbPublications impegnatoCaserta = new StbPublications();
impegnatoCaserta.setId(12L).setPublicationDescription("Sincronizzazione impegnato (Caserta)");
impegnatoCaserta.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailDtbOrdtCE = new StbPublicationsDetail();
detailDtbOrdtCE
.setStbPublicationId(12L)
.setEntityName(DtbOrdt.ENTITY)
.setReadyToTransmit(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'CE'")
.setActive(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoCaserta.getStbPublicationsDetails().add(detailDtbOrdtCE);
StbPublicationsDetail detailDtbOrdrCE = new StbPublicationsDetail();
detailDtbOrdrCE
.setStbPublicationId(12L)
.setEntityName(DtbOrdr.ENTITY)
.setReadyToTransmit(true)
.setActive(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'CE'")
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoCaserta.getStbPublicationsDetails().add(detailDtbOrdrCE);
impegnatoCaserta.manageWithParentConnection(advancedDataSource.getConnection());
//</editor-fold>
//<editor-fold desc="Pubblicazione impegnato (Catanzaro)">
StbPublications impegnatoCatanzaro = new StbPublications();
impegnatoCatanzaro.setId(13L).setPublicationDescription("Sincronizzazione impegnato (Catanzaro)");
impegnatoCatanzaro.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailDtbOrdtCZ = new StbPublicationsDetail();
detailDtbOrdtCZ
.setStbPublicationId(13L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdt.ENTITY)
.setWhereCondField("gestione = 'V' AND codMdep = 'CZ'")
.setActive(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoCatanzaro.getStbPublicationsDetails().add(detailDtbOrdtCZ);
StbPublicationsDetail detailDtbOrdrCZ = new StbPublicationsDetail();
detailDtbOrdrCZ
.setStbPublicationId(13L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdr.ENTITY)
.setActive(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'CZ'")
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoCatanzaro.getStbPublicationsDetails().add(detailDtbOrdrCZ);
impegnatoCatanzaro.manageWithParentConnection(advancedDataSource.getConnection());
//</editor-fold>
//<editor-fold desc="Pubblicazione impegnato (Forlì-Cesena)">
StbPublications impegnatoFC = new StbPublications();
impegnatoFC.setId(14L).setPublicationDescription("Sincronizzazione impegnato (Forlì-Cesena)");
impegnatoFC.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailDtbOrdtFC = new StbPublicationsDetail();
detailDtbOrdtFC
.setStbPublicationId(14L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdt.ENTITY)
.setWhereCondField("gestione = 'V' AND codMdep = 'FC'")
.setActive(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoFC.getStbPublicationsDetails().add(detailDtbOrdtFC);
StbPublicationsDetail detailDtbOrdrFC = new StbPublicationsDetail();
detailDtbOrdrFC
.setStbPublicationId(14L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdr.ENTITY)
.setActive(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'FC'")
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoFC.getStbPublicationsDetails().add(detailDtbOrdrFC);
impegnatoFC.manageWithParentConnection(advancedDataSource.getConnection());
//</editor-fold>
//<editor-fold desc="Pubblicazione impegnato (Milano)">
StbPublications impegnatoMI = new StbPublications();
impegnatoMI.setId(15L).setPublicationDescription("Sincronizzazione impegnato (Milano)");
impegnatoMI.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailDtbOrdtMI = new StbPublicationsDetail();
detailDtbOrdtMI
.setStbPublicationId(15L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdt.ENTITY)
.setWhereCondField("gestione = 'V' AND codMdep = 'MI'")
.setActive(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoMI.getStbPublicationsDetails().add(detailDtbOrdtMI);
StbPublicationsDetail detailDtbOrdrMI = new StbPublicationsDetail();
detailDtbOrdrMI
.setStbPublicationId(15L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdr.ENTITY)
.setActive(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'MI'")
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoMI.getStbPublicationsDetails().add(detailDtbOrdrMI);
impegnatoMI.manageWithParentConnection(advancedDataSource.getConnection());
//</editor-fold>
//<editor-fold desc="Pubblicazione impegnato (Ragusa)">
StbPublications impegnatoRG = new StbPublications();
impegnatoRG.setId(16L).setPublicationDescription("Sincronizzazione impegnato (Ragusa)");
impegnatoRG.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailDtbOrdtRG = new StbPublicationsDetail();
detailDtbOrdtRG
.setStbPublicationId(16L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdt.ENTITY)
.setWhereCondField("gestione = 'V' AND codMdep = 'RG'")
.setActive(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoRG.getStbPublicationsDetails().add(detailDtbOrdtRG);
StbPublicationsDetail detailDtbOrdrRG = new StbPublicationsDetail();
detailDtbOrdrRG
.setStbPublicationId(16L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdr.ENTITY)
.setActive(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'RG'")
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoRG.getStbPublicationsDetails().add(detailDtbOrdrRG);
impegnatoRG.manageWithParentConnection(advancedDataSource.getConnection());
//</editor-fold>
//<editor-fold desc="Pubblicazione impegnato (Roma)">
StbPublications impegnatoRoma = new StbPublications();
impegnatoRoma.setId(17L).setPublicationDescription("Sincronizzazione impegnato (Roma)");
impegnatoRoma.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailDtbOrdtRM = new StbPublicationsDetail();
detailDtbOrdtRM
.setStbPublicationId(17L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdt.ENTITY)
.setWhereCondField("gestione = 'V' AND codMdep = 'RM'")
.setActive(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoRoma.getStbPublicationsDetails().add(detailDtbOrdtRM);
StbPublicationsDetail detailDtbOrdrRM = new StbPublicationsDetail();
detailDtbOrdrRM
.setStbPublicationId(17L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdr.ENTITY)
.setActive(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'RM'")
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoRoma.getStbPublicationsDetails().add(detailDtbOrdrRM);
impegnatoRoma.manageWithParentConnection(advancedDataSource.getConnection());
//</editor-fold>
//<editor-fold desc="Pubblicazione impegnato (Verona)">
StbPublications impegnatoVR = new StbPublications();
impegnatoVR.setId(18L).setPublicationDescription("Sincronizzazione impegnato (Verona)");
impegnatoVR.setOperation(OperationType.NO_OP);
StbPublicationsDetail detailDtbOrdtVR = new StbPublicationsDetail();
detailDtbOrdtVR
.setStbPublicationId(18L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdt.ENTITY)
.setWhereCondField("gestione = 'V' AND codMdep = 'VR'")
.setActive(true)
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoVR.getStbPublicationsDetails().add(detailDtbOrdtVR);
StbPublicationsDetail detailDtbOrdrVR = new StbPublicationsDetail();
detailDtbOrdrVR
.setStbPublicationId(18L)
.setReadyToTransmit(true)
.setEntityName(DtbOrdr.ENTITY)
.setActive(true)
.setWhereCondField("gestione = 'V' AND codMdep = 'VR'")
.setExportHistory(false)
.setOperation(OperationType.INSERT);
impegnatoVR.getStbPublicationsDetails().add(detailDtbOrdrVR);
impegnatoVR.manageWithParentConnection(advancedDataSource.getConnection());
//</editor-fold>
} else {
//<editor-fold desc="sottoscrizione anagrafiche">
StbRemoteSubscription anagSubscription = new StbRemoteSubscription();
anagSubscription
.setActive(true)
.setPublicationId(10L)
.setPublicationDescription("Sincronizzazione anagrafiche clienti/fornitori")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setProfileDb("TOSCA_CLOUD")
.setOperation(OperationType.INSERT);
anagSubscription.manageWithParentConnection(advancedDataSource.getConnection());
;
//</editor-fold>
if (isCustomerDb(IntegryCustomerDB.Tosca_Ba)) {
StbRemoteSubscription syncImpegnatoBa = new StbRemoteSubscription();
syncImpegnatoBa.setActive(true)
.setPublicationId(11L)
.setProfileDb("TOSCA_CLOUD")
.setPublicationDescription("Sincronizzazione impengato (Ba)")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setOperation(OperationType.INSERT);
syncImpegnatoBa.manageWithParentConnection(advancedDataSource.getConnection());
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Ce)) {
StbRemoteSubscription syncImpegnatoCe = new StbRemoteSubscription();
syncImpegnatoCe.setActive(true)
.setPublicationId(12L)
.setProfileDb("TOSCA_CLOUD")
.setPublicationDescription("Sincronizzazione impengato (Caserta)")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setOperation(OperationType.INSERT);
syncImpegnatoCe.manageWithParentConnection(advancedDataSource.getConnection());
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Cz)) {
StbRemoteSubscription syncImpegnatoCz = new StbRemoteSubscription();
syncImpegnatoCz.setActive(true)
.setPublicationId(13L)
.setProfileDb("TOSCA_CLOUD")
.setPublicationDescription("Sincronizzazione impengato (Catanzaro)")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setOperation(OperationType.INSERT);
syncImpegnatoCz.manageWithParentConnection(advancedDataSource.getConnection());
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Fc)) {
StbRemoteSubscription syncImpegnatoFc = new StbRemoteSubscription();
syncImpegnatoFc.setActive(true)
.setPublicationId(14L)
.setProfileDb("TOSCA_CLOUD")
.setPublicationDescription("Sincronizzazione impengato (Forlì-Cesena)")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setOperation(OperationType.INSERT);
syncImpegnatoFc.manageWithParentConnection(advancedDataSource.getConnection());
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Mi)) {
StbRemoteSubscription syncImpegnatoMi = new StbRemoteSubscription();
syncImpegnatoMi.setActive(true)
.setPublicationId(15L)
.setProfileDb("TOSCA_CLOUD")
.setPublicationDescription("Sincronizzazione impengato (Milano)")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setOperation(OperationType.INSERT);
syncImpegnatoMi.manageWithParentConnection(advancedDataSource.getConnection());
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Rg)) {
StbRemoteSubscription syncImpegnatoRg = new StbRemoteSubscription();
syncImpegnatoRg.setActive(true)
.setPublicationId(16L)
.setProfileDb("TOSCA_CLOUD")
.setPublicationDescription("Sincronizzazione impengato (Ragusa)")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setOperation(OperationType.INSERT);
syncImpegnatoRg.manageWithParentConnection(advancedDataSource.getConnection());
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Rm)) {
StbRemoteSubscription syncImpegnatoRm = new StbRemoteSubscription();
syncImpegnatoRm.setActive(true)
.setPublicationId(17L)
.setProfileDb("TOSCA_CLOUD")
.setPublicationDescription("Sincronizzazione impengato (Roma)")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setOperation(OperationType.INSERT);
syncImpegnatoRm.manageWithParentConnection(advancedDataSource.getConnection());
} else if (isCustomerDb(IntegryCustomerDB.Tosca_Vr)) {
StbRemoteSubscription syncImpegnatoVr = new StbRemoteSubscription();
syncImpegnatoVr.setActive(true)
.setPublicationId(18L)
.setProfileDb("TOSCA_CLOUD")
.setPublicationDescription("Sincronizzazione impengato (Verona)")
.setEndpointProtocol("HTTP")
.setEndpointHost("4.232.161.31")
.setEndpointPort(8080)
.setUsernameField("dba")
.setPassword("sql")
.setOperation(OperationType.INSERT);
syncImpegnatoVr.manageWithParentConnection(advancedDataSource.getConnection());
}
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -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_20240930121836 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("alter table gtb_nazi add tipo_trasporto varchar (1)");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,42 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
import it.integry.ems_model.utility.dto.IndexTableDTO;
import java.util.Arrays;
public class Migration_20240930172801 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("create table ctb_movr_intercode(\n" +
" id bigint not null identity,\n" +
" num_cmov int not null,\n" +
" id_riga int not null,\n" +
" intercode varchar(40),\n" +
" num_doc_orig varchar(40))",
" alter table ctb_movr_intercode add constraint pk_ctb_movr_intercode primary key (id)");
IndexTableDTO indexTableDTO = new IndexTableDTO()
.setIndexName("IX_ctb_movr_intercode_unique")
.setTableName("ctb_movr_intercode")
.setUnique(true)
.setColumnsIndex(Arrays.asList(
new IndexTableDTO.ColumnIndex("num_cmov"),
new IndexTableDTO.ColumnIndex("id_riga")
));
createIndex(indexTableDTO);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,244 @@
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_20240930180552 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isCustomerDb(IntegryCustomerDB.Biolevante_Biolevante))
return;
executeStatement("ALTER VIEW [dbo].[vsvw_vendite]\n" +
"AS\n" +
" SELECT DISTINCT dtb_doct_b.cod_dtip_val AS cod_dtip,\n" +
"\t\tdtb_doct_b.data_doc_val AS data_doc,\n" +
"\t\tdtb_doct_b.ser_doc_val AS ser_doc,\n" +
"\t\tdtb_doct_b.num_doc_val AS num_doc,\n" +
"\t\tdtb_docr.cod_dtip_comp,\n" +
"\t\tdtb_docr.data_doc_comp,\n" +
"\t\tdtb_docr.ser_doc_comp,\n" +
"\t\tdtb_docr.num_doc_comp,\n" +
"\t\tdtb_doct_a.cod_vage,\n" +
"\t\tIsnull(vtb_clie.cod_anag_stat, dtb_doct_b.cod_anag) AS cod_anag,\n" +
"\t\tdtb_doct_b.cod_vdes,\n" +
"\t\tdtb_doct_b.cod_vzon,\n" +
"\t\tvtb_clie.cod_vtip,\n" +
"\t\tdtb_doct_b.cod_dtip AS cod_dtip_bolla,\n" +
"\t\tdtb_doct_b.data_doc AS data_doc_bolla,\n" +
"\t\tdtb_doct_b.ser_doc AS ser_doc_bolla,\n" +
"\t\tdtb_doct_b.num_doc AS num_doc_bolla,\n" +
"\t\tdtb_doct_b.cod_mdep,\n" +
"\t\tIsnull(mtb_aart.cod_mart_stat, dtb_docr.cod_mart) AS cod_mart,\n" +
"\t\tmtb_aart.cod_mgrp,\n" +
"\t\tmtb_aart.cod_msgr,\n" +
"\t\tmtb_aart.cod_mtip,\n" +
"\t\tmtb_aart.cod_mstp,\n" +
"\t\tIsnull(mtb_aart.descrizione_estesa, dtb_docr.descrizione) AS descrizione,\n" +
"\t\tdtb_docr.unt_doc,\n" +
"\t\t( segno_val_scar - segno_val_car ) * dtb_doct_a.tot_imponib / dtb_doct_a.cambio AS tot_imponib,\n" +
"\t\t( segno_val_scar - segno_val_car ) * dtb_doct_a.tot_iva / dtb_doct_a.cambio AS tot_iva,\n" +
"\t\tdtb_doct_b.tot_imponib / dtb_doct_b.cambio AS tot_imponib_bolla,\n" +
"\t\tdtb_doct_b.tot_iva / dtb_doct_b.cambio AS tot_iva_bolla,\n" +
"\t\t( segno_val_scar - segno_val_car ) * dtb_docr.importo_riga / dtb_doct_b.cambio AS importo_riga,\n" +
"\t\tCASE WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100 THEN( segno_qta_scar - segno_qta_car ) * qta_doc ELSE 0 END AS qta_vend,\n" +
"\t\tCASE WHEN mtb_aart.peso_kg <> 0 AND mtb_aart.peso_kg IS NOT NULL THEN( CASE WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100\tTHEN\t\t( segno_qta_scar - segno_qta_car ) * qta_doc * dtb_docr.rap_conv * mtb_aart.peso_kg\tELSE 0 END ) ELSE 0 END AS qta_vend_kg,\n" +
"\t\tCASE WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100 THEN( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) ) / dtb_doct_b.cambio ELSE 0 END AS val_vend,\n" +
"\t\tCASE WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100 THEN( segno_qta_scar - segno_qta_car ) * qta_doc ELSE 0 END AS qta_omg,\n" +
"\t\tCASE WHEN mtb_aart.peso_kg <> 0 AND mtb_aart.peso_kg IS NOT NULL THEN( CASE WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100THEN( segno_qta_scar - segno_qta_car ) * qta_doc * dtb_docr.rap_conv * mtb_aart.peso_kg ELSE 0 END ) ELSE 0 END AS qta_omg_kg,\n" +
"\t\tCASE WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100 THEN( ( segno_qta_scar - segno_qta_car ) * qta_doc * val_unt ) / dtb_doct_b.cambio ELSE 0 END AS val_omg,\n" +
"\t\t(( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_prov / 100 ) + (segno_val_scar - segno_val_car ) * qta_doc * val_prov ) / dtb_doct_b.cambio AS importo_prov,\n" +
"\t\tdtb_docr.id_riga,\n" +
"\t\tgtb_divi.cod_divi,\n" +
"\t\tdtb_doct_a.listino AS cod_vlis,\n" +
"\t\tCASE WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100 THEN( segno_qta_scar - segno_qta_car ) * qta_doc * costo_unt / dtb_doct_b.cambio ELSE 0 END AS val_costo,\n" +
"\t\tCASE WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100 THEN( ( segno_qta_scar - segno_qta_car ) * qta_doc * costo_unt ) / dtb_doct_b.cambio ELSE 0 END AS val_omg_costo,\n" +
"\t\tCASE WHEN sconto8 = 100 THEN( ( segno_qta_scar - segno_qta_car ) * qta_doc * costo_unt ) / dtb_doct_b.cambio ELSE 0 END AS val_scarti_prod,\n" +
"\t\tCASE WHEN flag_tipo_reso = 'R' THEN( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) ) / dtb_doct_b.cambio ELSE 0 END AS val_resi_rivendibili,\n" +
"\t\tCASE WHEN flag_tipo_reso = 'S' THEN( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) ) / dtb_doct_b.cambio ELSE 0 END AS val_resi_non_rivendibili,\n" +
"\t\tCASE WHEN flag_tipo_reso = 'P' THEN( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) ) / dtb_doct_b.cambio ELSE 0 END AS val_resi_rettifica_prezzo,\n" +
"\t\tCASE WHEN flag_tipo_reso IS NOT NULL THEN( segno_qta_scar - segno_qta_car ) * qta_doc ELSE 0 END AS qta_resi_rivendibili,\n" +
"\t\tdtb_docr.rap_conv,\n" +
"\t\tqta_doc * dtb_docr.rap_conv * peso_kg * ( segno_qta_scar - segno_qta_car ) ASpesokg,\n" +
"\t\tCASE WHEN dtb_docr.qta_cnf * ( segno_qta_scar - segno_qta_car ) = 0 THEN 0 ELSE qta_doc * dtb_docr.rap_conv / dtb_docr.qta_cnf * ( segno_qta_scar - segno_qta_car ) END AS confezioni,\n" +
"\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( dtb_doct_b.sconto1 / 100 ) )) / dtb_doct_b.cambio AS val_sconto1,(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( dtb_doct_b.sconto2 / 100 ) )) /dtb_doct_b.cambio AS val_sconto2,\n" +
"\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( dtb_doct_b.sconto3 / 100 ) )) / dtb_doct_b.cambio AS val_sconto3,\n" +
"\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_doct_b.sconto4 / 100 ) )) / dtb_doct_b.cambio AS val_sconto4,\n" +
"\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( dtb_docr.sconto5 / 100 ) )) /dtb_doct_b.cambio AS val_sconto5,\n" +
"\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( dtb_docr.sconto6 / 100 ) )) / dtb_doct_b.cambio AS val_sconto6,\n" +
"\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( dtb_docr.sconto7 / 100 ) )) /dtb_doct_b.cambio AS val_sconto7,\n" +
"\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( dtb_docr.sconto8 / 100 ) )) / dtb_doct_b.cambio AS val_sconto8,\n" +
"\t\t( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt ) / dtb_doct_b.cambio AS fatturato_lordo,\n" +
"\t\t( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_doct_b.sconto4 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_gest / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * val_gest ) / dtb_doct_b.cambio AS importo_gest,\n" +
"\t\t(( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_ispe / 100 ) + (segno_val_scar - segno_val_car ) * qta_doc * val_ispe ) / dtb_doct_b.cambio AS importo_prov_ispe,\n" +
"\t\t(( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_promo / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * val_promo ) / dtb_doct_b.cambio AS importo_promo,\n" +
"\t\t( (( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_oneri / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * val_oneri ) / dtb_doct_b.cambio ) +Isnull(( (( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( venditeOneri.perc_oneri_art / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * venditeOneri.val_oneri_art ) / dtb_doct_b.cambio ), 0) AS importo_oneri,\n" +
"\t\tdtb_docr.cod_promo,\n" +
"\t\tvtb_clie.cod_vass,\n" +
"\t\tvtb_clie.cod_vgrp_acq,\n" +
"\t\tmtb_aart.peso_kg,\n" +
"\t\tmtb_aart.qta_cnf,\n" +
"\t\tCONVERT(INT, CASE WHEN dtb_doct_b.cod_forn_td IS NULL THEN 0 ELSE 1 END) AS flag_doc_td,\n" +
"\t\tdtb_docr.cod_jcom,\n" +
"\t\tdtb_doct_b.porto,\n" +
"\t\tdtb_doct_b.mezzo,\n" +
"\t\tgtb_anag.nazione as nazione_clie, \n" +
"\t\tvtb_dest.nazione as nazione_dest\n" +
"FROM dtb_docr\n" +
" LEFT OUTER JOIN dbo.Getviewvenditeoneri() venditeOneri\n" +
" ON dtb_docr.cod_anag = venditeOneri.cod_anag_comp\n" +
" AND dtb_docr.cod_dtip = venditeOneri.cod_dtip_comp\n" +
" AND dtb_docr.data_doc = venditeOneri.data_doc_comp\n" +
" AND dtb_docr.num_doc = venditeOneri.num_doc_comp\n" +
" AND dtb_docr.ser_doc = venditeOneri.ser_doc_comp\n" +
" AND dtb_docr.cod_mart = venditeOneri.cod_mart,\n" +
" dtb_doct AS dtb_doct_a,\n" +
" dtb_doct AS dtb_doct_b left outer join vtb_dest on dtb_doct_b.cod_anag = vtb_dest.cod_anag and \n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\t dtb_doct_b.cod_vdes = vtb_dest.cod_vdes,\n" +
" dtb_tipi,\n" +
" gtb_divi,\n" +
" azienda,\n" +
" mtb_aart,\n" +
" mtb_sgrp,\n" +
" vtb_clie inner join gtb_anag on vtb_Clie.cod_anag = gtb_anag.cod_anag\t\t\t \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' )\n" +
" AND ( dtb_tipi.tipo_emissione = 'DIRETTA' )\n" +
" AND ( dtb_docr.cod_mart IS NOT NULL ) )\n" +
" AND ( dtb_tipi.flag_incl_stat = 'S' )\n" +
"UNION ALL\n" +
"SELECT dtb_doct_b.cod_dtip_val,\n" +
"\t\tdtb_doct_b.data_doc_val,\n" +
"\t\tdtb_doct_b.ser_doc_val,\n" +
"\t\tdtb_doct_b.num_doc_val,\n" +
"\t\tdtb_docr.cod_dtip_comp,\n" +
"\t\tdtb_docr.data_doc_comp,\n" +
"\t\tdtb_docr.ser_doc_comp,\n" +
"\t\tdtb_docr.num_doc_comp,\n" +
"\t\tdtb_doct_a.cod_vage,\n" +
"\t\tIsnull(vtb_clie.cod_anag_stat, dtb_doct_b.cod_anag)\n" +
"\t\tAS cod_anag,\n" +
"\t\tdtb_doct_b.cod_vdes,\n" +
"\t\tdtb_doct_b.cod_vzon,\n" +
"\t\tvtb_clie.cod_vtip,\n" +
"\t\tdtb_doct_b.cod_dtip,\n" +
"\t\tdtb_doct_b.data_doc,\n" +
"\t\tdtb_doct_b.ser_doc,\n" +
"\t\tdtb_doct_b.num_doc,\n" +
"\t\tdtb_doct_b.cod_mdep,\n" +
"\t\tdtb_docr.cod_mart,\n" +
"\t\tNULL,\n" +
"\t\tNULL,\n" +
"\t\tNULL,\n" +
"\t\tNULL,\n" +
"\t\tdtb_docr.descrizione,\n" +
"\t\tdtb_docr.unt_doc,\n" +
"\t\t( segno_val_scar - segno_val_car ) * dtb_doct_a.tot_imponib / dtb_doct_a.cambio AS tot_imponib,\n" +
"\t\t( segno_val_scar - segno_val_car ) * dtb_doct_a.tot_iva / dtb_doct_a.cambio AS tot_iva,\n" +
"\t\tdtb_doct_b.tot_imponib / dtb_doct_b.cambio AS tot_imponib_bolla,\n" +
"\t\tdtb_doct_b.tot_iva / dtb_doct_b.cambio AS tot_iva_bolla,\n" +
"\t\t( segno_val_scar - segno_val_car ) * dtb_docr.importo_riga / dtb_doct_b.cambio AS importo_riga,\n" +
"\t\tCASE WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100 THEN( segno_qta_scar - segno_qta_car ) * qta_doc ELSE 0 END AS qta_vend,\n" +
"\t\tCONVERT(NUMERIC(15, 5), 0) AS qta_vend_kg,\n" +
"\t\tCASE WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100 THEN( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) ) / dtb_doct_b.cambio ELSE 0 END AS val_vend,\n" +
"\t\tCASE WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100 THEN( segno_qta_scar - segno_qta_car ) * qta_doc ELSE 0 END AS qta_omg, CONVERT(NUMERIC(15, 5), 0) AS qta_omg_kg,\n" +
"\t\tCASE WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100 THEN( ( segno_qta_scar - segno_qta_car ) * qta_doc * val_unt ) / dtb_doct_b.cambio ELSE 0 END AS val_omg,\n" +
"\t\t( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_prov / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * val_prov ) / dtb_doct_b.cambio AS importo_prov,\n" +
"\t\tdtb_docr.id_riga,\n" +
"\t\tgtb_divi.cod_divi,\n" +
"\t\tdtb_doct_a.listino AS cod_vlis,\n" +
"\t\tCONVERT(NUMERIC(20, 5), 0) AS val_costo,\n" +
"\t\tCONVERT(NUMERIC(20, 5), 0) AS val_omg_costo,\n" +
"\t\tCONVERT(NUMERIC(20, 5), 0) AS val_scarti_prod,\n" +
"\t\tCASE WHEN flag_tipo_reso = 'R' THEN( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) ) / dtb_doct_b.cambio ELSE 0 END AS val_resi_rivendibili,\n" +
"\t\tCASE WHEN flag_tipo_reso = 'S' THEN( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) ) / dtb_doct_b.cambio ELSE 0 END AS val_resi_non_rivendibili,\n" +
"\t\tCASE WHEN flag_tipo_reso = 'P' THEN( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) ) / dtb_doct_b.cambio ELSE 0 END AS val_resi_rettifica_prezzo,\n" +
"\t\tCASE WHEN flag_tipo_reso IS NOT NULL THEN ( segno_qta_scar - segno_qta_car ) * qta_doc ELSE 0 END AS qta_resi_rivendibili,\n" +
"\t\tdtb_docr.rap_conv,\n" +
"\t\t0 AS pesokg,\n" +
"\t\tCASE WHEN dtb_docr.qta_cnf * ( segno_qta_scar - segno_qta_car ) = 0 THEN 0 ELSE qta_doc * dtb_docr.rap_conv / dtb_docr.qta_cnf * ( segno_qta_scar - segno_qta_car ) END AS confezioni,\n" +
"\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( dtb_doct_b.sconto1 / 100 ) )) / dtb_doct_b.cambio AS val_sconto1, (( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( dtb_doct_b.sconto2 / 100 ) )) / dtb_doct_b.cambio AS val_sconto2,\n" +
"\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( dtb_doct_b.sconto3 / 100 ) )) / dtb_doct_b.cambio AS val_sconto3,\n" +
"\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_doct_b.sconto4 / 100 ) )) / dtb_doct_b.cambio AS val_sconto4,\n" +
"\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( dtb_docr.sconto5 / 100 ) )) /dtb_doct_b.cambio AS val_sconto5,\n" +
"\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( dtb_docr.sconto6 / 100 ) )) / dtb_doct_b.cambio AS val_sconto6,\n" +
"\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( dtb_docr.sconto7 / 100 ) )) /dtb_doct_b.cambio AS val_sconto7,\n" +
"\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( dtb_docr.sconto8 / 100 ) )) / dtb_doct_b.cambio AS val_sconto8,\n" +
"\t\t( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt ) / dtb_doct_b.cambio AS fatturato_lordo,\n" +
"\t\t( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_doct_b.sconto4 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_gest / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * val_gest ) / dtb_doct_b.cambio AS importo_gest,\n" +
"\t\t(( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_ispe / 100 ) + (segno_val_scar - segno_val_car ) * qta_doc * val_ispe ) / dtb_doct_b.cambio AS importo_prov_ispe,\n" +
"\t\t(( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_promo / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * val_promo ) / dtb_doct_b.cambio AS importo_promo,\n" +
"\t\t( (( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_oneri / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * val_oneri ) / dtb_doct_b.cambio ) +Isnull(( (( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( venditeOneri.perc_oneri_art / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * venditeOneri.val_oneri_art ) / dtb_doct_b.cambio ), 0) AS importo_oneri,\n" +
"\t\tdtb_docr.cod_promo,\n" +
"\t\tvtb_clie.cod_vass,\n" +
"\t\tvtb_clie.cod_vgrp_acq,\n" +
"\t\tNULL,\n" +
"\t\tNULL,\n" +
"\t\tCONVERT(INT, CASE WHEN dtb_doct_b.cod_forn_td IS NULL THEN 0 ELSE 1 END) AS flag_doc_td,\n" +
"\t\tdtb_docr.cod_jcom,\n" +
"\t\tdtb_doct_b.porto,\n" +
"\t\tdtb_doct_b.mezzo ,\n" +
"\t\tgtb_anag.nazione as nazione_clie, \n" +
"\t\tvtb_dest.nazione as nazione_dest\n" +
"FROM dtb_docr\n" +
" LEFT OUTER JOIN dbo.Getviewvenditeoneri() venditeOneri\n" +
" ON dtb_docr.cod_anag = venditeOneri.cod_anag_comp\n" +
" AND dtb_docr.cod_dtip = venditeOneri.cod_dtip_comp\n" +
" AND dtb_docr.data_doc = venditeOneri.data_doc_comp\n" +
" AND dtb_docr.num_doc = venditeOneri.num_doc_comp\n" +
" AND dtb_docr.ser_doc = venditeOneri.ser_doc_comp\n" +
" AND dtb_docr.cod_mart = venditeOneri.cod_mart,\n" +
" dtb_doct AS dtb_doct_b left outer join vtb_dest on dtb_doct_b.cod_anag = vtb_dest.cod_anag and \n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\t dtb_doct_b.cod_vdes = vtb_dest.cod_vdes,\n" +
" dtb_doct AS dtb_doct_a,\n" +
" dtb_tipi,\n" +
" gtb_divi,\n" +
" azienda,\n" +
" vtb_clie inner join gtb_anag on vtb_Clie.cod_anag = gtb_anag.cod_anag\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' )\n" +
" AND ( dtb_tipi.tipo_emissione = 'DIRETTA' )\n" +
" AND ( dtb_docr.cod_mart IS NULL )\n" +
" AND ( dtb_docr.qta_doc <> 0 ) )\n" +
" AND ( dtb_tipi.flag_incl_stat = 'S' ) \n");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,30 @@
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_20241001111539 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("W_VFATTCLIE_DISP", "DATAWINDOW", "D_VFATTCLIE_REP", null,
null, false, null, false, false,
false, false, false, null, false, null);
if(isCustomer(IntegryCustomer.Biolevante)) {
updateSetupValue("W_VFATTCLIE_DISP", "DATAWINDOW", "D_VFATTCLIE_REP", "D_VFATTCLIE_BIOLEVANTE_REP");
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,25 @@
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_20241001133030 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomer(IntegryCustomer.Tosca))
updateSetupValue("PICKING","SPEDIZIONE","FLAG_CAN_ADD_EXTRA_ITEMS","S");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,25 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241001164607 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
String value = "S";
createSetup("PICKING", "SETUP", "ENABLE_POSITION_CHANGE_REQUEST", value,
"Permette di abilitare il pop-up di richiesta di modifica posizione", false, "SI_NO", false, false,
false, false, false, null, false, "SELECT 'S' UNION ALL SELECT 'N'");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,25 @@
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_20241002090224 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.Gramm_Gramm))
return;
executeStatement("update stb_gest_setup set value = 'N' where gest_name = 'IMPORT_DOCUMENTI_TRASPORTO' and section in ('DIPA','EBC', 'MIRARCHI') and key_section = 'ATTIVO' and value = 'S'");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,35 @@
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_20241003123326 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("W_VARTVENDCLI_DISP", "DATAWINDOW", "D_VARTVENDCLI_CANALE_REP", null,
null, false, null, false, false,
false, false, false, null, false, null);
createSetup("W_VARTVENDCLI_DISP", "DATAWINDOW", "D_VARTVENDCLI_NODEST_REP", null,
null, false, null, false, false,
false, false, false, null, false, null);
if(isCustomer(IntegryCustomer.Gramm)) {
updateSetupValue("W_VARTVENDCLI_DISP", "DATAWINDOW", "D_VARTVENDCLI_REP", "D_VARTVENDCLI_GRAMM_REP");
updateSetupValue("W_VARTVENDCLI_DISP", "DATAWINDOW", "D_VARTVENDCLI_CANALE_REP", "D_VARTVENDCLI_CANALE_GRAMM_REP");
updateSetupValue("W_VARTVENDCLI_DISP", "DATAWINDOW", "D_VARTVENDCLI_NODEST_REP", "D_VARTVENDCLI_NODEST_GRAMM_REP");
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,137 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241003172732 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createOrUpdateFunction("f_int2lettere", "CREATE FUNCTION dbo.f_int2lettere (@Numero INT)\n" +
"RETURNS NVARCHAR(4000)\n" +
"AS\n" +
"BEGIN\n" +
" DECLARE @Risultato NVARCHAR(4000) = ''\n" +
" DECLARE @Unita NVARCHAR(11)\n" +
" DECLARE @Decine NVARCHAR(11)\n" +
" DECLARE @Centinaia NVARCHAR(11)\n" +
" DECLARE @Migliaia NVARCHAR(11)\n" +
" DECLARE @Milioni NVARCHAR(11)\n" +
"\n" +
" IF @Numero = 0\n" +
" RETURN 'zero'\n" +
"\n" +
" IF @Numero < 0\n" +
" RETURN 'meno ' + dbo.f_numeroInLettere(-@Numero)\n" +
"\n" +
" -- Milioni\n" +
" IF @Numero >= 1000000\n" +
" BEGIN\n" +
" SET @Milioni = dbo.f_numeroInLettere(@Numero / 1000000)\n" +
" SET @Risultato = @Milioni + 'milione' + CASE WHEN @Numero / 1000000 > 1 THEN 'i' ELSE '' END\n" +
" SET @Numero = @Numero % 1000000\n" +
" /*IF @Numero > 0\n" +
" SET @Risultato = @Risultato + ' '*/\n" +
" END\n" +
"\n" +
" -- Migliaia\n" +
" IF @Numero >= 1000\n" +
" BEGIN\n" +
" SET @Migliaia = dbo.f_numeroInLettere(@Numero / 1000)\n" +
" IF @Numero / 1000 = 1\n" +
" SET @Risultato = @Risultato + 'mille'\n" +
" ELSE\n" +
" SET @Risultato = @Risultato + @Migliaia + 'mila'\n" +
" SET @Numero = @Numero % 1000\n" +
" /* IF @Numero > 0\n" +
" SET @Risultato = @Risultato + ' '*/\n" +
" END\n" +
"\n" +
" -- Centinaia\n" +
" IF @Numero >= 100\n" +
" BEGIN\n" +
" SET @Centinaia = CASE\n" +
" WHEN @Numero / 100 = 1 THEN 'cento'\n" +
" WHEN @Numero / 100 = 2 THEN 'duecento'\n" +
" WHEN @Numero / 100 = 3 THEN 'trecento'\n" +
" WHEN @Numero / 100 = 4 THEN 'quattrocento'\n" +
" WHEN @Numero / 100 = 5 THEN 'cinquecento'\n" +
" WHEN @Numero / 100 = 6 THEN 'seicento'\n" +
" WHEN @Numero / 100 = 7 THEN 'settecento'\n" +
" WHEN @Numero / 100 = 8 THEN 'ottocento'\n" +
" ELSE 'novecento'\n" +
" END\n" +
" SET @Risultato = @Risultato + @Centinaia\n" +
" SET @Numero = @Numero % 100\n" +
" /*IF @Numero > 0\n" +
" SET @Risultato = @Risultato + ' '*/\n" +
" END\n" +
"\n" +
" -- Decine e unità\n" +
" IF @Numero >= 20\n" +
" BEGIN\n" +
" SET @Decine = CASE\n" +
" WHEN @Numero / 10 = 2 THEN 'venti'\n" +
" WHEN @Numero / 10 = 3 THEN 'trenta'\n" +
" WHEN @Numero / 10 = 4 THEN 'quaranta'\n" +
" WHEN @Numero / 10 = 5 THEN 'cinquanta'\n" +
" WHEN @Numero / 10 = 6 THEN 'sessanta'\n" +
" WHEN @Numero / 10 = 7 THEN 'settanta'\n" +
" WHEN @Numero / 10 = 8 THEN 'ottanta'\n" +
" ELSE 'novanta'\n" +
" END\n" +
" SET @Risultato = @Risultato + @Decine\n" +
" SET @Numero = @Numero % 10\n" +
" /* IF @Numero > 0\n" +
" SET @Risultato = @Risultato + ' '*/\n" +
" END\n" +
"\n" +
" IF @Numero > 0\n" +
" BEGIN\n" +
" SET @Unita = CASE\n" +
" WHEN @Numero = 1 THEN 'uno'\n" +
" WHEN @Numero = 2 THEN 'due'\n" +
" WHEN @Numero = 3 THEN 'tre'\n" +
" WHEN @Numero = 4 THEN 'quattro'\n" +
" WHEN @Numero = 5 THEN 'cinque'\n" +
" WHEN @Numero = 6 THEN 'sei'\n" +
" WHEN @Numero = 7 THEN 'sette'\n" +
" WHEN @Numero = 8 THEN 'otto'\n" +
" ELSE 'nove'\n" +
" END\n" +
" SET @Risultato = @Risultato + @Unita\n" +
" END\n" +
"\n" +
" RETURN @Risultato\n" +
"END");
createOrUpdateFunction("f_dec2lettere", "CREATE FUNCTION dbo.f_dec2Lettere (@Numero numeric(20,5))\n" +
"RETURNS NVARCHAR(4000)\n" +
"AS\n" +
"BEGIN\n" +
" DECLARE @Risultato NVARCHAR(4000) = ''\n" +
" DECLARE @Decimali NVARCHAR(11) = ''\n" +
" \n" +
" if @Numero <> cast(@Numero as int) \n" +
" begin\n" +
" set @Decimali = '/'+ cast(cast((@Numero - cast(@Numero as int))*100 as int)as varchar) \n" +
" end\n" +
" set @Numero = CAST(@Numero as int) \n" +
"\n" +
" select @Risultato = dbo.f_int2Lettere(@Numero) + @Decimali\n" +
"\n" +
" \n" +
" \n" +
" RETURN @Risultato\n" +
"END");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,137 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241004101121 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createOrUpdateFunction("f_int2lettere", "CREATE FUNCTION [dbo].[f_int2lettere] (@Numero INT)\n" +
"RETURNS NVARCHAR(4000)\n" +
"AS\n" +
"BEGIN\n" +
" DECLARE @Risultato NVARCHAR(4000) = ''\n" +
" DECLARE @Unita NVARCHAR(11)\n" +
" DECLARE @Decine NVARCHAR(11)\n" +
" DECLARE @Centinaia NVARCHAR(11)\n" +
" DECLARE @Migliaia NVARCHAR(11)\n" +
" DECLARE @Milioni NVARCHAR(11)\n" +
"\n" +
" IF @Numero = 0\n" +
" RETURN 'zero'\n" +
"\n" +
" IF @Numero < 0\n" +
" RETURN 'meno ' + dbo.f_int2lettere(-@Numero)\n" +
"\n" +
" -- Milioni\n" +
" IF @Numero >= 1000000\n" +
" BEGIN\n" +
" SET @Milioni = dbo.f_int2lettere(@Numero / 1000000)\n" +
" SET @Risultato = @Milioni + 'milione' + CASE WHEN @Numero / 1000000 > 1 THEN 'i' ELSE '' END\n" +
" SET @Numero = @Numero % 1000000\n" +
" /*IF @Numero > 0\n" +
" SET @Risultato = @Risultato + ' '*/\n" +
" END\n" +
"\n" +
" -- Migliaia\n" +
" IF @Numero >= 1000\n" +
" BEGIN\n" +
" SET @Migliaia = dbo.f_int2lettere(@Numero / 1000)\n" +
" IF @Numero / 1000 = 1\n" +
" SET @Risultato = @Risultato + 'mille'\n" +
" ELSE\n" +
" SET @Risultato = @Risultato + @Migliaia + 'mila'\n" +
" SET @Numero = @Numero % 1000\n" +
" /* IF @Numero > 0\n" +
" SET @Risultato = @Risultato + ' '*/\n" +
" END\n" +
"\n" +
" -- Centinaia\n" +
" IF @Numero >= 100\n" +
" BEGIN\n" +
" SET @Centinaia = CASE\n" +
" WHEN @Numero / 100 = 1 THEN 'cento'\n" +
" WHEN @Numero / 100 = 2 THEN 'duecento'\n" +
" WHEN @Numero / 100 = 3 THEN 'trecento'\n" +
" WHEN @Numero / 100 = 4 THEN 'quattrocento'\n" +
" WHEN @Numero / 100 = 5 THEN 'cinquecento'\n" +
" WHEN @Numero / 100 = 6 THEN 'seicento'\n" +
" WHEN @Numero / 100 = 7 THEN 'settecento'\n" +
" WHEN @Numero / 100 = 8 THEN 'ottocento'\n" +
" ELSE 'novecento'\n" +
" END\n" +
" SET @Risultato = @Risultato + @Centinaia\n" +
" SET @Numero = @Numero % 100\n" +
" /*IF @Numero > 0\n" +
" SET @Risultato = @Risultato + ' '*/\n" +
" END\n" +
"\n" +
" -- Decine e unità\n" +
" IF @Numero >= 20\n" +
" BEGIN\n" +
" SET @Decine = CASE\n" +
" WHEN @Numero / 10 = 2 THEN 'venti'\n" +
" WHEN @Numero / 10 = 3 THEN 'trenta'\n" +
" WHEN @Numero / 10 = 4 THEN 'quaranta'\n" +
" WHEN @Numero / 10 = 5 THEN 'cinquanta'\n" +
" WHEN @Numero / 10 = 6 THEN 'sessanta'\n" +
" WHEN @Numero / 10 = 7 THEN 'settanta'\n" +
" WHEN @Numero / 10 = 8 THEN 'ottanta'\n" +
" ELSE 'novanta'\n" +
" END\n" +
" SET @Risultato = @Risultato + @Decine\n" +
" SET @Numero = @Numero % 10\n" +
" /* IF @Numero > 0\n" +
" SET @Risultato = @Risultato + ' '*/\n" +
" END\n" +
"\n" +
" IF @Numero > 0\n" +
" BEGIN\n" +
" SET @Unita = CASE\n" +
" WHEN @Numero = 1 THEN 'uno'\n" +
" WHEN @Numero = 2 THEN 'due'\n" +
" WHEN @Numero = 3 THEN 'tre'\n" +
" WHEN @Numero = 4 THEN 'quattro'\n" +
" WHEN @Numero = 5 THEN 'cinque'\n" +
" WHEN @Numero = 6 THEN 'sei'\n" +
" WHEN @Numero = 7 THEN 'sette'\n" +
" WHEN @Numero = 8 THEN 'otto'\n" +
" ELSE 'nove'\n" +
" END\n" +
" SET @Risultato = @Risultato + @Unita\n" +
" END\n" +
"\n" +
" RETURN @Risultato\n" +
"END");
createOrUpdateFunction("f_dec2Lettere", "CREATE FUNCTION [dbo].[f_dec2Lettere] (@Numero numeric(20,5))\n" +
"RETURNS NVARCHAR(4000)\n" +
"AS\n" +
"BEGIN\n" +
" DECLARE @Risultato NVARCHAR(4000) = ''\n" +
" DECLARE @Decimali NVARCHAR(11) = ''\n" +
" \n" +
" if @Numero <> cast(@Numero as int) \n" +
" begin\n" +
" set @Decimali = '/'+ cast(cast((@Numero - cast(@Numero as int))*100 as int)as varchar) \n" +
" end\n" +
" set @Numero = CAST(@Numero as int) \n" +
"\n" +
" select @Risultato = dbo.f_int2Lettere(@Numero) + @Decimali\n" +
"\n" +
" \n" +
" \n" +
" RETURN @Risultato\n" +
"END");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -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_20241004102029 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("IMPORT_MOVIMENTI CONTABILI", "DOCFINANCE", "ATTIVO", "N",
"Inserire S/N per attivare/disattivare il tipo di importazione", false, null, false, false,
false, false, false, null, false, null);
createSetup("IMPORT_MOVIMENTI CONTABILI", "DOCFINANCE", "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_MOVIMENTI CONTABILI", "DOCFINANCE", "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_MOVIMENTI CONTABILI", "DOCFINANCE", "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_MOVIMENTI CONTABILI", "DOCFINANCE", "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_MOVIMENTI CONTABILI", "DOCFINANCE", "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_MOVIMENTI CONTABILI", "DOCFINANCE", "PATH_FILE", null,
"Directory contente i file da importare.", false, null, false, false,
false, false, false, null, false, null);
createSetup("IMPORT_MOVIMENTI CONTABILI", "DOCFINANCE", "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 {
}
}

View File

@@ -0,0 +1,56 @@
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_20241004105513 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isCustomer(IntegryCustomer.RossoGargano)) return;
executeStatement("insert into ctb_movr_intercode\n" +
"select num_cmov,\n" +
"id_riga,\n" +
"chiave,\n" +
"PN_NRO_DOCUMENTO\n" +
"from (\n" +
"select \n" +
"PNOTA.PN_DATA_COMPETENZA,\n" +
"PNOTA.PN_NRO_REG ,\n" +
"PNOTA.PN_NRO_RIGA_REG,\n" +
"PNOTA.PN_SEGNO_MOVIMENTO,\n" +
"PNOTA.PN_IMPORTO_MOV,\n" +
"gtb_anag.diacod,\n" +
"ctb_movr.num_cmov,\n" +
"ctb_movr.id_riga,\n" +
"PNOTA.PN_PARTITA + Space(8 - len(PNOTA.PN_PARTITA)) + format(PNOTA.PN_NRO_RIGA_REG, '000') as chiave,\n" +
"PNOTA.PN_NRO_DOCUMENTO,\n" +
"ctb_movr.cod_anag,\n" +
"sum(ctb_movr.imp_dare - ctb_movr.imp_avere) over (PARTITION by ctb_movr.cod_anag) as tot_scoperto \n" +
"from ctb_movr \n" +
"inner join ctb_movt on ctb_movr.num_cmov = ctb_movt.num_cmov\n" +
"inner join gtb_anag on ctb_movr.cod_anag = gtb_anag.cod_anag\n" +
"inner join ctb_caus on ctb_movt.cod_ccau = ctb_caus.cod_ccau and ctb_caus.flag_ap_ch = 'N'\n" +
"inner join rg_crl_movt on ctb_movt.num_cmov = rg_crl_movt.num_cmov\n" +
"inner join RossoGarganoExchange.dbo.PNOTA PNOTA on rg_crl_movt.PN_DATA_COMPETENZA = PNOTA.PN_DATA_COMPETENZA and rg_crl_movt.PN_NRO_REG = PNOTA.PN_NRO_REG \n" +
"and gtb_anag.diacod = PN_COD_ANAG\n" +
"and ( (PNOTA.PN_SEGNO_MOVIMENTO = 'D' and ctb_movr.imp_dare = PNOTA.PN_IMPORTO_MOV)\n" +
"or (PNOTA.PN_SEGNO_MOVIMENTO = 'A' and ctb_movr.imp_avere = PNOTA.PN_IMPORTO_MOV)) \n" +
"and PNOTA.PN_NRO_RIGA_REG = ctb_movr.riga\n" +
"where anno_part is null \n" +
"and not exists (select * from ctb_movr_intercode where ctb_movr.num_cmov = ctb_movr_intercode.num_cmov and ctb_movr.id_riga = ctb_movr_intercode.id_riga )\n" +
")t\n" +
"order by cod_anag, num_cmov");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,38 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241004172307 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createOrUpdateFunction("f_getChiaveCogeDocFinace", "CREATE FUNCTION [dbo].[f_getChiaveCogeDocFinace]\n" +
"(\n" +
" @annoPart int, @serDoc varchar(2), @numDoc int, @idRiga int, @tipoAnag varchar(1)\n" +
")\n" +
"RETURNS varchar(26)\n" +
"AS\n" +
"BEGIN\n" +
" -- Declare the return variable here\n" +
" DECLARE @chiaveCoge varchar(26)\n" +
"\n" +
" -- Add the T-SQL statements to compute the return value here\n" +
" SELECT @chiaveCoge = @tipoAnag + cast(@annoPart as varchar) + FORMAT(@numDoc, REPLICATE('0', 9)) + @serDoc + space(2 - LEN(@serDoc)) + FORMAT(@idRiga, '000')\n" +
"\n" +
" -- Return the result of the function\n" +
" RETURN @chiaveCoge\n" +
"\n" +
"END");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,50 @@
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_20241007093433 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if(!isCustomer(IntegryCustomer.RossoGargano)) return;
executeStatement(
"update ctb_part \n" +
"set ctb_part.cod_abi = vs_banca.cod_abi,\n" +
"ctb_part.cod_cab = vs_banca.cod_cab,\n" +
"ctb_part.iban = vs_banca.iban,\n" +
"ctb_part.cod_banc = gtb_banc_azi.cod_banc_azi\n" +
"from rossogarganoExchange.dbo.pnota inner join rg_crl_movt on pnota.pn_data_competenza = rg_crl_movt.pn_data_competenza\n" +
"and pnota.pn_nro_reg = rg_crl_movt.pn_nro_reg\n" +
"inner join ctb_parr on rg_crl_movt.num_cmov = ctb_parr.num_cmov\n" +
"inner join ctb_part on ctb_parr.tipo_anag = ctb_part.tipo_anag\n" +
"and ctb_parr.cod_anag = ctb_part.cod_anag\n" +
"and ctb_parr.anno_part = ctb_part.anno_part\n" +
"and ctb_parr.ser_doc = ctb_part.ser_doc\n" +
"and ctb_parr.num_doc = ctb_part.num_doc\n" +
"left outer join (select cbanca_key1,\n" +
"\tiif (CBANCA.CBANCA_PAESE = 'IT', IIF(LEN(CBANCA.CBANCA_CC) > 0, CBANCA.CBANCA_PAESE + CBANCA.CBANCA_CTRL + CBANCA.CBANCA_CIN + CBANCA.CBANCA_ABI + CBANCA.CBANCA_CAB + CBANCA.CBANCA_CC,NULL) , CBANCA.CBANCA_BBAN) AS IBAN,\n" +
"\tCBANCA.CBANCA_ABI AS COD_ABI,\n" +
"\tCBANCA.CBANCA_CAB AS COD_CAB,\n" +
"\tCBANCA.CBANCA_CC AS NUM_CC,\n" +
"\tiif(len(CBANCA.CBANCA_BIC)=0,null, trim(CBANCA.CBANCA_BIC) ) AS COD_BIc\n" +
"\tfrom RossoGarganoExchange.dbo.cbanca) vs_banca on pnota.pn_vs_banca_cc = vs_banca.cbanca_key1\n" +
"left outer join (select cbanca_key1,\n" +
"\tcbanca_c_coge\n" +
"\tfrom RossoGarganoExchange.dbo.cbanca) ns_banca on ns_banca.cbanca_key1 like '%' + pnota.pn_ns_banca_cc \n" +
"left outer join ctb_cont on ns_banca.cbanca_c_coge = ctb_cont.diacod\n" +
"left outer join gtb_banc_azi on ctb_cont.cod_ccon = gtb_banc_azi.cod_ccon_ordinario\n" +
"where Len(pnota.pn_vs_banca_cc) <> 0 OR Len(pnota.pn_ns_banca_cc) <> 0");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,22 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241007094051 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
enableSaveToRest("ganag");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,23 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241007121240 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("W_CBILANCIO_CONTRAP_DISP", "SETUP", "STAMPA_PROVVISIORIA", "S",
"Se impostato a S vuol dire che se anno del bilancio è uguale ad anno attuale oppure maggiore di anno magazzino sulla stampa il titolo riporterà ''BILANCIO PROVVISORIO''", false, null, false, false,
false, false, false, null, false, null);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,67 @@
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_20241007142159 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("IMPORT_DOCUMENTI", "PAZIENZA_RIFORD", "ATTIVO", "N",
"Inserire S/N per attivare/disattivare il tipo di importazione", false, null, false, false,
false, false, false, null, false, null);
createSetup("IMPORT_DOCUMENTI", "PAZIENZA_RIFORD", "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_DOCUMENTI", "PAZIENZA_RIFORD", "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_DOCUMENTI", "PAZIENZA_RIFORD", "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_DOCUMENTI", "PAZIENZA_RIFORD", "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_DOCUMENTI", "PAZIENZA_RIFORD", "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_DOCUMENTI", "PAZIENZA_RIFORD", "PATH_FILE", null,
"Directory contente i file da importare.", false, null, false, false,
false, false, false, null, false, null);
createSetup("IMPORT_DOCUMENTI", "PAZIENZA_RIFORD", "PATH_FILE_IMPORTED", null,
"Directory dove vengono spostati i file dopo l'importazione.", false, null, false, false,
false, false, false, null, false, null);
createSetup("IMPORT_DOCUMENTI", "PAZIENZA_RIFORD", "TIPO_DOCUMENTO", null,
"Tipi documento su cui assegnare i riferimenti.", false, null, false, false,
false, false, false, null, false, null);
createSetup("IMPORT_DOCUMENTI", "PAZIENZA_RIFORD", "PARTITA_IVA", null,
"Partita Iva del fornitore.", false, null, false, false,
false, false, false, null, false, null);
createSetup("IMPORT_DOCUMENTI", "PAZIENZA_RIFORD", "USE_PART_IVA_AZIENDA", "S",
"Usa partita iva per riconoscere l'azienda.", false, "SI_NO", false, false,
false, false, false, null, false, null);
createSetup("IMPORT_DOCUMENTI", "APULIA_RIFORD", "USE_PART_IVA_AZIENDA", "N",
"Usa partita iva per riconoscere l'azienda.", false, "SI_NO", false, false,
false, false, false, null, false, null);
if (!isCustomerDb(IntegryCustomerDB.Carelli_Carelli)) return;
updateSetupValue("IMPORT_DOCUMENTI", "PAZIENZA_RIFORD", "TIPO_DOCUMENTO", "BA|BA1|FTIA|FRCDF|FAD" );
updateSetupValue("IMPORT_DOCUMENTI", "PAZIENZA_RIFORD", "ATTIVO", "S" );
updateSetupValue("IMPORT_DOCUMENTI", "PAZIENZA_RIFORD", "LISTENING", "S" );
updateSetupValue("IMPORT_DOCUMENTI", "PAZIENZA_RIFORD", "PARTITA_IVA", "07716650721" );
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,43 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241007155146 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createOrUpdateView("mvw_colli_contatore_lavorazione","CREATE VIEW [dbo].[mvw_colli_contatore_lavorazione] AS\n" +
"WITH colli AS (SELECT DISTINCT mtb_colt.gestione,\n" +
" mtb_colt.data_collo,\n" +
" mtb_colt.num_collo,\n" +
" mtb_colt.ser_collo,\n" +
" mtb_colr.data_ord,\n" +
" mtb_colr.num_ord,\n" +
" mtb_colr.partita_mag,\n" +
" mtb_colt.flag_stampato\n" +
" FROM mtb_colt\n" +
" INNER JOIN mtb_colr ON mtb_colt.gestione = mtb_colr.gestione AND\n" +
" mtb_colt.data_collo = mtb_colr.data_collo AND\n" +
" mtb_colt.ser_collo = mtb_colr.ser_collo AND\n" +
" mtb_colt.num_collo = mtb_colr.num_collo\n" +
" WHERE mtb_colt.gestione = 'L'\n" +
" AND mtb_colt.segno = 1\n" +
" AND mtb_colr.data_ord IS NOT NULL)\n" +
"SELECT *,\n" +
" DENSE_RANK() OVER (PARTITION BY data_ord, num_ord,partita_mag ORDER BY data_collo, ser_collo, num_collo) AS prog_collo,\n" +
" COUNT(*) OVER (PARTITION BY data_ord, num_ord,partita_mag ) AS tot_colli\n" +
"FROM colli\n" +
"GO\n" +
"\n");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,153 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241008115753 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createOrUpdateView("gvw_situaz_ordini", "CREATE VIEW [dbo].[gvw_situaz_ordini] AS SELECT\n" +
" '1' AS sezione,\n" +
" dtb_ordt.gestione,\n" +
" dtb_ordt.data_ord,\n" +
" dtb_ordt.num_ord,\n" +
" dtb_ordt.rif_ord,\n" +
" dtb_ordt.persona_rif,\n" +
" dtb_ordr.riga_ord,\n" +
" 'ORDINE' AS cod_dtip,\n" +
" dtb_ordt.data_ord AS data_doc,\n" +
" CONVERT(varchar(1), NULL) AS ser_doc,\n" +
" dtb_ordt.num_ord AS num_doc,\n" +
" dtb_ordr.partita_mag,\n" +
" dtb_ordt.cod_anag,\n" +
" dtb_ordr.cod_mart,\n" +
" dtb_ordr.cod_mart AS cod_mart_ord,\n" +
" dtb_ordr.descrizione,\n" +
" dtb_ordr.data_cons,\n" +
" dtb_ordr.unt_ord,\n" +
" dtb_ordr.cod_col,\n" +
" dtb_ordr.cod_tagl,\n" +
" dtb_ordr.qta_ord,\n" +
" dtb_ordr.qta_evasa,\n" +
" dtb_ordr.flag_evaso,\n" +
" dtb_ordr.val_unt * (1 - sconto1 / 100) * (1 - sconto2 / 100) * (1 - sconto3 / 100) * (1 - sconto4 / 100) * (1 - sconto5 / 100) * (1 - sconto6 / 100) * (1 - sconto7 / 100) * (1 - sconto8 / 100) AS val_unt,\n" +
" CAST(CASE\n" +
" WHEN dtb_ordt.listino IS NOT NULL THEN\n" +
" dbo.f_calcprznettoacq(\n" +
" dtb_ordt.listino\n" +
" , dbo.getGestSetup('w_aordi_rc','SETUP','FORMULA_PREZZO_NETTO')\n" +
" , dtb_ordr.sconto5\n" +
" , dtb_ordr.sconto6\n" +
" , dtb_ordr.sconto7\n" +
" , dtb_ordr.sconto8\n" +
" , 0\n" +
" , 0\n" +
" , 0\n" +
" , 0\n" +
" , dtb_ordr.perc_promo\n" +
" , dtb_ordr.val_promo\n" +
" , dtb_ordr.perc_oneri\n" +
" , dtb_ordr.val_oneri\n" +
" , dtb_ordr.val_unt)\n" +
" ELSE 0 END AS NUMERIC(20, 5)) AS prezzo_netto_premi,\n" +
" dtb_ordt.cod_divi,\n" +
" gtb_divi.formato,\n" +
" mtb_aart.peso_kg,\n" +
" CONVERT(DATETIME, NULL) AS data_reg,\n" +
" CONVERT(varchar(40), NULL) AS desc_col,\n" +
" dtb_ordt.compilato_da,\n" +
" dtb_ordt.controllato_da,\n" +
" dtb_ordt.cod_jfas,\n" +
" dtb_ordt.flag_evaso_prod,\n" +
" dtb_ordt.qta_prod,\n" +
" dtb_ordt.cod_mdep,\n" +
" dtb_ordt.gestione_rif,\n" +
" dtb_ordt.cod_vdes\n" +
"FROM\n" +
" dtb_ordr\n" +
" INNER JOIN dtb_ordt 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" +
" LEFT OUTER JOIN mtb_aart ON dtb_ordr.cod_mart = mtb_aart.cod_mart,\n" +
" gtb_divi\n" +
"WHERE\n" +
" (dtb_ordt.cod_divi = gtb_divi.cod_divi)\n" +
" AND (dtb_ordt.flag_annulla = 'N')\n" +
" AND (dtb_ordr.flag_evaso <> 'A')\n" +
"UNION ALL\n" +
"SELECT\n" +
" '2',\n" +
" dtb_doct.gestione,\n" +
" dtb_docr.data_ord,\n" +
" dtb_docr.num_ord,\n" +
" CONVERT(varchar(40), NULL),\n" +
" CONVERT(varchar(40), NULL),\n" +
" dtb_docr.riga_ord,\n" +
" dtb_docr.cod_dtip,\n" +
" dtb_docr.data_doc,\n" +
" dtb_docr.ser_doc,\n" +
" dtb_docr.num_doc,\n" +
" dtb_docr.partita_mag,\n" +
" dtb_doct.cod_anag,\n" +
" dtb_docr.cod_mart,\n" +
" dtb_ordr.cod_mart AS cod_mart_ord,\n" +
" dtb_docr.descrizione,\n" +
" dtb_ordr.data_cons,\n" +
" dtb_docr.unt_doc,\n" +
" dtb_docr.cod_col,\n" +
" dtb_docr.cod_tagl,\n" +
" 0 AS qta_ord,\n" +
" dtb_docr.qta_doc,\n" +
" CONVERT(varchar(1), NULL),\n" +
" dtb_docr.val_unt * (1 - dtb_doct.sconto1 / 100) * (1 - dtb_doct.sconto2 / 100) * (1 - dtb_doct.sconto3 / 100) * (1 - dtb_doct.sconto4 / 100) * (1 - dtb_docr.sconto5 / 100) * (1 - dtb_docr.sconto6 / 100) * (1 - dtb_docr.sconto7 / 100) * (1 - dtb_docr.sconto8 / 100),\n" +
" 0,\n" +
" dtb_doct.cod_divi,\n" +
" gtb_divi.formato,\n" +
" mtb_aart.peso_kg,\n" +
" dtb_doct.data_reg,\n" +
" CONVERT(varchar(40), NULL) AS desc_col,\n" +
" dtb_ordt.compilato_da,\n" +
" dtb_ordt.controllato_da,\n" +
" dtb_ordt.cod_jfas,\n" +
" dtb_ordt.flag_evaso_prod,\n" +
" dtb_ordt.qta_prod,\n" +
" dtb_ordt.cod_mdep,\n" +
" dtb_ordt.gestione_rif,\n" +
" dtb_ordt.cod_vdes\n" +
"FROM\n" +
" dtb_docr\n" +
" INNER JOIN dtb_doct ON (dtb_doct.cod_anag = dtb_docr.cod_anag)\n" +
" AND (dtb_doct.cod_dtip = dtb_docr.cod_dtip)\n" +
" AND (dtb_doct.data_doc = dtb_docr.data_doc)\n" +
" AND (dtb_doct.ser_doc = dtb_docr.ser_doc)\n" +
" AND (dtb_doct.num_doc = dtb_docr.num_doc)\n" +
" LEFT OUTER JOIN dtb_ordr ON dtb_ordr.data_ord = dtb_docr.data_ord\n" +
" AND dtb_ordr.num_ord = dtb_docr.num_ord\n" +
" AND dtb_ordr.riga_ord = dtb_docr.riga_ord\n" +
" LEFT OUTER JOIN mtb_aart ON dtb_docr.cod_mart = mtb_aart.cod_mart\n" +
" LEFT OUTER JOIN dtb_ordt ON dtb_ordr.gestione = dtb_ordt.gestione\n" +
" AND dtb_ordr.data_ord = dtb_ordt.data_ord\n" +
" AND dtb_ordr.num_ord = dtb_ordt.num_ord,\n" +
" gtb_divi,\n" +
" dtb_tipi\n" +
"WHERE\n" +
" (dtb_doct.cod_divi = gtb_divi.cod_divi)\n" +
" AND (dtb_doct.cod_dtip = dtb_tipi.cod_dtip)\n" +
" AND (\n" +
" dtb_tipi.segno_qta_car <> 0\n" +
" OR dtb_tipi.segno_qta_scar <> 0\n" +
" )\n" +
" AND (dtb_tipi.tipo_emissione = 'DIRETTA')");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,140 @@
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_20241008123321 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isCustomerDb(IntegryCustomerDB.Carelli_Winact)) return;
createOrUpdateFunction("steup_getInevasi", "CREATE FUNCTION [dbo].[steup_getInevasi]\n" +
"( \n" +
" @codMdep varchar(5), @codJfas varchar(5), @dataIspezione datetime\n" +
")\n" +
"RETURNS TABLE \n" +
"AS\n" +
"RETURN \n" +
"with ordini as (\n" +
"select dtb_ordr.cod_mart, gtb_anag.part_iva\n" +
"from gestfood.dbo.dtb_ordt inner join gestfood.dbo.dtb_ordr 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 gestfood.dbo.gtb_anag on dtb_ordt.cod_anag = gtb_anag.cod_anag \n" +
"where dtb_ordt.gestione = 'A' \n" +
"and dtb_ordt.flag_annulla = 'N'\n" +
"and dtb_ordt.cod_mdep = @codMdep\n" +
"and dtb_ordr.data_cons between DateAdd(day, -8, @dataIspezione) and DateAdd(day, -1, @dataIspezione)\n" +
"and dtb_ordr.flag_evaso = 'I'\n" +
"union\n" +
"select dtb_ordr.cod_mart, gtb_anag.part_iva\n" +
"from carelli.dbo.dtb_ordt inner join carelli.dbo.dtb_ordr 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 carelli.dbo.gtb_anag on dtb_ordt.cod_anag = gtb_anag.cod_anag \n" +
"where dtb_ordt.gestione = 'A' \n" +
"and dtb_ordt.flag_annulla = 'N'\n" +
"and dtb_ordt.cod_mdep = @codMdep\n" +
"and dtb_ordr.data_cons between DateAdd(day, -8, @dataIspezione) and DateAdd(day, -1, @dataIspezione)\n" +
"and dtb_ordr.flag_evaso = 'I'\n" +
"union\n" +
"select dtb_ordr.cod_mart, gtb_anag.part_iva\n" +
"from panimal.dbo.dtb_ordt inner join panimal.dbo.dtb_ordr 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 panimal.dbo.gtb_anag on dtb_ordt.cod_anag = gtb_anag.cod_anag \n" +
"where dtb_ordt.gestione = 'A' \n" +
"and dtb_ordt.flag_annulla = 'N'\n" +
"and dtb_ordt.cod_mdep = @codMdep\n" +
"and dtb_ordr.data_cons between DateAdd(day, -8, @dataIspezione) and DateAdd(day, -1, @dataIspezione)\n" +
"and dtb_ordr.flag_evaso = 'I' )\n" +
"\n" +
"select art.cod_mart_griglia as cod_mart\n" +
"from ordini \n" +
"inner join (SELECT mtb_comp.cod_mart, cod_comp as cod_mart_griglia from carelli.dbo.mtb_comp inner join carelli.dbo.mtb_aart on mtb_comp.cod_mart = mtb_aart.cod_mart and mtb_aart.articolo_composto = 's'\n" +
"union all \n" +
"SELECT cod_comp as cod_mart, mtb_comp.cod_mart as cod_mart_griglia from carelli.dbo.mtb_comp inner join carelli.dbo.mtb_aart on mtb_comp.cod_mart = mtb_aart.cod_mart and mtb_aart.articolo_composto = 's'\n" +
"union all \n" +
"SELECt cod_mart, cod_mart as cod_mart_griglia from carelli.dbo.mtb_aart where articolo_composto = 'N'\n" +
" ) art on ordini.cod_mart = art.cod_mart\n" +
"inner join mtb_aart on ordini.cod_mart = mtb_aart.cod_mart\n" +
"inner join jrl_fasi_mtb_grup on jrl_fasi_mtb_grup.cod_mgrp = mtb_aart.cod_mgrp\n" +
"where jrl_fasi_mtb_grup.cod_jfas = @codJfas AND\n" +
"part_iva in (select value_string from dbo.ParseStringIntoArray((select dbo.getGestSetup('PVM', 'RILEVAZIONI_STEUP', 'ELENCO_FORN_INEVASI')), '|'))");
createOrUpdateFunction("steup_getAssortimento", "CREATE FUNCTION [dbo].[steup_getAssortimento]\n" +
" (\n" +
" @codmdep VARCHAR(5), @codjfas VARCHAR(5), @dataIspezione datetime\n" +
" )\n" +
" RETURNS TABLE\n" +
" AS\n" +
" RETURN(\n" +
" /*\n" +
" declare @codMdep varchar(5), @codJfas varchar(5)\n" +
"\n" +
" set @codMdep = '01'\n" +
" set @codJfas = '09';\n" +
"\n" +
" */\n" +
"\n" +
"\n" +
" WITH tipiart AS (SELECT value_string AS cod_mtip\n" +
" FROM dbo.parsestringintoarray((SELECT value\n" +
" FROM stb_gest_setup\n" +
" WHERE gest_name = 'PVM'\n" +
" AND section = 'RILEVAZIONI_STEUP'\n" +
" AND key_section = 'EXCLUDE_COD_MTIP'), '|') t)\n" +
" , art AS (SELECT DISTINCT griglia.cod_mart\n" +
" FROM carelli.dbo.getgrigliaacquisto(@dataIspezione, NULL, @codmdep, NULL, NULL) griglia\n" +
" INNER JOIN carelli.dbo.mtb_depo ON griglia.cod_mdep = mtb_depo.cod_mdep\n" +
" INNER JOIN carelli.dbo.getlistinovendita(NULL, NULL, NULL) AS lisv\n" +
" ON mtb_depo.cod_vlis = lisv.cod_vlis AND griglia.cod_mart = lisv.cod_mart\n" +
" WHERE griglia.tipo_variazione <> 'D'\n" +
" UNION\n" +
" SELECT DISTINCT cod_mart\n" +
" FROM mtb_depo\n" +
" INNER JOIN carelli.dbo.getpromozionevendita(@dataIspezione, @dataIspezione, NULL, NULL, NULL) promo\n" +
" ON promo.cod_vlis = mtb_depo.cod_vlis\n" +
" WHERE tipo_variazione <> 'D'\n" +
" AND mtb_depo.cod_mdep = @codmdep)\n" +
"\n" +
"\n" +
" SELECT DISTINCT mtb_aart.cod_mart,\n" +
" mtb_aart.descrizione,\n" +
" mtb_aart.bar_code,\n" +
" mtb_aart.cod_msgr,\n" +
" mtb_aart.plu,\n" +
" art_det.cod_mart_griglia AS cod_madre\n" +
" FROM mtb_aart\n" +
" INNER JOIN jrl_fasi_mtb_grup ON\n" +
" mtb_aart.cod_mgrp = jrl_fasi_mtb_grup.cod_mgrp\n" +
" INNER JOIN (SELECT mtb_comp.cod_mart, cod_comp AS cod_mart_griglia\n" +
" FROM carelli.dbo.mtb_comp\n" +
" INNER JOIN carelli.dbo.mtb_aart ON mtb_comp.cod_mart = mtb_aart.cod_mart AND\n" +
" mtb_aart.articolo_composto = 's'\n" +
" UNION ALL\n" +
" SELECT cod_comp AS cod_mart, mtb_comp.cod_mart AS cod_mart_griglia\n" +
" FROM carelli.dbo.mtb_comp\n" +
" INNER JOIN carelli.dbo.mtb_aart ON mtb_comp.cod_mart = mtb_aart.cod_mart AND\n" +
" mtb_aart.articolo_composto = 's'\n" +
" UNION ALL\n" +
" SELECT cod_mart, cod_mart AS cod_mart_griglia\n" +
" FROM carelli.dbo.mtb_aart\n" +
" WHERE articolo_composto = 'N') AS art_det\n" +
" ON mtb_aart.cod_mart = art_det.cod_mart\n" +
" INNER JOIN art ON art_det.cod_mart_griglia = art.cod_mart\n" +
" WHERE jrl_fasi_mtb_grup.cod_jfas = @codjfas\n" +
" AND flag_stato = 'A'\n" +
" AND (mtb_aart.cod_mtip IS NULL OR mtb_aart.cod_mtip NOT IN (SELECT cod_mtip FROM tipiart)))");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,75 @@
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_20241008151703 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isCustomerDb(IntegryCustomerDB.Carelli_Winact)) return;
createOrUpdateFunction("steup_getInevasi", "CREATE FUNCTION [dbo].[steup_getInevasi]\n" +
"( \n" +
" @codMdep varchar(5), @codJfas varchar(5), @dataIspezione datetime\n" +
")\n" +
"RETURNS TABLE \n" +
"AS\n" +
"RETURN \n" +
"with ordini as (\n" +
"select dtb_ordr.cod_mart, gtb_anag.part_iva\n" +
"from gestfood.dbo.dtb_ordt inner join gestfood.dbo.dtb_ordr 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 gestfood.dbo.gtb_anag on dtb_ordt.cod_anag = gtb_anag.cod_anag \n" +
"where dtb_ordt.gestione = 'A' \n" +
"and dtb_ordt.flag_annulla = 'N'\n" +
"and dtb_ordt.cod_mdep = @codMdep\n" +
"and dtb_ordr.data_cons between DateAdd(day, -8, @dataIspezione) and DateAdd(day, -1, @dataIspezione)\n" +
"and dtb_ordr.flag_evaso = 'I'\n" +
"union\n" +
"select dtb_ordr.cod_mart, gtb_anag.part_iva\n" +
"from carelli.dbo.dtb_ordt inner join carelli.dbo.dtb_ordr 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 carelli.dbo.gtb_anag on dtb_ordt.cod_anag = gtb_anag.cod_anag \n" +
"where dtb_ordt.gestione = 'A' \n" +
"and dtb_ordt.flag_annulla = 'N'\n" +
"and dtb_ordt.cod_mdep = @codMdep\n" +
"and dtb_ordr.data_cons between DateAdd(day, -8, @dataIspezione) and DateAdd(day, -1, @dataIspezione)\n" +
"and dtb_ordr.flag_evaso = 'I'\n" +
"union\n" +
"select dtb_ordr.cod_mart, gtb_anag.part_iva\n" +
"from panimal.dbo.dtb_ordt inner join panimal.dbo.dtb_ordr 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 panimal.dbo.gtb_anag on dtb_ordt.cod_anag = gtb_anag.cod_anag \n" +
"where dtb_ordt.gestione = 'A' \n" +
"and dtb_ordt.flag_annulla = 'N'\n" +
"and dtb_ordt.cod_mdep = @codMdep\n" +
"and dtb_ordr.data_cons between DateAdd(day, -8, @dataIspezione) and DateAdd(day, -1, @dataIspezione)\n" +
"and dtb_ordr.flag_evaso = 'I' )\n" +
"\n" +
"select art.cod_mart_griglia as cod_mart\n" +
"from ordini \n" +
"inner join (SELECT mtb_comp.cod_mart, cod_comp as cod_mart_griglia from carelli.dbo.mtb_comp inner join carelli.dbo.mtb_aart on mtb_comp.cod_mart = mtb_aart.cod_mart and mtb_aart.articolo_composto = 's'\n" +
"union all \n" +
"SELECT cod_comp as cod_mart, mtb_comp.cod_mart as cod_mart_griglia from carelli.dbo.mtb_comp inner join carelli.dbo.mtb_aart on mtb_comp.cod_mart = mtb_aart.cod_mart and mtb_aart.articolo_composto = 's'\n" +
"union all \n" +
"SELECt cod_mart, cod_mart as cod_mart_griglia from carelli.dbo.mtb_aart where articolo_composto = 'N'\n" +
" ) art on ordini.cod_mart = art.cod_mart\n" +
"inner join mtb_aart on ordini.cod_mart = mtb_aart.cod_mart\n" +
"inner join jrl_fasi_mtb_grup on jrl_fasi_mtb_grup.cod_mgrp = mtb_aart.cod_mgrp\n" +
"where jrl_fasi_mtb_grup.cod_jfas = @codJfas AND\n" +
"part_iva in (select value_string from dbo.ParseStringIntoArray((select dbo.getGestSetup('PVM', 'RILEVAZIONI_STEUP', 'ELENCO_FORN_INEVASI')), '|'))");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,86 @@
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_20241008151727 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isCustomerDb(IntegryCustomerDB.Carelli_Winact)) return;
createOrUpdateFunction("steup_getAssortimento", "CREATE FUNCTION [dbo].[steup_getAssortimento]\n" +
" (\n" +
" @codmdep VARCHAR(5), @codjfas VARCHAR(5), @dataIspezione datetime\n" +
" )\n" +
" RETURNS TABLE\n" +
" AS\n" +
" RETURN(\n" +
" /*\n" +
" declare @codMdep varchar(5), @codJfas varchar(5)\n" +
"\n" +
" set @codMdep = '01'\n" +
" set @codJfas = '09';\n" +
"\n" +
" */\n" +
"\n" +
"\n" +
" WITH tipiart AS (SELECT value_string AS cod_mtip\n" +
" FROM dbo.parsestringintoarray((SELECT value\n" +
" FROM stb_gest_setup\n" +
" WHERE gest_name = 'PVM'\n" +
" AND section = 'RILEVAZIONI_STEUP'\n" +
" AND key_section = 'EXCLUDE_COD_MTIP'), '|') t)\n" +
" , art AS (SELECT DISTINCT griglia.cod_mart\n" +
" FROM carelli.dbo.getgrigliaacquisto(@dataIspezione, NULL, @codmdep, NULL, NULL) griglia\n" +
" INNER JOIN carelli.dbo.mtb_depo ON griglia.cod_mdep = mtb_depo.cod_mdep\n" +
" INNER JOIN carelli.dbo.getlistinovendita(NULL, NULL, NULL) AS lisv\n" +
" ON mtb_depo.cod_vlis = lisv.cod_vlis AND griglia.cod_mart = lisv.cod_mart\n" +
" WHERE griglia.tipo_variazione <> 'D'\n" +
" UNION\n" +
" SELECT DISTINCT cod_mart\n" +
" FROM mtb_depo\n" +
" INNER JOIN carelli.dbo.getpromozionevendita(@dataIspezione, @dataIspezione, NULL, NULL, NULL) promo\n" +
" ON promo.cod_vlis = mtb_depo.cod_vlis\n" +
" WHERE tipo_variazione <> 'D'\n" +
" AND mtb_depo.cod_mdep = @codmdep)\n" +
"\n" +
"\n" +
" SELECT DISTINCT mtb_aart.cod_mart,\n" +
" mtb_aart.descrizione,\n" +
" mtb_aart.bar_code,\n" +
" mtb_aart.cod_msgr,\n" +
" mtb_aart.plu,\n" +
" art_det.cod_mart_griglia AS cod_madre\n" +
" FROM mtb_aart\n" +
" INNER JOIN jrl_fasi_mtb_grup ON\n" +
" mtb_aart.cod_mgrp = jrl_fasi_mtb_grup.cod_mgrp\n" +
" INNER JOIN (SELECT mtb_comp.cod_mart, cod_comp AS cod_mart_griglia\n" +
" FROM carelli.dbo.mtb_comp\n" +
" INNER JOIN carelli.dbo.mtb_aart ON mtb_comp.cod_mart = mtb_aart.cod_mart AND\n" +
" mtb_aart.articolo_composto = 's'\n" +
" UNION ALL\n" +
" SELECT cod_comp AS cod_mart, mtb_comp.cod_mart AS cod_mart_griglia\n" +
" FROM carelli.dbo.mtb_comp\n" +
" INNER JOIN carelli.dbo.mtb_aart ON mtb_comp.cod_mart = mtb_aart.cod_mart AND\n" +
" mtb_aart.articolo_composto = 's'\n" +
" UNION ALL\n" +
" SELECT cod_mart, cod_mart AS cod_mart_griglia\n" +
" FROM carelli.dbo.mtb_aart\n" +
" WHERE articolo_composto = 'N') AS art_det\n" +
" ON mtb_aart.cod_mart = art_det.cod_mart\n" +
" INNER JOIN art ON art_det.cod_mart_griglia = art.cod_mart \n" +
" WHERE jrl_fasi_mtb_grup.cod_jfas = @codjfas\n" +
" AND flag_stato = 'A'\n" +
" AND (mtb_aart.cod_mtip IS NULL OR mtb_aart.cod_mtip NOT IN (SELECT cod_mtip FROM tipiart)))");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,81 @@
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_20241008153106 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isCustomerDb(IntegryCustomerDB.Carelli_Winact)) return;
createOrUpdateFunction("[steup_getInevasi]", "CREATE FUNCTION [dbo].[steup_getInevasi]\n" +
"( \n" +
" @codMdep varchar(5), @codJfas varchar(5), @dataIspezione datetime\n" +
")\n" +
"RETURNS TABLE \n" +
"AS\n" +
"RETURN \n" +
"with ordini as (\n" +
"select dtb_ordr.cod_mart, gtb_anag.part_iva\n" +
"from gestfood.dbo.dtb_ordt inner join gestfood.dbo.dtb_ordr 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 gestfood.dbo.gtb_anag on dtb_ordt.cod_anag = gtb_anag.cod_anag \n" +
"inner join gestfood.dbo.atb_list on dtb_ordt.listino = atb_list.cod_alis and atb_list.part_iva_forn is null\n" +
"where dtb_ordt.gestione = 'A' \n" +
"and dtb_ordt.flag_annulla = 'N'\n" +
"and dtb_ordt.cod_mdep = @codMdep\n" +
"and dtb_ordr.data_cons between DateAdd(day, -8, @dataIspezione) and DateAdd(day, -1, @dataIspezione)\n" +
"and dtb_ordr.flag_evaso = 'I'\n" +
"union\n" +
"select dtb_ordr.cod_mart, gtb_anag.part_iva\n" +
"from carelli.dbo.dtb_ordt inner join carelli.dbo.dtb_ordr 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 carelli.dbo.gtb_anag on dtb_ordt.cod_anag = gtb_anag.cod_anag \n" +
"inner join carelli.dbo.atb_list on dtb_ordt.listino = atb_list.cod_alis and atb_list.part_iva_forn is null\n" +
"where dtb_ordt.gestione = 'A' \n" +
"and dtb_ordt.flag_annulla = 'N'\n" +
"and dtb_ordt.cod_mdep = @codMdep\n" +
"and dtb_ordr.data_cons between DateAdd(day, -8, @dataIspezione) and DateAdd(day, -1, @dataIspezione)\n" +
"and dtb_ordr.flag_evaso = 'I'\n" +
"union\n" +
"select dtb_ordr.cod_mart, gtb_anag.part_iva\n" +
"from panimal.dbo.dtb_ordt inner join panimal.dbo.dtb_ordr 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 panimal.dbo.gtb_anag on dtb_ordt.cod_anag = gtb_anag.cod_anag \n" +
"inner join panimal.dbo.atb_list on dtb_ordt.listino = atb_list.cod_alis and atb_list.part_iva_forn is null\n" +
"where dtb_ordt.gestione = 'A' \n" +
"and dtb_ordt.flag_annulla = 'N'\n" +
"and dtb_ordt.cod_mdep = @codMdep\n" +
"and dtb_ordr.data_cons between DateAdd(day, -8, @dataIspezione) and DateAdd(day, -1, @dataIspezione)\n" +
"and dtb_ordr.flag_evaso = 'I' )\n" +
"\n" +
"select art.cod_mart_griglia as cod_mart\n" +
"from ordini \n" +
"inner join (SELECT mtb_comp.cod_mart, cod_comp as cod_mart_griglia from carelli.dbo.mtb_comp inner join carelli.dbo.mtb_aart on mtb_comp.cod_mart = mtb_aart.cod_mart and mtb_aart.articolo_composto = 's'\n" +
"union all \n" +
"SELECT cod_comp as cod_mart, mtb_comp.cod_mart as cod_mart_griglia from carelli.dbo.mtb_comp inner join carelli.dbo.mtb_aart on mtb_comp.cod_mart = mtb_aart.cod_mart and mtb_aart.articolo_composto = 's'\n" +
"union all \n" +
"SELECt cod_mart, cod_mart as cod_mart_griglia from carelli.dbo.mtb_aart where articolo_composto = 'N'\n" +
" ) art on ordini.cod_mart = art.cod_mart\n" +
"inner join mtb_aart on ordini.cod_mart = mtb_aart.cod_mart\n" +
"inner join jrl_fasi_mtb_grup on jrl_fasi_mtb_grup.cod_mgrp = mtb_aart.cod_mgrp\n" +
"where jrl_fasi_mtb_grup.cod_jfas = @codJfas AND\n" +
"part_iva in (select value_string from dbo.ParseStringIntoArray((select dbo.getGestSetup('PVM', 'RILEVAZIONI_STEUP', 'ELENCO_FORN_INEVASI')), '|'))");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,379 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241009122649 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createOrUpdateTrigger("t_UpdProgMagaInsT", "CREATE TRIGGER [dbo].[t_UpdProgMagaInsT]\n" +
" ON [dbo].[dtb_ordt]\n" +
" FOR INSERT\n" +
" AS\n" +
" DECLARE\n" +
" @ls_codMart VARCHAR(15),\n" +
" @ls_codComp VARCHAR(15),\n" +
" @ls_buffer VARCHAR(15),\n" +
" @ls_codTagl VARCHAR(15),\n" +
" @ls_codMdep VARCHAR(5),\n" +
" @ls_codCol VARCHAR(5),\n" +
" @ls_partitaMag VARCHAR(20),\n" +
" @ls_annotazioni VARCHAR(255),\n" +
" @ls_concatena VARCHAR(50),\n" +
" @ls_flagEvaso VARCHAR(1),\n" +
" @ls_flagAnnulla VARCHAR(1),\n" +
" @ls_gestione VARCHAR(1),\n" +
" @ls_articoloComposto VARCHAR(1),\n" +
" @ls_codProd VARCHAR(15),\n" +
" @ls_flagEvasoProd VARCHAR(1),\n" +
" @ls_codJcom VARCHAR(10),\n" +
" @ls_gestioneRif VARCHAR(1),\n" +
" @ls_descrizioneProd VARCHAR(40),\n" +
" @ls_descrEstesaProd VARCHAR(255),\n" +
" @ls_untMisProd VARCHAR(3),\n" +
" @ls_flagEvasoForzato VARCHAR(1),\n" +
" @ls_codAliq VARCHAR(5),\n" +
" @lc_qtaConf DECIMAL(15, 5),\n" +
" @lc_qtaAcc DECIMAL(15, 5),\n" +
" @lc_qtaCol DECIMAL(15, 5),\n" +
" @lc_qtaOrd DECIMAL(15, 5),\n" +
" @lc_qtaEvasa DECIMAL(15, 5),\n" +
" @lc_qtaAccComp DECIMAL(15, 5),\n" +
" @lc_qtaColComp DECIMAL(15, 5),\n" +
" @lc_qtaOrdComp DECIMAL(15, 5),\n" +
" @lc_qtaEvasaComp DECIMAL(15, 5),\n" +
" @lc_rapConv DECIMAL(15, 5),\n" +
" @lc_qtaOrdFor DECIMAL(15, 5),\n" +
" @lc_qtaImpLav DECIMAL(15, 5),\n" +
" @lc_qtaImpCli DECIMAL(15, 5),\n" +
" @lc_qtaStd DECIMAL(15, 5),\n" +
" @lc_percPrezzo DECIMAL(15, 3),\n" +
" @lc_sconto1 DECIMAL(15, 5),\n" +
" @lc_sconto2 DECIMAL(15, 5),\n" +
" @lc_sconto3 DECIMAL(15, 5),\n" +
" @lc_sconto4 DECIMAL(15, 5),\n" +
" @lc_totImponib DECIMAL(20, 5),\n" +
" @lc_qtaProd DECIMAL(15, 5),\n" +
" @lc_qtaEvasaProd DECIMAL(15, 5),\n" +
" @lc_valUnt DECIMAL(20, 5),\n" +
" @lc_cambioOrdAcq DECIMAL(20, 5),\n" +
" @lc_cambio DECIMAL(20, 5),\n" +
" @lc_rapConvProd DECIMAL(15, 5),\n" +
" @ll_numOrd INTEGER,\n" +
" @ll_rigaOrd INTEGER,\n" +
" @ll_rigaOrdRif INTEGER,\n" +
" @ll_numOrdRif INTEGER,\n" +
" @ll_cifreDecAcq INTEGER,\n" +
" @ldt_dataOrdRif DATETIME,\n" +
" @ldt_dataConsProd DATETIME,\n" +
" @ldt_dataOrd DATETIME,\n" +
" @ll_numFase INTEGER,\n" +
" @ll_totFasi INTEGER,\n" +
" @ls_codTcolUl VARCHAR(5),\n" +
" @lc_colliPedana DECIMAL(20, 5),\n" +
" @ls_errorMsg VARCHAR(255),\n" +
" @ls_codTcolUi VARCHAR(5),\n" +
" @li_posRiga INTEGER,\n" +
" @numCnf NUMERIC(20, 5),\n" +
" @flagQtaCnfFissa VARCHAR(1),\n" +
" @qtaOrd2 NUMERIC(20, 5),\n" +
" @qtaOrd3 NUMERIC(20, 5),\n" +
" @rapconv2 NUMERIC(20, 5),\n" +
" @rapconv3 NUMERIC(20, 5),\n" +
" @untOrd2 VARCHAR(3),\n" +
" @untOrd3 VARCHAR(3),\n" +
" @untOrd VARCHAR(3),\n" +
" @insertOrdProd bit\n" +
"\n" +
" /* Necessaria per connessione OLEDB */\n" +
" SET NOCOUNT ON\n" +
"\n" +
" select @insertOrdProd = CAST(IIF(dbo.getGestSetupWithDefault('DTB_ORDT','SETUP','DISABLE_TRIGGER_ORDL', 'N')='N',1,0) AS bit) \n" +
"\n" +
"/* Inserimento riga ordine di produzione */\n" +
" DECLARE\n" +
" csr_ordt_insert CURSOR FOR\n" +
" SELECT inserted.gestione,\n" +
" inserted.data_ord,\n" +
" inserted.num_ord,\n" +
" inserted.riga_ord_rif,\n" +
" inserted.cod_prod,\n" +
" dtb_ordt.flag_evaso_prod, /* legge il valore corretto di flag_evaso_prod*/\n" +
" inserted.flag_annulla,\n" +
" inserted.sconto1,\n" +
" inserted.sconto2,\n" +
" inserted.sconto3,\n" +
" inserted.sconto4,\n" +
" inserted.tot_imponib - inserted.tot_merce,\n" +
" inserted.qta_prod,\n" +
" inserted.cod_jcom,\n" +
" inserted.gestione_rif,\n" +
" inserted.data_ord_rif,\n" +
" inserted.num_ord_rif,\n" +
" inserted.qta_evasa_prod,\n" +
" inserted.rap_conv_prod,\n" +
" inserted.data_cons_prod,\n" +
" inserted.descrizione_prod,\n" +
" inserted.descr_estesa_prod,\n" +
" inserted.unt_mis_prod,\n" +
" inserted.flag_evaso_forzato,\n" +
" gtb_divi.cambio,\n" +
" inserted.note,\n" +
" inserted.partita_mag,\n" +
" inserted.cod_mdep,\n" +
" inserted.num_fase,\n" +
" inserted.tot_fasi,\n" +
" inserted.colli_pedana,\n" +
" inserted.cod_tcol_ul,\n" +
" inserted.cod_tcol_ui,\n" +
" inserted.num_cnf_prod\n" +
" FROM inserted,\n" +
" gtb_divi,\n" +
" dtb_ordt\n" +
" WHERE inserted.cod_divi = gtb_divi.cod_divi\n" +
" AND (dtb_ordt.gestione = inserted.gestione)\n" +
" AND (dtb_ordt.data_ord = inserted.data_ord)\n" +
" AND (dtb_ordt.num_ord = inserted.num_ord)\n" +
" OPEN csr_ordt_insert\n" +
" FETCH NEXT FROM csr_ordt_insert INTO @ls_gestione, @ldt_dataOrd, @ll_numOrd, @ll_rigaOrdRif,@ls_codProd, @ls_flagEvasoProd,\n" +
" @ls_flagAnnulla, @lc_sconto1, @lc_sconto2, @lc_sconto3, @lc_sconto4, @lc_totImponib,\n" +
" @lc_qtaProd, @ls_codJcom, @ls_gestioneRif, @ldt_dataOrdRif, @ll_numOrdRif,\n" +
" @lc_qtaEvasaProd, @lc_rapConvProd, @ldt_dataconsProd, @ls_descrizioneProd,\n" +
" @ls_descrEstesaProd, @ls_untMisProd, @ls_flagEvasoForzato, @lc_cambio, @ls_annotazioni,\n" +
" @ls_partitaMag,@ls_codMdep, @ll_numFase, @ll_totFasi,@lc_colliPedana ,@ls_codTcolUl, @ls_codTcolui, @numCnf;\n" +
" WHILE @@FETCH_STATUS = 0 BEGIN\n" +
" /*\n" +
" */\n" +
" IF @ls_gestione = 'L' AND @ls_gestioneRif = 'A' AND @ll_rigaOrdRif IS NOT NULL AND @ll_numFase = @ll_totFasi and @insertOrdProd = 1\n" +
" BEGIN\n" +
" /* SELECT @ls_errorMsg = \"cod_mart = \" + @ls_codProd + \" GESTIONE = \" + @ls_gestione + \" DATA = \" + CONVERT(varchar, @ldt_dataOrd, 111) + \" NUM. = \" + CONVERT(varchar, @ll_numOrd) + \" COLLI_PED = \" +CONVERT(varchar,@lc_colliPedana) + \" TIPO_PED \" + @ls_codTcolUL\n" +
" RAISERROR (@ls_errorMsg, 16, 1)*/\n" +
"\n" +
" SELECT @ls_codAliq = cod_aliq,\n" +
" @lc_qtaConf = qta_cnf / @lc_rapConvProd ,\n" +
" @flagQtaCnfFissa = flag_qta_cnf_fissa,\n" +
" @untOrd = mtb_aart.unt_mis,\n" +
" @untOrd2 = mtb_aart.unt_mis2,\n" +
" @untOrd3 = mtb_aart.unt_mis3,\n" +
" @rapConv2 = mtb_aart.rap_conv2,\n" +
" @rapConv3 = mtb_aart.rap_conv3\n" +
" FROM mtb_aart\n" +
" WHERE cod_mart = @ls_codProd\n" +
"\n" +
" IF @ls_untMisProd = @untOrd\n" +
" BEGIN\n" +
" SELECT @untOrd2 = @untOrd2\n" +
" IF @untOrd2 IS NOT NULL AND @rapconv2 <> 0\n" +
" SELECT @qtaOrd2 = ROUND(@lc_qtaProd / @rapconv2, 5)\n" +
"\n" +
" SELECT @untOrd3 = @untOrd3\n" +
" IF @untOrd3 IS NOT NULL AND @rapconv3 <> 0\n" +
" SELECT @qtaOrd3 = ROUND(@lc_qtaProd / @rapconv3, 5)\n" +
" END\n" +
" ELSE\n" +
" IF @ls_untMisProd = @untOrd2\n" +
" BEGIN\n" +
" SELECT @untOrd2 = @untOrd\n" +
" SELECT @qtaOrd2 = ROUND(@lc_qtaProd * @lc_rapConvProd, 5)\n" +
"\n" +
" SELECT @untOrd3 = @untOrd3\n" +
" IF @untOrd3 IS NOT NULL AND @rapconv3 <> 0\n" +
" SELECT @qtaOrd3 = ROUND(@lc_qtaProd * @lc_rapConvProd / @rapconv3, 5)\n" +
" END\n" +
" ELSE\n" +
" IF @ls_untMisProd = @untOrd3\n" +
" BEGIN\n" +
" SELECT @untOrd3 = @untOrd\n" +
" SELECT @qtaOrd3 = ROUND(@lc_qtaProd * @lc_rapConvProd, 5)\n" +
"\n" +
" IF @untOrd2 IS NOT NULL AND @rapconv2 <> 0\n" +
" SELECT @qtaOrd2 = ROUND(@lc_qtaProd * @lc_rapConvProd / @rapconv2, 5)\n" +
" END\n" +
"\n" +
"\n" +
" SELECT @lc_cambioOrdAcq = gtb_divi.cambio,\n" +
" @ll_cifreDecAcq = gtb_divi.cifre_dec\n" +
" FROM dtb_ordt,\n" +
" gtb_divi\n" +
" WHERE dtb_ordt.cod_divi = gtb_divi.cod_divi\n" +
" AND dtb_ordt.gestione = @ls_gestioneRif\n" +
" AND dtb_ordt.data_ord = @ldt_dataOrdRif\n" +
" AND dtb_ordt.num_ord = @ll_numOrdRif\n" +
"\n" +
" /*SELECT @lc_valUnt = round(@lc_totImponib / @lc_qtaProd / @lc_cambio * @lc_cambioOrdAcq, @ll_cifreDecAcq)*/\n" +
" SELECT @lc_valUnt = @lc_totImponib / @lc_qtaProd / @lc_cambio * @lc_cambioOrdAcq\n" +
" IF @lc_valUnt IS NULL SELECT @lc_valUnt = 0\n" +
" IF @ls_flagAnnulla <> 'N' SELECT @ls_flagEvasoProd = 'A'\n" +
"\n" +
" SELECT @li_posRiga = ISNULL(MAX(pos_riga), 0) + 1\n" +
" FROM dtb_ordr\n" +
" WHERE dtb_ordr.gestione = @ls_gestioneRif\n" +
" AND dtb_ordr.data_ord = @ldt_dataOrdRif\n" +
" AND dtb_ordr.num_ord = @ll_numOrdRif\n" +
"\n" +
" IF @numCnf IS NULL\n" +
" BEGIN\n" +
" SELECT @numCnf = CASE\n" +
" WHEN @lc_qtaConf <> 0 THEN CASE\n" +
" WHEN @flagQtaCnfFissa = 'N'\n" +
" THEN ROUND(@lc_qtaProd / @lc_qtaConf, 0)\n" +
" ELSE ROUND(@lc_qtaProd / @lc_qtaConf, 5) END\n" +
" ELSE 0 END\n" +
" END\n" +
" --SELECT @numCnf = case when @lc_qtaConf <> 0 then round(@lc_qtaProd / @lc_qtaConf, 0, 1) else 0 end \n" +
"\n" +
" \n" +
"\n" +
" declare @numCnfEvasa numeric(20,5)\n" +
" \n" +
" SELECT @numCnfEvasa = CASE\n" +
" WHEN @lc_qtaConf <> 0 THEN CASE\n" +
" WHEN @flagQtaCnfFissa = 'N'\n" +
" THEN ROUND(@lc_qtaEvasaProd / @lc_qtaConf, 0)\n" +
" ELSE ROUND(@lc_qtaEvasaProd / @lc_qtaConf, 5) END\n" +
" ELSE 0 END\n" +
" \n" +
"\n" +
" INSERT INTO dtb_ordr (gestione,\n" +
" data_ord,\n" +
" num_ord,\n" +
" riga_ord,\n" +
" flag_evaso,\n" +
" data_cons,\n" +
" cod_mart,\n" +
" descrizione,\n" +
" unt_ord,\n" +
" rap_conv,\n" +
" qta_ord,\n" +
" unt_ord2,\n" +
" qta_ord2,\n" +
" unt_ord3,\n" +
" qta_ord3,\n" +
" qta_evasa,\n" +
" val_unt,\n" +
" sconto5,\n" +
" sconto6,\n" +
" sconto7,\n" +
" sconto8,\n" +
" cod_aliq,\n" +
" importo_riga,\n" +
" descrizione_estesa,\n" +
" cod_jcom,\n" +
" pos_riga,\n" +
" flag_evaso_forzato,\n" +
" perc_prov,\n" +
" val_prov,\n" +
" perc_ispe,\n" +
" val_ispe,\n" +
" perc_promo,\n" +
" val_promo,\n" +
" perc_oneri,\n" +
" val_oneri,\n" +
" qta_acc,\n" +
" qta_col,\n" +
" perc_gest,\n" +
" val_gest,\n" +
" qta_cnf,\n" +
" note,\n" +
" partita_mag,\n" +
" cod_mdep,\n" +
" colli_pedana,\n" +
" cod_tcol_ul,\n" +
" cod_tcol_ui,\n" +
" num_cnf,\n" +
" id_art,\n" +
" num_cnf_evasa)\n" +
" VALUES (@ls_gestioneRif,\n" +
" @ldt_dataOrdRif,\n" +
" @ll_numOrdRif,\n" +
" @ll_rigaOrdRif,\n" +
" @ls_flagEvasoProd,\n" +
" @ldt_dataConsProd,\n" +
" @ls_codProd,\n" +
" @ls_descrizioneProd,\n" +
" @ls_untMisProd,\n" +
" @lc_rapConvProd,\n" +
" @lc_qtaProd,\n" +
" @untOrd2,\n" +
" @qtaOrd2,\n" +
" @untOrd3,\n" +
" @qtaOrd3,\n" +
" @lc_qtaEvasaProd,\n" +
" @lc_valUnt,\n" +
" @lc_sconto1,\n" +
" @lc_sconto2,\n" +
" @lc_sconto3,\n" +
" @lc_sconto4,\n" +
" @ls_codAliq,\n" +
" @lc_totImponib,\n" +
" @ls_descrEstesaProd,\n" +
" @ls_codJcom,\n" +
" @li_posRiga,\n" +
" @ls_flagEvasoForzato,\n" +
" 0,\n" +
" 0,\n" +
" 0,\n" +
" 0,\n" +
" 0,\n" +
" 0,\n" +
" 0,\n" +
" 0,\n" +
" 0,\n" +
" 0,\n" +
" 0,\n" +
" 0,\n" +
" @lc_qtaConf,\n" +
" @ls_annotazioni,\n" +
" @ls_partitaMag,\n" +
" @ls_codMdep,\n" +
" @lc_colliPedana,\n" +
" @ls_codTcolUl,\n" +
" @ls_codTcolUi,\n" +
" @numCnf,\n" +
" @li_posRiga,\n" +
" @numCnfEvasa)\n" +
"\n" +
" IF @@ERROR <> 0 RETURN\n" +
" END\n" +
" FETCH NEXT FROM csr_ordt_insert INTO @ls_gestione, @ldt_dataOrd, @ll_numOrd, @ll_rigaOrdRif,@ls_codProd, @ls_flagEvasoProd,\n" +
" @ls_flagAnnulla, @lc_sconto1, @lc_sconto2, @lc_sconto3, @lc_sconto4, @lc_totImponib,\n" +
" @lc_qtaProd, @ls_codJcom, @ls_gestioneRif, @ldt_dataOrdRif, @ll_numOrdRif,\n" +
" @lc_qtaEvasaProd, @lc_rapConvProd, @ldt_dataconsProd, @ls_descrizioneProd,\n" +
" @ls_descrEstesaProd, @ls_untMisProd, @ls_flagEvasoForzato, @lc_cambio, @ls_annotazioni,\n" +
" @ls_partitaMag,@ls_codMdep, @ll_numFase, @ll_totFasi,@lc_colliPedana ,@ls_codTcolUl, @ls_codTcolUi, @numCnf;\n" +
" END\n" +
" CLOSE csr_ordt_insert\n" +
" DEALLOCATE csr_ordt_insert\n" +
"\n" +
"/* corregge il valore di flag_evaso_prod, in base alla regola:\n" +
" le righe non annullate, in cui la quantità evasa è >= dell'ordinato > 0,\n" +
" sono da considerare evase\n" +
" Nota: le righe in cui ci sono valori nulli sui campi qta_evasa_prod, \n" +
" qta_prod, flag_evaso_prod non sono prese in considerazione\n" +
"*/\n" +
" UPDATE dtb_ordt\n" +
" SET flag_evaso_prod = 'E'\n" +
" FROM dtb_ordt,\n" +
" inserted\n" +
" WHERE (dtb_ordt.gestione = inserted.gestione)\n" +
" AND (dtb_ordt.data_ord = inserted.data_ord)\n" +
" AND (dtb_ordt.num_ord = inserted.num_ord)\n" +
" AND (dtb_ordt.flag_evaso_prod <> 'A')\n" +
" AND (dtb_ordt.qta_evasa_prod >= dtb_ordt.qta_prod)\n" +
" AND (dtb_ordt.qta_evasa_prod > 0) ;\n" +
" IF @@ERROR <> 0 RETURN\n" +
"/* Necessaria per connessione OLEDB */\n" +
" SET NOCOUNT OFF");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,614 @@
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.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241010103639 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
String value = null;
if (isCustomerDb(IntegryCustomerDB.Smetar_Smetar)) {
value = "DDTContoLavorazione";
}
createSetup("PVM", "MONITORAGGIO_ORDINI", "REPORT_DOCUMENTI", value,
"Nome report per i documenti di scarico.", "REPORT_NAME");
if (isCustomer(IntegryCustomer.Gramm)) {
return;
}
createOrUpdateFunction("MES_GetWorkOrders",
"CREATE FUNCTION [dbo].[MES_GetWorkOrders](@codJfas VARCHAR(50), @dateStart DATE, @dateEnd DATE, @flagEvaso VARCHAR(1),\n" +
" @codAnag VARCHAR(5))\n" +
" RETURNS @val TABLE\n" +
" (\n" +
" [sort] [int] NULL,\n" +
" [cod_jcom] [varchar](10) NULL,\n" +
" [data_ord_prod] [datetime] NULL,\n" +
" [num_ord_prod] [int] NULL,\n" +
" [riga_ord_prod] [int] NULL,\n" +
" [flag_avviabile] [varchar](1) NULL,\n" +
" [flag_tracciabilita] [varchar](1) NULL,\n" +
" [unt_ord] [varchar](3) NULL,\n" +
" [rap_conv] [numeric](20, 10) NULL,\n" +
" [unt_ord2] [varchar](3) NULL,\n" +
" [rap_conv2] [numeric](20, 5) NULL,\n" +
" [unt_ord3] [varchar](3) NULL,\n" +
" [rap_conv3] [numeric](20, 5) NULL,\n" +
" [descrizione_prod] [varchar](255) NULL,\n" +
" [num_pezzi] [numeric](38, 6) NULL,\n" +
" [num_cnf] [numeric](20, 5) NULL,\n" +
" [gg_scad_partita] [int] NULL,\n" +
" [qta_cnf] [numeric](15, 5) NULL,\n" +
" [colli_pedana] [numeric](20, 5) NULL,\n" +
" [num_pedane] [numeric](38, 18) NULL,\n" +
" [pos_riga] [int] NULL,\n" +
" [flag_evaso_prod] [varchar](1) NULL,\n" +
" [flag_evaso_forzato] [varchar](1) NOT NULL,\n" +
" [flag_ordine_evaso] [varchar](1) NULL,\n" +
" [gestione] [varchar](1) NOT NULL,\n" +
" [data_ord] [datetime] NOT NULL,\n" +
" [cod_tcol_UL] [varchar](5) NULL,\n" +
" [descrizione_tcol] [varchar](40) NULL,\n" +
" [cod_anag] [varchar](5) NOT NULL,\n" +
" [rag_soc_anag] [varchar](40) NULL,\n" +
" [part_iva] [varchar](20) NULL,\n" +
" [rif_ord] [varchar](40) NULL,\n" +
" [cod_vdes] [varchar](5) NULL,\n" +
" [cod_mdep] [varchar](5) NOT NULL,\n" +
" [cod_mdep_prod] [varchar](5) NOT NULL,\n" +
" [num_ord] [int] NOT NULL,\n" +
" [cod_jfas] [varchar](5) NOT NULL,\n" +
" [cod_jfas_lav] [varchar](5) NOT NULL,\n" +
" [partita_mag] [varchar](20) NULL,\n" +
" [note_lav] [varchar](255) NULL,\n" +
" [data_scad] [datetime] NULL,\n" +
" [cod_prod] [varchar](15) NULL,\n" +
" [descrizione_commessa] [varchar](40) NULL,\n" +
" [data_iniz_prod] [datetime] NULL,\n" +
" [max_step] [int] NULL,\n" +
" [unt_mis_prod] [varchar](5) NULL,\n" +
" [qta_batch_prod] [numeric](15, 5) NULL,\n" +
" [rap_conv_prod] [numeric](20, 10) NULL,\n" +
" [data_iniz] [datetime] NULL,\n" +
" [data_fine] [datetime] NULL,\n" +
" [qta_prod] [decimal](20, 5) NULL,\n" +
" [qta_lav] [decimal](20, 5) NULL,\n" +
" [max_fase] [int] NULL,\n" +
" [num_fase] [int] NULL,\n" +
" [hr_num] [int] NOT NULL,\n" +
" [descrizione_attivita] [varchar](1024) NULL,\n" +
" [prod_std] [numeric](38, 21) NULL,\n" +
" [elapsed_time] [int] NULL,\n" +
" [qta_trasferite] [numeric](38, 5) NULL,\n" +
" [udc_trasferiti] [int] NULL,\n" +
" [stato] [varchar](11) NOT NULL,\n" +
" [pz_trasferiti] [int] NULL,\n" +
" [run_time_sec] [numeric](38, 6) NULL,\n" +
" [cumulative_run_time_sec] [numeric](38, 6) NULL,\n" +
" [run_time_hour] [int] NULL,\n" +
" [run_time_min] [numeric](38, 6) NULL,\n" +
" [run_time_end] [datetime] NULL,\n" +
" [id_lotto] [int] NULL,\n" +
" [data_lotto] [datetime] NULL,\n" +
" [peso_kg] [numeric](20, 5) NULL,\n" +
" [data_cons_prod_max] [datetime] NULL\n" +
" ) AS\n" +
"BEGIN\n" +
"\n" +
" -- DECLARE @codJfas VARCHAR(5) = 'L1'\n" +
"-- DECLARE @dateStart DATE = DATEADD(MONTH, -1, GETDATE())\n" +
"-- DECLARE @dateEnd DATE = DATEADD(MONTH, 1, GETDATE())\n" +
"-- DECLARE @flagEvaso VARCHAR(1) = 'I'\n" +
"-- DECLARE @codAnag VARCHAR(5) = null;\n" +
"\n" +
" SET @dateStart = ISNULL(@dateStart, DATEADD(DAY, -14, GETDATE()));\n" +
" SET @dateEND = ISNULL(@dateEnd, GETDATE());\n" +
" SET @flagEvaso = ISNULL(@flagEvaso, 'I');\n" +
"\n" +
"--Funzione per calcolare la sequenza di ordini su una linea e il RunTimeEND\n" +
" WITH setup AS (SELECT @dateStart AS date_start,\n" +
" @dateEnd AS date_end,\n" +
" @flagEvaso AS flag_evaso,\n" +
" @codJfas AS cod_jfas,\n" +
" @codAnag AS cod_anag),\n" +
" setup_jfas AS (SELECT value_string AS cod_jfas\n" +
" FROM dbo.ParseStringIntoArray(@codJfas, '|')),\n" +
" setup_depo AS (SELECT cod_mdep, value AS flag_carico_scarico_immediato\n" +
" FROM stb_gest_setup_depo\n" +
" WHERE gest_name = 'CARICO_SCARICO_PF'\n" +
" AND section = 'SETUP'\n" +
" AND key_section = 'GENERA_CARICO_SCARICO_IMMEDIATO'),\n" +
" mtb_colr_sum AS (SELECT mtb_colr.gestione,\n" +
" mtb_colr.data_collo,\n" +
" mtb_colr.num_collo,\n" +
" mtb_colr.cod_mart,\n" +
" mtb_colr.data_ord,\n" +
" mtb_colr.num_ord,\n" +
" SUM(mtb_colr.qta_col) AS qta_col,\n" +
" SUM(mtb_colr.num_cnf) AS num_cnf\n" +
" FROM mtb_colr\n" +
" WHERE mtb_colr.gestione_rif IS NULL\n" +
" AND mtb_colr.data_collo_rif IS NULL\n" +
" AND mtb_colr.ser_collo_rif IS NULL\n" +
" AND mtb_colr.num_collo_rif IS NULL\n" +
" AND EXISTS(SELECT *\n" +
" FROM mtb_colt\n" +
" WHERE mtb_colr.gestione = mtb_colt.gestione\n" +
" AND mtb_colr.data_collo = mtb_colt.data_collo\n" +
" AND mtb_colr.ser_collo = mtb_colt.ser_collo\n" +
" AND mtb_colr.num_collo = mtb_colt.num_collo\n" +
" AND mtb_colt.segno = 1)\n" +
" GROUP BY mtb_colr.gestione,\n" +
" mtb_colr.data_collo,\n" +
" mtb_colr.num_collo,\n" +
" mtb_colr.cod_mart,\n" +
" mtb_colr.data_ord,\n" +
" mtb_colr.num_ord),\n" +
" in_production_machines AS (SELECT DISTINCT dtb_ord_macc.gestione,\n" +
" dtb_ord_macc.data_ord,\n" +
" dtb_ord_macc.num_ord,\n" +
" MAX(dtb_ord_macc.data_mov) AS max_data_mov\n" +
" FROM dtb_ord_macc\n" +
" INNER JOIN (SELECT gestione, data_ord, num_ord, cod_cmac, MAX(data_mov) AS data_mov\n" +
" FROM dtb_ord_macc\n" +
" GROUP BY gestione, data_ord, num_ord, cod_cmac) last_event\n" +
" ON dtb_ord_macc.data_ord = last_event.data_ord AND\n" +
" dtb_ord_macc.num_ord = last_event.num_ord AND\n" +
" dtb_ord_macc.gestione = last_event.gestione AND\n" +
" dtb_ord_macc.cod_cmac = last_event.cod_cmac AND\n" +
" dtb_ord_macc.data_mov = last_event.data_mov\n" +
" INNER JOIN (SELECT evento, IIF(tipologia = 'ENTRATA', 1, -1) AS value\n" +
" FROM dtb_ord_macc_eventi) dtb_ord_macc_eventi\n" +
" ON dtb_ord_macc.evento = dtb_ord_macc_eventi.evento\n" +
" WHERE value = 1\n" +
" GROUP BY dtb_ord_macc.num_ord, dtb_ord_macc.data_ord, dtb_ord_macc.gestione),\n" +
" dtb_ord_max_step AS (SELECT gestione,\n" +
" data_ord,\n" +
" num_ord,\n" +
" MAX(id_step) AS max_step,\n" +
" num_fase,\n" +
" MAX(num_fase) OVER (PARTITION BY gestione,\n" +
" data_ord,\n" +
" num_ord) AS max_fase,\n" +
" dtb_ord_steps.cod_jfas,\n" +
" SUM(DATEDIFF(S, data_iniz, ISNULL(data_fine, GETDATE()))) AS elapsed_time\n" +
" FROM dtb_ord_steps\n" +
" CROSS APPLY setup\n" +
" WHERE data_ord BETWEEN setup.date_start AND setup.date_end\n" +
" GROUP BY gestione,\n" +
" data_ord,\n" +
" num_ord,\n" +
" num_fase,\n" +
" dtb_ord_steps.cod_jfas),\n" +
" dtb_ordr_prod_with_art AS (SELECT dtb_ordr.data_ord AS data_ord_prod,\n" +
" dtb_ordr.num_ord AS num_ord_prod,\n" +
" dtb_ordr.riga_ord AS riga_ord_prod,\n" +
" dtb_ordr.gestione AS gestione_ord_prod,\n" +
" IIF(CONVERT(DATE, dtb_ordr.data_ord) >= CONVERT(DATE, GETDATE()), 'S',\n" +
" 'N') AS flag_avviabile,\n" +
" mtb_aart_prod.flag_tracciabilita,\n" +
" dtb_ordr.unt_ord,\n" +
" dtb_ordr.rap_conv,\n" +
" dtb_ordr.unt_ord2,\n" +
" CAST(ROUND(dtb_ordr.qta_ord2 / ISNULL(NULLIF(dtb_ordr.qta_ord, 0), 1),\n" +
" 5) AS NUMERIC(20, 5)) AS rap_conv2,\n" +
" dtb_ordr.unt_ord3,\n" +
" CAST(ROUND(dtb_ordr.qta_ord3 / ISNULL(NULLIF(dtb_ordr.qta_ord, 0), 1),\n" +
" 5) AS NUMERIC(20, 5)) AS rap_conv3,\n" +
" dtb_ordr.qta_ord,\n" +
" dtb_ordr.qta_ord2,\n" +
" dtb_ordr.qta_ord3,\n" +
" dtb_ordr.num_cnf,\n" +
" IIF(mtb_aart_prod.unt_mis IN ('PZ', 'NR'), mtb_aart_prod.qta_cnf,\n" +
" IIF(mtb_aart_prod.unt_mis2 IN ('PZ', 'NR'), mtb_aart_prod.qta_cnf /\n" +
" ISNULL(NULLIF(mtb_aart_prod.rap_conv2, 0), 1),\n" +
" mtb_aart_prod.qta_cnf)) AS cal_qta_cnf,\n" +
"\n" +
" IIF(dtb_ordr.colli_pedana = 0 OR dtb_ordr.colli_pedana = 1,\n" +
" IIF(mtb_aart_prod.colli_pedana = 0, 1, mtb_aart_prod.colli_pedana),\n" +
" dtb_ordr.colli_pedana)\n" +
" AS colli_pedana,\n" +
" dtb_ordr.pos_riga,\n" +
" dtb_ordt.cod_mdep,\n" +
" IIF(mtb_aart_prod.unt_mis IN ('PZ', 'NR'), 1,\n" +
" IIF(mtb_aart_prod.unt_mis2 IN ('PZ', 'NR') AND\n" +
" NULLIF(mtb_aart_prod.rap_conv2, 0) IS NOT NULL,\n" +
" mtb_aart_prod.rap_conv2,\n" +
" 1)) AS calc_rap_conv,\n" +
" mtb_aart_prod.gg_scad_partita,\n" +
" mtb_aart_prod.qta_cnf\n" +
" FROM dtb_ordr\n" +
" INNER JOIN dtb_ordt ON dtb_ordr.gestione = dtb_ordt.gestione AND\n" +
" dtb_ordr.data_ord = dtb_ordt.data_ord AND\n" +
" dtb_ordr.num_ord = dtb_ordt.num_ord\n" +
" INNER JOIN mtb_aart mtb_aart_prod ON mtb_aart_prod.cod_mart = dtb_ordr.cod_mart),\n" +
" ord_lav AS (SELECT dtb_ordt.cod_jcom,\n" +
" dtb_ordr_prod_with_art.data_ord_prod,\n" +
" dtb_ordr_prod_with_art.num_ord_prod,\n" +
" dtb_ordr_prod_with_art.riga_ord_prod,\n" +
" dtb_ordr_prod_with_art.flag_avviabile,\n" +
" dtb_ordr_prod_with_art.flag_tracciabilita,\n" +
" dtb_ordr_prod_with_art.unt_ord,\n" +
" CASE\n" +
" WHEN mtb_partita_mag.partita_mag IS NULL THEN\n" +
" dtb_ordr_prod_with_art.rap_conv\n" +
" ELSE CASE\n" +
" WHEN dtb_ordr_prod_with_art.unt_ord = mtb_aart.unt_mis THEN\n" +
" dtb_ordr_prod_with_art.rap_conv\n" +
" WHEN dtb_ordr_prod_with_art.unt_ord = mtb_aart.unt_mis2 THEN\n" +
" IIF(mtb_partita_mag.rap_conv2 IS NULL OR mtb_partita_mag.rap_conv2 = 0,\n" +
" dtb_ordr_prod_with_art.rap_conv2, mtb_partita_mag.rap_conv2)\n" +
" WHEN dtb_ordr_prod_with_art.unt_ord = mtb_aart.unt_mis3 THEN\n" +
" IIF(mtb_partita_mag.rap_conv3 IS NULL OR mtb_partita_mag.rap_conv3 = 0,\n" +
" dtb_ordr_prod_with_art.rap_conv3, mtb_partita_mag.rap_conv3)\n" +
" END\n" +
" END\n" +
" AS rap_conv,\n" +
" dtb_ordr_prod_with_art.unt_ord2,\n" +
" CASE\n" +
" WHEN mtb_partita_mag.partita_mag IS NULL THEN\n" +
" dtb_ordr_prod_with_art.rap_conv2\n" +
" ELSE CASE\n" +
" WHEN dtb_ordr_prod_with_art.unt_ord2 = mtb_aart.unt_mis THEN\n" +
" dtb_ordr_prod_with_art.rap_conv2\n" +
" WHEN dtb_ordr_prod_with_art.unt_ord2 = mtb_aart.unt_mis2 THEN\n" +
" IIF(mtb_partita_mag.rap_conv2 IS NULL OR mtb_partita_mag.rap_conv2 = 0,\n" +
" dtb_ordr_prod_with_art.rap_conv2, mtb_partita_mag.rap_conv2)\n" +
" WHEN dtb_ordr_prod_with_art.unt_ord2 = mtb_aart.unt_mis3 THEN\n" +
" IIF(mtb_partita_mag.rap_conv3 IS NULL OR mtb_partita_mag.rap_conv3 = 0,\n" +
" dtb_ordr_prod_with_art.rap_conv3, mtb_partita_mag.rap_conv3)\n" +
" END\n" +
" END\n" +
" AS rap_conv2,\n" +
" dtb_ordr_prod_with_art.unt_ord3,\n" +
" CASE\n" +
" WHEN mtb_partita_mag.partita_mag IS NULL THEN\n" +
" dtb_ordr_prod_with_art.rap_conv3\n" +
" ELSE CASE\n" +
" WHEN dtb_ordr_prod_with_art.unt_ord3 = mtb_aart.unt_mis THEN\n" +
" dtb_ordr_prod_with_art.rap_conv3\n" +
" WHEN dtb_ordr_prod_with_art.unt_ord3 = mtb_aart.unt_mis2 THEN\n" +
" IIF(mtb_partita_mag.rap_conv2 IS NULL OR mtb_partita_mag.rap_conv2 = 0,\n" +
" dtb_ordr_prod_with_art.rap_conv2, mtb_partita_mag.rap_conv2)\n" +
" WHEN dtb_ordr_prod_with_art.unt_ord3 = mtb_aart.unt_mis3 THEN\n" +
" IIF(mtb_partita_mag.rap_conv3 IS NULL OR mtb_partita_mag.rap_conv3 = 0,\n" +
" dtb_ordr_prod_with_art.rap_conv3, mtb_partita_mag.rap_conv3)\n" +
" END\n" +
" END\n" +
" AS rap_conv3,\n" +
" ISNULL(dtb_ordt.descr_estesa_prod, dtb_ordt.descrizione_prod) AS descrizione_prod,\n" +
" dtb_ordr_prod_with_art.num_cnf * dtb_ordr_prod_with_art.cal_qta_cnf AS num_pezzi,\n" +
" dtb_ordr_prod_with_art.num_cnf,\n" +
" dtb_ordr_prod_with_art.gg_scad_partita,\n" +
" dtb_ordr_prod_with_art.qta_cnf,\n" +
" dtb_ordr_prod_with_art.colli_pedana,\n" +
" dtb_ordr_prod_with_art.num_cnf / dtb_ordr_prod_with_art.colli_pedana AS num_pedane,\n" +
" dtb_ordr_prod_with_art.pos_riga,\n" +
" dtb_ordt.flag_evaso_prod,\n" +
" dtb_ordt.flag_evaso_forzato,\n" +
" CASE\n" +
" WHEN (dtb_ordt.flag_evaso_prod = 'I' OR\n" +
" (setupCaricoImmediato.flag_carico_scarico_immediato = 'S' AND\n" +
" flag_evaso_prod = 'E'))\n" +
" AND dtb_ordt.flag_evaso_forzato = 'N'\n" +
" THEN 'I'\n" +
" WHEN flag_evaso_prod <> 'I' AND dtb_ordt.flag_evaso_forzato = 'S'\n" +
" THEN flag_evaso_prod\n" +
" END AS flag_ordine_evaso,\n" +
" dtb_ordt.gestione,\n" +
" dtb_ordt.data_ord,\n" +
" dtb_ordt.cod_tcol_UL,\n" +
" mtb_tcol.descrizione AS descrizione_tcol,\n" +
" dtb_ordt.cod_anag,\n" +
" gtb_anag.rag_soc AS rag_soc_anag,\n" +
" gtb_anag.part_iva,\n" +
" dtb_ordt.rif_ord,\n" +
" dtb_ordt.cod_vdes,\n" +
" dtb_ordt.cod_mdep,\n" +
" dtb_ordr_prod_with_art.cod_mdep AS cod_mdep_prod,\n" +
" dtb_ordt.num_ord,\n" +
" dtb_ord_steps.cod_jfas,\n" +
" dtb_ordt.cod_jfas AS cod_jfas_lav,\n" +
" mtb_partita_mag.partita_mag,\n" +
" dtb_ordt.note AS note_lav,\n" +
" mtb_partita_mag.data_scad,\n" +
" dtb_ordt.cod_prod,\n" +
" jtb_comt.descrizione AS descrizione_commessa,\n" +
" dtb_ordt.data_iniz_prod,\n" +
" q.max_step,\n" +
" q.max_fase,\n" +
" q.num_fase,\n" +
" IIF(mtb_aart.flag_qta_cnf_fissa = 'S' AND\n" +
" (mtb_aart.qta_cnf > 1 OR dtb_ordr_prod_with_art.colli_pedana > 1), 'Colli',\n" +
" jtb_cicl.unt_mis_prod)\n" +
" AS unt_mis_prod,\n" +
" IIF(mtb_aart.flag_qta_cnf_fissa = 'S' AND\n" +
" (mtb_aart.qta_cnf > 1 OR dtb_ordr_prod_with_art.colli_pedana > 1),\n" +
" dtb_ordr_prod_with_art.colli_pedana, jtb_cicl.qta_prod)\n" +
" AS qta_batch_prod,\n" +
" IIF(mtb_aart.qta_cnf > 1 OR dtb_ordr_prod_with_art.colli_pedana > 1, mtb_aart.qta_cnf,\n" +
" jtb_cicl.rap_conv_prod) AS rap_conv_prod,\n" +
" dtb_ord_steps.data_iniz,\n" +
" dtb_ord_steps.data_fine,\n" +
" dtb_ord_steps.qta_lav AS qta_lav,\n" +
" IIF(dtb_ord_steps.qta_prod <> 0, dtb_ord_steps.qta_prod,\n" +
" dtb_ordt.qta_prod) AS qta_prod,\n" +
" dtb_ord_steps.hr_num,\n" +
" dtb_ord_steps.descrizione_attivita,\n" +
" 3600 / (ISNULL(NULLIF(jtb_dist_clav_dir.duration, 0), 1) /\n" +
" ISNULL(NULLIF(jtb_cicl.rap_conv_prod, 0), 1)) AS prod_std,\n" +
" q.elapsed_time,\n" +
" SUM(ISNULL(mtb_colr.qta_col, 0)) AS qta_trasferite,\n" +
" COUNT(mtb_colr.num_collo) AS udc_trasferiti,\n" +
" CASE\n" +
" WHEN (in_production_machines.max_data_mov IS NOT NULL AND (q.max_step = 0 OR\n" +
" (q.max_step > 0 AND\n" +
" dtb_ord_steps.data_fine IS NOT NULL AND\n" +
" DATEDIFF(MINUTE,\n" +
" dtb_ord_steps.data_fine,\n" +
" in_production_machines.max_data_mov) >\n" +
" 5)))\n" +
" THEN 'IN AVVIO'\n" +
" WHEN q.max_step = 0\n" +
" THEN 'PROGRAMMATO'\n" +
" WHEN data_fine IS NULL\n" +
" THEN 'IN CORSO'\n" +
" ELSE 'IN PAUSA'\n" +
" END\n" +
" AS stato,\n" +
" CONVERT(INT, SUM(ISNULL(mtb_colr.qta_col / dtb_ordr_prod_with_art.calc_rap_conv, 0))) AS pz_trasferiti,\n" +
" CASE\n" +
" WHEN (jtb_dist_clav_dir.duration / ISNULL(NULLIF(jtb_cicl.rap_conv_prod, 0), 1)) *\n" +
" (dtb_ordt.qta_prod * dtb_ordt.rap_conv_prod -\n" +
" SUM(ISNULL(mtb_colr.qta_col, 0))) > 0\n" +
" THEN\n" +
" (jtb_dist_clav_dir.duration /\n" +
" ISNULL(NULLIF(jtb_cicl.rap_conv_prod, 0), 1)) *\n" +
" (dtb_ordt.qta_prod * dtb_ordt.rap_conv_prod -\n" +
" SUM(ISNULL(mtb_colr.qta_col, 0)))\n" +
" ELSE 0 END AS run_time_sec,\n" +
" jl.id_lotto,\n" +
" jlt.data_lotto,\n" +
" mtb_aart.peso_kg,\n" +
" dtb_ordt.data_cons_prod_max\n" +
" FROM dtb_ord_steps\n" +
" INNER JOIN dtb_ordt ON dtb_ord_steps.data_ord = dtb_ordt.data_ord\n" +
" AND dtb_ord_steps.num_ord = dtb_ordt.num_ord\n" +
" AND dtb_ord_steps.gestione = dtb_ordt.gestione\n" +
" LEFT OUTER JOIN setup_depo setupCaricoImmediato\n" +
" ON dtb_ordt.cod_mdep = setupCaricoImmediato.cod_mdep\n" +
" LEFT OUTER JOIN jtb_dist_clav_dir\n" +
" ON dtb_ordt.cod_prod = jtb_dist_clav_dir.cod_prod AND\n" +
" dtb_ordt.cod_jfas = jtb_dist_clav_dir.cod_jfas\n" +
" LEFT OUTER JOIN mtb_partita_mag\n" +
" ON dtb_ordt.partita_mag = mtb_partita_mag.partita_mag AND\n" +
" dtb_ordt.cod_prod = mtb_partita_mag.cod_mart AND\n" +
" mtb_partita_mag.flag_stato = 'A'\n" +
" LEFT OUTER JOIN mtb_colr_sum mtb_colr ON dtb_ordt.data_ord = mtb_colr.data_ord AND\n" +
" dtb_ordt.gestione = mtb_colr.gestione AND\n" +
" dtb_ordt.num_ord = mtb_colr.num_ord AND\n" +
" dtb_ordt.cod_prod = mtb_colr.cod_mart\n" +
" LEFT OUTER JOIN jtb_comt ON dtb_ordt.cod_jcom = jtb_comt.cod_jcom\n" +
" INNER JOIN dtb_ord_max_step q ON dtb_ord_steps.gestione = q.gestione AND\n" +
" dtb_ord_steps.data_ord = q.data_ord AND\n" +
" dtb_ord_steps.num_ord = q.num_ord AND\n" +
" dtb_ord_steps.id_step = q.max_step AND\n" +
" dtb_ord_steps.cod_jfas = q.cod_jfas\n" +
" LEFT OUTER JOIN dtb_ordr_prod_with_art\n" +
" ON dtb_ordr_prod_with_art.gestione_ord_prod =\n" +
" dtb_ordt.gestione_rif AND\n" +
" dtb_ordr_prod_with_art.data_ord_prod = dtb_ordt.data_ord_rif AND\n" +
" dtb_ordr_prod_with_art.num_ord_prod = dtb_ordt.num_ord_rif AND\n" +
" dtb_ordr_prod_with_art.riga_ord_prod = dtb_ordt.riga_ord_rif\n" +
" LEFT OUTER JOIN jtb_cicl ON jtb_cicl.cod_prod = dtb_ordt.cod_prod\n" +
" LEFT OUTER JOIN mtb_aart ON mtb_aart.cod_mart = dtb_ordt.cod_prod\n" +
" LEFT OUTER JOIN gtb_anag ON dtb_ordt.cod_anag = gtb_anag.cod_anag\n" +
" LEFT OUTER JOIN mtb_tcol ON dtb_ordt.cod_tcol_UL = mtb_tcol.cod_tcol\n" +
" LEFT OUTER JOIN in_production_machines\n" +
" ON dtb_ord_steps.data_ord = in_production_machines.data_ord\n" +
" AND dtb_ord_steps.num_ord = in_production_machines.num_ord\n" +
" AND dtb_ord_steps.gestione = in_production_machines.gestione\n" +
" LEFT OUTER JOIN jtb_lotr jl\n" +
" ON dtb_ord_steps.cod_jfas = jl.cod_jfas AND\n" +
" dtb_ordt.gestione = jl.gestione AND\n" +
" dtb_ordt.data_ord = jl.data_ord AND\n" +
" dtb_ordt.num_ord = jl.num_ord\n" +
" LEFT OUTER JOIN jtb_lott jlt\n" +
" ON jl.cod_jfas = jlt.cod_jfas AND jl.id_lotto = jlt.id_lotto\n" +
"\n" +
" CROSS APPLY setup\n" +
" WHERE dtb_ordt.flag_annulla = 'N'\n" +
" AND (setup.flag_evaso IS NULL\n" +
" OR (\n" +
" (setup.flag_evaso = 'I'\n" +
" AND\n" +
" dtb_ord_steps.flag_step_attivo = 'S'\n" +
" AND (flag_evaso_prod = 'I'\n" +
" OR\n" +
" (setupCaricoImmediato.flag_carico_scarico_immediato = 'S'\n" +
" AND\n" +
" flag_evaso_prod = 'E'))\n" +
" AND dtb_ordt.flag_evaso_forzato = 'N'\n" +
" )\n" +
" OR (setup.flag_evaso = 'E'\n" +
" AND (flag_evaso_prod = 'E' OR jlt.data_chiusura IS NOT NULL))\n" +
" )\n" +
" )\n" +
" AND (setup.cod_jfas IS NULL\n" +
" OR dtb_ord_steps.cod_jfas IN (SELECT cod_jfas FROM setup_jfas))\n" +
" AND (setup.cod_anag IS NULL\n" +
" OR dtb_ordt.cod_anag = setup.cod_anag)\n" +
" GROUP BY dtb_ordr_prod_with_art.data_ord_prod,\n" +
" dtb_ordr_prod_with_art.num_ord_prod,\n" +
" dtb_ordr_prod_with_art.riga_ord_prod,\n" +
" dtb_ordr_prod_with_art.flag_avviabile,\n" +
" dtb_ordr_prod_with_art.flag_tracciabilita,\n" +
" dtb_ordr_prod_with_art.unt_ord,\n" +
" mtb_partita_mag.rap_conv2,\n" +
" mtb_partita_mag.rap_conv3,\n" +
" dtb_ordt.note,\n" +
" dtb_ordr_prod_with_art.rap_conv,\n" +
" dtb_ordt.descrizione_prod,\n" +
" dtb_ordt.descr_estesa_prod,\n" +
" dtb_ordr_prod_with_art.num_cnf,\n" +
" mtb_aart.qta_cnf,\n" +
" mtb_aart.gg_scad_partita,\n" +
" mtb_aart.flag_qta_cnf_fissa,\n" +
" dtb_ordr_prod_with_art.pos_riga,\n" +
" dtb_ordt.flag_evaso_prod,\n" +
" dtb_ordt.flag_evaso_forzato,\n" +
" dtb_ordt.gestione,\n" +
" dtb_ordt.data_ord,\n" +
" dtb_ordt.num_ord,\n" +
" dtb_ord_steps.cod_jfas,\n" +
" dtb_ordt.cod_jfas,\n" +
" dtb_ordt.cod_jcom,\n" +
" mtb_partita_mag.partita_mag,\n" +
" mtb_partita_mag.data_scad,\n" +
" dtb_ordt.cod_prod,\n" +
" dtb_ordt.data_iniz_prod,\n" +
" q.max_step,\n" +
" dtb_ord_steps.data_iniz,\n" +
" dtb_ord_steps.data_fine,\n" +
" dtb_ordt.cod_tcol_UL,\n" +
" dtb_ordt.cod_anag,\n" +
" gtb_anag.rag_soc,\n" +
" gtb_anag.part_iva,\n" +
" dtb_ordt.rif_ord,\n" +
" dtb_ordt.cod_vdes,\n" +
" dtb_ordt.cod_mdep,\n" +
" dtb_ordr_prod_with_art.cod_mdep,\n" +
" mtb_aart.colli_pedana,\n" +
" dtb_ord_steps.qta_prod,\n" +
" dtb_ordt.qta_prod,\n" +
" jtb_dist_clav_dir.duration,\n" +
" jtb_comt.descrizione,\n" +
" q.elapsed_time,\n" +
" dtb_ordr_prod_with_art.colli_pedana,\n" +
" dtb_ord_steps.hr_num,\n" +
" mtb_aart.unt_mis,\n" +
" mtb_aart.unt_mis2,\n" +
" mtb_aart.rap_conv2,\n" +
" mtb_aart.unt_mis3,\n" +
" mtb_aart.rap_conv3,\n" +
" dtb_ordr_prod_with_art.unt_ord2,\n" +
" dtb_ordr_prod_with_art.unt_ord3,\n" +
" dtb_ordr_prod_with_art.qta_ord,\n" +
" dtb_ordr_prod_with_art.qta_ord2,\n" +
" dtb_ordr_prod_with_art.qta_ord3,\n" +
" dtb_ordr_prod_with_art.rap_conv2,\n" +
" dtb_ordr_prod_with_art.rap_conv3,\n" +
" dtb_ordr_prod_with_art.qta_cnf,\n" +
" dtb_ordr_prod_with_art.cal_qta_cnf,\n" +
" dtb_ordr_prod_with_art.gg_scad_partita,\n" +
" jtb_cicl.qta_prod,\n" +
" jtb_cicl.rap_conv_prod,\n" +
" dtb_ord_steps.descrizione_attivita,\n" +
" jtb_cicl.unt_mis_prod,\n" +
" mtb_tcol.descrizione,\n" +
" dtb_ordt.qta_prod,\n" +
" dtb_ordt.rap_conv_prod,\n" +
" setupCaricoImmediato.flag_carico_scarico_immediato,\n" +
" in_production_machines.max_data_mov, q.num_fase, dtb_ord_steps.qta_lav, q.max_fase,\n" +
" jl.id_lotto, jlt.data_lotto, mtb_aart.peso_kg, dtb_ordt.data_cons_prod_max)\n" +
" INSERT\n" +
" INTO @val\n" +
" SELECT ROW_NUMBER() OVER (ORDER BY data_ord, num_ord_prod, pos_riga, num_ord) AS sort,\n" +
" cod_jcom,\n" +
" data_ord_prod,\n" +
" num_ord_prod,\n" +
" riga_ord_prod,\n" +
" flag_avviabile,\n" +
" flag_tracciabilita,\n" +
" unt_ord,\n" +
" rap_conv,\n" +
" unt_ord2,\n" +
" rap_conv2,\n" +
" unt_ord3,\n" +
" rap_conv3,\n" +
" descrizione_prod,\n" +
" num_pezzi,\n" +
" num_cnf,\n" +
" gg_scad_partita,\n" +
" qta_cnf,\n" +
" colli_pedana,\n" +
" num_pedane,\n" +
" pos_riga,\n" +
" flag_evaso_prod,\n" +
" flag_evaso_forzato,\n" +
" flag_ordine_evaso,\n" +
" gestione,\n" +
" data_ord,\n" +
" cod_tcol_UL,\n" +
" descrizione_tcol,\n" +
" cod_anag,\n" +
" rag_soc_anag,\n" +
" part_iva,\n" +
" rif_ord,\n" +
" cod_vdes,\n" +
" cod_mdep,\n" +
" cod_mdep_prod,\n" +
" num_ord,\n" +
" cod_jfas,\n" +
" cod_jfas_lav,\n" +
" partita_mag,\n" +
" note_lav,\n" +
" data_scad,\n" +
" cod_prod,\n" +
" descrizione_commessa,\n" +
" data_iniz_prod,\n" +
" max_step,\n" +
" unt_mis_prod,\n" +
" qta_batch_prod,\n" +
" rap_conv_prod,\n" +
" data_iniz,\n" +
" data_fine,\n" +
" qta_prod,\n" +
" qta_lav,\n" +
" max_fase,\n" +
" num_fase,\n" +
" hr_num,\n" +
" descrizione_attivita,\n" +
" prod_std,\n" +
" elapsed_time,\n" +
" qta_trasferite,\n" +
" udc_trasferiti,\n" +
" stato,\n" +
" pz_trasferiti,\n" +
" run_time_sec,\n" +
" SUM(run_time_sec) OVER (PARTITION BY cod_jfas, data_ord_prod) AS cumulative_run_time_sec,\n" +
" CONVERT(INT, run_time_sec / 3600) AS run_time_hour,\n" +
" ROUND((run_time_sec / 3600 - CONVERT(INT, run_time_sec / 3600)) * 60, 0) AS run_time_min,\n" +
" DATEADD(SECOND, SUM(run_time_sec)\n" +
" OVER (PARTITION BY cod_jfas, data_ord_prod ORDER BY stato, cod_jfas, data_ord_prod, pos_riga ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW),\n" +
" CASE\n" +
" WHEN data_ord_prod > GETDATE() THEN DATEADD(HH, 7, data_ord_prod)\n" +
" ELSE GETDATE() END) AS run_time_end,\n" +
" id_lotto,\n" +
" data_lotto,\n" +
" peso_kg,\n" +
" data_cons_prod_max\n" +
" FROM ord_lav\n" +
" ORDER BY ord_lav.data_ord,\n" +
" ord_lav.num_ord_prod,\n" +
" ord_lav.pos_riga,\n" +
" ord_lav.num_ord\n" +
" RETURN\n" +
"END");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -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_20241010130131 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("UPDATE stb_gest_setup SET key_section = 'TIPI_DOCUMENTO' WHERE gest_name = 'IMPORT_DOCUMENTI' AND section = 'PAZIENZA_RIFORD' AND key_section = 'TIPO_DOCUMENTO' ");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -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_20241010153706 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetupQuery(null, null, "SELECT cod_jfas FROM jtb_fasi");
createSetup("W_PORDI_RC", "SETUP", "FASE_TERZISTA", null,
null, false, null, false, false,
false, false, false, null, false, "SELECT cod_jfas FROM jtb_fasi");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -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_20241010153756 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetupQuery(null, null, "SELECT cod_spes FROM gtb_spes");
createSetup("W_PORDI_RC", "SETUP", "COD_SPESA_TERZISTA", null,
null, false, null, false, false,
false, false, false, null, false, "SELECT cod_spes FROM gtb_spes");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,61 @@
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_20241010154443 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomer(IntegryCustomer.Tosca))
executeStatement("INSERT INTO atb_forn (cod_anag, cod_atip, cod_banc, cod_paga, porto, mezzo, cod_aliq, cod_alis, cod_ccon_costi,\n" +
" cod_ccon_ricavi, cod_abi, cod_cab, agenzia_banca, rif_banca_forn, flag_stato, causale,\n" +
" cod_caus_rit, cod_divi, mm_decor, cod_clie, iban, cod_banc_azi, note_ordine, gg_chiudi_stralci,\n" +
" cod_bic, mesi_esclusi, cod_vvet, flag_forfettario, flag_autofattura)\n" +
"SELECT gtb_anag.cod_anag,\n" +
" N'01',\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" N'A',\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" 0,\n" +
" NULL,\n" +
" NULL,\n" +
" NULL,\n" +
" N'N',\n" +
" N'N'\n" +
"FROM gtb_anag\n" +
" LEFT OUTER JOIN vtb_clie ON gtb_anag.cod_anag = vtb_clie.cod_anag\n" +
" LEFT OUTER JOIN atb_forn ON gtb_anag.cod_anag = atb_forn.cod_anag\n" +
"WHERE vtb_clie.cod_anag IS NULL\n" +
" AND atb_forn.cod_anag IS NULL");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,46 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241010160719 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("CREATE TABLE ctb_coan (\tid bigint identity not null,\n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata_mov datetime not null,\n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\tcod_prod varchar(15) not null,\n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\tpartita_mag_prod varchar(20),\n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\tcod_jcom varchar(10),\n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\tcod_jfas varchar(5),\n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\tcod_ccon varchar(6) not null,\n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\timp_dare numeric(20,5) not null default 0 ,\n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\timp_avere numeric (20,5) not null default 0,\n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\tcod_jflav varchar(5),\n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\tcod_mart varchar(15),\n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\tpartita_mag varchar(20),\n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\tcod_spes varchar(5),\n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\tqta numeric (20,5) not null default 0,\n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\tunt_mis varchar(3),\n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\tchiave_fonte varchar(8000),\n" +
" CONSTRAINT PK_ctb_coan_ PRIMARY KEY (id),\n" +
"\tCONSTRAINT FK_ctb_coan_cod_prod FOREIGN KEY (cod_prod) REFERENCES mtb_aart(cod_mart),\n" +
"\tCONSTRAINT FK_ctb_coan_partita_mag_prod FOREIGN KEY (cod_mart, partita_mag_prod) REFERENCES mtb_partita_mag(cod_mart, partita_mag),\n" +
"\tCONSTRAINT FK_ctb_coan_cod_jcom FOREIGN KEY (cod_jcom) REFERENCES jtb_comt(cod_jcom),\n" +
"\tCONSTRAINT FK_ctb_coan_cod_jfas FOREIGN KEY (cod_jfas) REFERENCES jtb_fasi(cod_jfas),\n" +
"\tCONSTRAINT FK_ctb_coan_cod_ccon FOREIGN KEY (cod_ccon) REFERENCES ctb_cont(cod_ccon),\n" +
"\tCONSTRAINT FK_ctb_coan_cod_jflav FOREIGN KEY (cod_jflav) REFERENCES jtb_flav(cod_jflav),\n" +
"\tCONSTRAINT FK_ctb_coan_cod_mart FOREIGN KEY (cod_mart) REFERENCES mtb_aart(cod_mart),\n" +
"\tCONSTRAINT FK_ctb_coan_partita_mag FOREIGN KEY (cod_mart, partita_mag) REFERENCES mtb_partita_mag(cod_mart, partita_mag),\n" +
"\tCONSTRAINT FK_ctb_coan_cod_spes FOREIGN KEY (cod_spes) REFERENCES gtb_spes(cod_spes),);");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,22 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241011090629 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("ALTER TABLE mtb_sgrp add cod_ccon_wip varchar(6),\n" +
"\tFOREIGN KEY (cod_ccon_wip) REFERENCES ctb_cont(cod_ccon);");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,22 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241011092306 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("ALTER TABLE dtb_tipi add cod_ccau_coan varchar(5),\n" +
"\tFOREIGN KEY (cod_ccau_coan) REFERENCES ctb_caus(cod_ccau);");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,24 @@
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_20241011103222 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if ( !isCustomer(IntegryCustomer.RossoGargano)) return;
executeStatement("update stb_gest_setup set value = 'S' where section = 'DOCFINANCE' AND key_section = 'ATTIVO'");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,31 @@
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.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241014121316 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
String value = "S";
if (isCustomer(IntegryCustomer.Gramm)){
value = "N";
}
createSetup("PICKING", "SPEDIZIONE", "ADD_DATACONS_IN_FILTRO", value,
"Permettere l'inserimento di data_cons in filtro ordine della MtbColt", false, "SI_NO", false, false,
false, false, false, null, false, "SELECT 'S' UNION ALL SELECT 'N'");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,37 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241014121636 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isTextiles()) return;
createOrUpdateView("tvvw_ordv_linee", "CREATE view [dbo].[tvvw_ordv_linee] as \n" +
"select dtb_ordt.gestione, \n" +
"dtb_ordt.data_ord,\n" +
"dtb_ordt.num_ord,\n" +
"STUFF((\n" +
" SELECT distinct ', ' + dtb_grup_art.descrizione\n" +
" FROM dtb_ordr inner join ttb_style on dtb_ordr.cod_mart = ttb_style.cod_style\n" +
" inner join ttb_line on ttb_style.cod_line = ttb_line.cod_line\n" +
" left outer join dtb_grup_art on ttb_line.cod_dgrp_art = dtb_grup_art.cod_dgrp_art\n" +
" WHERE 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" +
" FOR XML PATH('')), 1, 2, '' ) AS linea\n" +
"\n" +
"from dtb_ordt\n" +
"where dtb_ordt.gestione = 'v'");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,23 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20241015101704 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("PVM", "MONITORAGGIO_LINEE_V2", "RESTART_RUN_TIME_END", "S",
"Se impostato a S nella funzione MES_GetWorkOrders il tempo di fine viene calcolato per ogni ordine di produzione, partendo dalle 7.00 del mattino, se impostato a N il tempo di fine viene calcolato in modo progressivo per linea senza alcune restart", false, null, false, false,
false, false, false, null, false, null);
}
@Override
public void down() throws Exception {
}
}

Some files were not shown because too many files have changed in this diff Show More