- Creata classe Wrapper per la connessione al DB,
- Gestita la possibilità di far partire funzioni al postCommit - corretta gestione delle rollBack nelle sincronizzazioni offline
This commit is contained in:
@@ -28,7 +28,9 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -8,6 +8,7 @@ import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
||||
import it.integry.ems.settings.Model.SettingsModel;
|
||||
import it.integry.ems.settings.SettingsController;
|
||||
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.user.service.UserCacheService;
|
||||
import it.integry.ems_model.entity.Azienda;
|
||||
@@ -19,7 +20,6 @@ import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.util.HashMap;
|
||||
|
||||
@Component
|
||||
@@ -27,7 +27,7 @@ public class EmsCoreDBLoader {
|
||||
|
||||
private final Logger logger = LogManager.getLogger();
|
||||
private MultiDBTransactionManager multiDBTransactionManager;
|
||||
|
||||
|
||||
@Autowired
|
||||
private SetupGest setupGest;
|
||||
|
||||
@@ -90,7 +90,7 @@ public class EmsCoreDBLoader {
|
||||
private void discoverAllConnections() {
|
||||
|
||||
for (AvailableConnectionsModel model : settingsModel.getAvailableConnections()) {
|
||||
if ( !model.getInternalDb() )
|
||||
if (!model.getInternalDb())
|
||||
continue;
|
||||
try {
|
||||
DataSource ds = new DataSource();
|
||||
@@ -114,36 +114,36 @@ public class EmsCoreDBLoader {
|
||||
private void setupAzienda() throws Exception {
|
||||
|
||||
for (final AdvancedDataSource advancedDataSource : multiDBTransactionManager.getActiveConnections()) {
|
||||
try {
|
||||
Connection conn = advancedDataSource.getConnection();
|
||||
if (advancedDataSource.isInternalDb()) {
|
||||
Azienda azienda = Azienda.getDefaultAzienda(conn);
|
||||
try {
|
||||
Connection conn = advancedDataSource.getConnection();
|
||||
if (advancedDataSource.isInternalDb()) {
|
||||
Azienda azienda = Azienda.getDefaultAzienda(conn);
|
||||
|
||||
if (azienda != null) {
|
||||
String applicationDbName = azienda.getApplicationName();
|
||||
String nomeAzienda = azienda.getNomeDitta();
|
||||
if (azienda != null) {
|
||||
String applicationDbName = azienda.getApplicationName();
|
||||
String nomeAzienda = azienda.getNomeDitta();
|
||||
|
||||
if(UtilityString.isNullOrEmpty(applicationDbName)) {
|
||||
throw new Exception("Impostare il campo \"Application Name\"");
|
||||
}
|
||||
|
||||
HashMap<String, String> gestSetupValues =
|
||||
setupGest.getSetupSection(conn, "DATI_AZIENDA", "FATTURAZIONE_ELETTRONICA");
|
||||
|
||||
|
||||
emsDBConst.getConsts(advancedDataSource.getDataSource().getProfile())
|
||||
.setApplicationDbName(applicationDbName)
|
||||
.setNomeAzienda(nomeAzienda)
|
||||
.setAzienda(azienda)
|
||||
.setGestSetupDatiAzienda(gestSetupValues);
|
||||
} else {
|
||||
throw new Exception("Non è stato possibile leggere i dati dalla tabella azienda");
|
||||
if (UtilityString.isNullOrEmpty(applicationDbName)) {
|
||||
throw new Exception("Impostare il campo \"Application Name\"");
|
||||
}
|
||||
|
||||
HashMap<String, String> gestSetupValues =
|
||||
setupGest.getSetupSection(conn, "DATI_AZIENDA", "FATTURAZIONE_ELETTRONICA");
|
||||
|
||||
|
||||
emsDBConst.getConsts(advancedDataSource.getDataSource().getProfile())
|
||||
.setApplicationDbName(applicationDbName)
|
||||
.setNomeAzienda(nomeAzienda)
|
||||
.setAzienda(azienda)
|
||||
.setGestSetupDatiAzienda(gestSetupValues);
|
||||
} else {
|
||||
throw new Exception("Non è stato possibile leggere i dati dalla tabella azienda");
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
logger.error(String.format("Impossibile caricare alcune informazioni dal DB \"%s\". %s", advancedDataSource.getProfileName(), ex.getMessage()));
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
logger.error(String.format("Impossibile caricare alcune informazioni dal DB \"%s\". %s", advancedDataSource.getProfileName(), ex.getMessage()));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package it.integry.ems.datasource;
|
||||
|
||||
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
||||
import it.integry.ems.settings.Model.SettingsModel;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityHashMap;
|
||||
@@ -11,7 +12,6 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.PreDestroy;
|
||||
import java.io.IOException;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.SQLException;
|
||||
@@ -57,7 +57,9 @@ public class DataSource {
|
||||
|
||||
private void init() throws SQLException, IOException {
|
||||
|
||||
connection = DriverManager.getConnection(connectionModel.getDbConnectionString(), connectionModel.getUsername(), connectionModel.getPasswordDecrypted());
|
||||
connection = Connection.fromConnection(
|
||||
DriverManager.getConnection(connectionModel.getDbConnectionString(), connectionModel.getUsername(), connectionModel.getPasswordDecrypted())
|
||||
);
|
||||
connection.setTransactionIsolation(java.sql.Connection.TRANSACTION_READ_UNCOMMITTED);
|
||||
connection.setAutoCommit(false);
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package it.integry.ems.devices;
|
||||
|
||||
|
||||
import it.integry.ems.service.EntityProcessor;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.user.UserSession;
|
||||
import it.integry.ems_model.entity.StbDevices;
|
||||
@@ -15,7 +16,6 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.context.ContextLoader;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.util.Date;
|
||||
|
||||
@Service
|
||||
@@ -30,7 +30,7 @@ public class DevicesService {
|
||||
|
||||
private final Logger logger = LogManager.getLogger();
|
||||
|
||||
public void register(App application, String deviceId) throws Exception{
|
||||
public void register(App application, String deviceId) throws Exception {
|
||||
MultiDBTransactionManager multiDBTransactionManager = ContextLoader.getCurrentWebApplicationContext().getBean(MultiDBTransactionManager.class);
|
||||
EntityProcessor entityProcessor = ContextLoader.getCurrentWebApplicationContext().getBean(EntityProcessor.class);
|
||||
UserSession userSession = ContextLoader.getCurrentWebApplicationContext().getBean(UserSession.class);
|
||||
@@ -47,7 +47,7 @@ public class DevicesService {
|
||||
boolean exists =
|
||||
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), selectSql);
|
||||
|
||||
if(!exists) {
|
||||
if (!exists) {
|
||||
StbDevices stbDevices = new StbDevices()
|
||||
.setName(appName)
|
||||
.setIdentificationId(deviceId)
|
||||
|
||||
@@ -5,6 +5,7 @@ import it.integry.ems.expansion.RunnableWithReturn;
|
||||
import it.integry.ems.looper.service.LooperService;
|
||||
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
||||
import it.integry.ems.settings.Model.SettingsModel;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
@@ -13,7 +14,6 @@ import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -46,7 +46,7 @@ public class DynamicCacheService {
|
||||
}, invalidateTimeInMins * 60 * 1000, "dynamic-cache-" + key);
|
||||
}
|
||||
|
||||
public <T>void addDbItem(Keys key, int invalidateTimeInMins, RunnableArgsWithReturn<Connection, T> refreshAction, List<String> dbNames) {
|
||||
public <T> void addDbItem(Keys key, int invalidateTimeInMins, RunnableArgsWithReturn<Connection, T> refreshAction, List<String> dbNames) {
|
||||
List<String> finalDbNames = dbNames.stream().map(String::toLowerCase).collect(Collectors.toList());
|
||||
RunnableWithReturn<Object> internalRefreshAction = () -> {
|
||||
|
||||
@@ -183,7 +183,7 @@ public class DynamicCacheService {
|
||||
return cachedEntityList;
|
||||
}
|
||||
|
||||
public <T>T getDbItem(Keys key, String dbName) {
|
||||
public <T> T getDbItem(Keys key, String dbName) {
|
||||
dbName = dbName.toLowerCase();
|
||||
final HashMap<String, T> cacheObjectByDB = (HashMap<String, T>) cacheData.getOrDefault(key, null);
|
||||
if (cacheObjectByDB == null) return null;
|
||||
|
||||
@@ -3,6 +3,7 @@ package it.integry.ems.entity_logger.db_schema_manager.component;
|
||||
import com.annimon.stream.Stream;
|
||||
import com.microsoft.sqlserver.jdbc.SQLServerException;
|
||||
import it.integry.ems.entity_logger.db_schema_manager.dto.*;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityHashMap;
|
||||
import it.integry.ems_model.utility.UtilityLocalDate;
|
||||
@@ -10,7 +11,7 @@ import it.integry.ems_model.utility.UtilityString;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.sql.Connection;
|
||||
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
@@ -38,7 +39,7 @@ public class SQLServerDBSchemaManager {
|
||||
}
|
||||
|
||||
public void connect() throws SQLException {
|
||||
mConnection = DriverManager.getConnection(getConnectionString(mHost), mUsername, mPassword);
|
||||
mConnection = Connection.fromConnection(DriverManager.getConnection(getConnectionString(mHost), mUsername, mPassword));
|
||||
mConnection.setTransactionIsolation(java.sql.Connection.TRANSACTION_READ_UNCOMMITTED);
|
||||
mConnection.setAutoCommit(false);
|
||||
}
|
||||
|
||||
@@ -21,7 +21,8 @@ import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.sql.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@@ -89,8 +90,9 @@ public class LicenseComponent {
|
||||
if (response.getEsito() == EsitoType.KO) {
|
||||
throw new Exception(response.getErrorMessage());
|
||||
} else {
|
||||
List<LicenseStatusDTO> licenses = response.getDTO(new TypeReference<List<LicenseStatusDTO>>() {});
|
||||
if(licenses == null) return;
|
||||
List<LicenseStatusDTO> licenses = response.getDTO(new TypeReference<List<LicenseStatusDTO>>() {
|
||||
});
|
||||
if (licenses == null) return;
|
||||
|
||||
listAziende.forEach((key, value) -> {
|
||||
cachedLicenseStatus.remove(key);
|
||||
|
||||
@@ -15,7 +15,9 @@ import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.DriverManager;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -30,7 +32,7 @@ public class MenuStaticCreator {
|
||||
String username = "sa";
|
||||
String password = "sa";
|
||||
|
||||
Connection connection = DriverManager.getConnection(connectionString, username, password);
|
||||
Connection connection = Connection.fromConnection(DriverManager.getConnection(connectionString, username, password));
|
||||
connection.setTransactionIsolation(java.sql.Connection.TRANSACTION_READ_UNCOMMITTED);
|
||||
connection.setAutoCommit(false);
|
||||
|
||||
|
||||
@@ -26,7 +26,9 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static it.integry.ems_model.utility.UtilityDB.executeStatement;
|
||||
@@ -155,17 +157,17 @@ public class MenuConfigurationService {
|
||||
insertBulkPs.setString(2, stbMenuDto.getDescrizione());
|
||||
insertBulkPs.setString(3, stbMenuDto.getCodParent());
|
||||
|
||||
if(stbMenuDto.getPos() != null) insertBulkPs.setInt(4, stbMenuDto.getPos());
|
||||
if (stbMenuDto.getPos() != null) insertBulkPs.setInt(4, stbMenuDto.getPos());
|
||||
else insertBulkPs.setObject(4, null);
|
||||
|
||||
insertBulkPs.setString(5, stbMenuDto.getTipoAzienda());
|
||||
insertBulkPs.setString(6, stbMenuDto.getFlagAttivo());
|
||||
insertBulkPs.setString(7, stbMenuDto.getUrlDescrizione());
|
||||
|
||||
if(stbMenuDto.getPosTipoAzienda() != null) insertBulkPs.setInt(8, stbMenuDto.getPosTipoAzienda());
|
||||
if (stbMenuDto.getPosTipoAzienda() != null) insertBulkPs.setInt(8, stbMenuDto.getPosTipoAzienda());
|
||||
else insertBulkPs.setObject(8, null);
|
||||
|
||||
if(stbMenuDto.getPosCliente() != null) insertBulkPs.setInt(9, stbMenuDto.getPosCliente());
|
||||
if (stbMenuDto.getPosCliente() != null) insertBulkPs.setInt(9, stbMenuDto.getPosCliente());
|
||||
else insertBulkPs.setObject(9, null);
|
||||
|
||||
insertBulkPs.setString(10, stbMenuDto.getDescrizioneEstesa());
|
||||
|
||||
@@ -7,6 +7,7 @@ import it.integry.ems.schedule.new_cron_job.service.AutomatedOperationHandlerCom
|
||||
import it.integry.ems.settings.Model.SettingsModel;
|
||||
import it.integry.ems.settings.SettingsController;
|
||||
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems.utility.UtilityDebug;
|
||||
import it.integry.ems_model.entity.Azienda;
|
||||
import it.integry.ems_model.entity.StbGestSetup;
|
||||
@@ -25,7 +26,10 @@ import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.web.context.ContextLoader;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.sql.*;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@@ -129,7 +133,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
||||
}
|
||||
|
||||
protected void createIndex(IndexTableDTO indexTableDTO) throws Exception {
|
||||
UtilityDB.createIndex(advancedDataSource.getConnection(), indexTableDTO );
|
||||
UtilityDB.createIndex(advancedDataSource.getConnection(), indexTableDTO);
|
||||
}
|
||||
|
||||
|
||||
@@ -459,7 +463,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
||||
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));
|
||||
Query.format("SELECT cast(count(*) as bit) FROM stb_gest_sync WHERE gest_name = %s", gestName));
|
||||
|
||||
StbGestSync gestSync =
|
||||
new StbGestSync()
|
||||
@@ -467,7 +471,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
|
||||
.setSyncronize("R");
|
||||
if (existRow) {
|
||||
gestSync.setOperation(OperationType.UPDATE);
|
||||
} else{
|
||||
} else {
|
||||
String entityName =
|
||||
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
|
||||
Query.format("SELECT entity_name FROM stb_menu_opz WHERE gest_name = %s", gestName));
|
||||
|
||||
@@ -5,7 +5,8 @@ import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
|
||||
import java.sql.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.Statement;
|
||||
import java.util.List;
|
||||
@@ -28,7 +29,7 @@ public class Migration_20210721093948 extends BaseMigration implements Migration
|
||||
|
||||
String connectionString = String.format("jdbc:sqlserver://%s;applicationName=%s", dbHost, "EMS Connection");
|
||||
|
||||
Connection connection = DriverManager.getConnection(connectionString, dbUsername, dbPassword);
|
||||
Connection connection = Connection.fromConnection(DriverManager.getConnection(connectionString, dbUsername, dbPassword));
|
||||
|
||||
String sqlSessions = "SELECT conn.session_id " +
|
||||
"FROM sys.dm_exec_sessions AS sess " +
|
||||
|
||||
@@ -5,7 +5,8 @@ import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
|
||||
import java.sql.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.Statement;
|
||||
import java.util.List;
|
||||
@@ -29,7 +30,7 @@ public class Migration_20210924152555 extends BaseMigration implements Migration
|
||||
|
||||
String connectionString = String.format("jdbc:sqlserver://%s;applicationName=%s", dbHost, "EMS Connection");
|
||||
|
||||
Connection connection = DriverManager.getConnection(connectionString, dbUsername, dbPassword);
|
||||
Connection connection = Connection.fromConnection(DriverManager.getConnection(connectionString, dbUsername, dbPassword));
|
||||
|
||||
String sqlSessions = "SELECT conn.session_id " +
|
||||
"FROM sys.dm_exec_sessions AS sess " +
|
||||
|
||||
@@ -13,7 +13,8 @@ import it.integry.ems_model.utility.UtilityString;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.sql.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -14,7 +14,8 @@ import it.integry.ems_model.utility.UtilityString;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.sql.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -8,7 +8,9 @@ import it.integry.ems_model.utility.UtilityHashMap;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.IOException;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -50,8 +52,8 @@ public class Migration_20240212000000 extends BaseMigration implements Migration
|
||||
Long newParentId = getNewGeneratedIdFromOldKey(oldId, oldStbPublications);
|
||||
|
||||
String insertSql = Query.format("INSERT INTO stb_publications_detail " +
|
||||
"(stb_publication_id, entity_name, where_cond_sql, recalc_columns, active, where_cond, ready_to_transmit) " +
|
||||
"VALUES (%s, %s, %s, %s, %s, %s, %s)",
|
||||
"(stb_publication_id, entity_name, where_cond_sql, recalc_columns, active, where_cond, ready_to_transmit) " +
|
||||
"VALUES (%s, %s, %s, %s, %s, %s, %s)",
|
||||
newParentId,
|
||||
entityName,
|
||||
whereCondSql,
|
||||
|
||||
@@ -3,7 +3,9 @@ package it.integry.ems.object_storage.interfaces;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IObjectStorageService {
|
||||
|
||||
@@ -24,7 +24,9 @@ import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package it.integry.ems.response;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
|
||||
@@ -4,6 +4,9 @@ import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.*;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
@@ -3,7 +3,8 @@ package it.integry.ems.response;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
|
||||
import java.sql.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
@@ -3,6 +3,9 @@ package it.integry.ems.response;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
import org.json.JSONObject;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.*;
|
||||
import java.util.Date;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package it.integry.ems.response;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
@@ -8,8 +9,13 @@ import org.apache.logging.log4j.Logger;
|
||||
import org.json.JSONObject;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.sql.*;
|
||||
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class WsPriceList {
|
||||
@@ -78,12 +84,12 @@ public class WsPriceList {
|
||||
JSONObject le_priceList = new JSONObject();
|
||||
|
||||
SetupGest setupGest = new SetupGest();
|
||||
ls_codMdep = UtilityString.streNull(setupGest.getSetup("WS_PRICELIST","SETUP","COD_MDEP"));
|
||||
if (ls_codMdep.length() == 0){
|
||||
throw new Exception("Codice deposito non configurato in WS_PRICELIST");
|
||||
ls_codMdep = UtilityString.streNull(setupGest.getSetup("WS_PRICELIST", "SETUP", "COD_MDEP"));
|
||||
if (ls_codMdep.length() == 0) {
|
||||
throw new Exception("Codice deposito non configurato in WS_PRICELIST");
|
||||
}
|
||||
ls_orderBy1 = UtilityString.streNull(setupGest.getSetup("WS_PRICELIST","SETUP","ORDE_BY"));
|
||||
if (ls_orderBy1.length() == 0){
|
||||
ls_orderBy1 = UtilityString.streNull(setupGest.getSetup("WS_PRICELIST", "SETUP", "ORDE_BY"));
|
||||
if (ls_orderBy1.length() == 0) {
|
||||
ls_orderBy1 = "mtb_grup.descrizione,mtb_sgrp.descrizione,";
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package it.integry.ems.rules.businessLogic;
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.rules.businessLogic.enums.TipoPartita;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.coollection.Coollection;
|
||||
import it.integry.ems_model.coollection.query.order.Order;
|
||||
import it.integry.ems_model.db.ResultSetMapper;
|
||||
@@ -10,50 +11,43 @@ import it.integry.ems_model.entity.*;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.*;
|
||||
import org.joda.time.DateTime;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.Duration;
|
||||
import java.time.LocalDate;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static java.time.temporal.ChronoUnit.DAYS;
|
||||
|
||||
public class AccountingBusinessLogic {
|
||||
public static CtbPart completePartita(CtbMovt ctbMovt) {
|
||||
Integer annoPart = Integer.parseInt(new SimpleDateFormat("yyyy").format(ctbMovt.getDataDoc()));
|
||||
CtbPart ctbPart =
|
||||
new CtbPart()
|
||||
.setTipoAnag(ctbMovt.getTipoAnag())
|
||||
.setCodAnag(ctbMovt.getCodAnag())
|
||||
.setCodVage(ctbMovt.getCodVage())
|
||||
.setAnnoPart(annoPart)
|
||||
.setDataDoc(ctbMovt.getDataDoc())
|
||||
.setSerDoc(ctbMovt.getSerDoc())
|
||||
.setNumDoc(ctbMovt.getNumDoc())
|
||||
.setCodDiviCont(ctbMovt.getCodDiviCont())
|
||||
.setCambioDiviCont(ctbMovt.getCambioDiviCont())
|
||||
.setTipoPartita(ctbMovt.getTipoPartita())
|
||||
.setIban(ctbMovt.getIban());
|
||||
.setTipoAnag(ctbMovt.getTipoAnag())
|
||||
.setCodAnag(ctbMovt.getCodAnag())
|
||||
.setCodVage(ctbMovt.getCodVage())
|
||||
.setAnnoPart(annoPart)
|
||||
.setDataDoc(ctbMovt.getDataDoc())
|
||||
.setSerDoc(ctbMovt.getSerDoc())
|
||||
.setNumDoc(ctbMovt.getNumDoc())
|
||||
.setCodDiviCont(ctbMovt.getCodDiviCont())
|
||||
.setCambioDiviCont(ctbMovt.getCambioDiviCont())
|
||||
.setTipoPartita(ctbMovt.getTipoPartita())
|
||||
.setIban(ctbMovt.getIban());
|
||||
ctbPart.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
if (ctbMovt.getCtbMovi() == null || ctbMovt.getCtbMovi().size() == 0) {
|
||||
ctbPart.setTotImponib(ctbMovt.getImporto());
|
||||
} else {
|
||||
ctbPart
|
||||
.setTotImponib(ctbMovt.getTotImponib())
|
||||
.setTotIva(ctbMovt.getTotIva());
|
||||
.setTotImponib(ctbMovt.getTotImponib())
|
||||
.setTotIva(ctbMovt.getTotIva());
|
||||
}
|
||||
ctbPart
|
||||
.setCodPaga(ctbMovt.getCodPaga())
|
||||
.setNumDocForn(ctbMovt.getNumDocForn());
|
||||
.setCodPaga(ctbMovt.getCodPaga())
|
||||
.setNumDocForn(ctbMovt.getNumDocForn());
|
||||
return ctbPart;
|
||||
}
|
||||
|
||||
@@ -61,21 +55,22 @@ public class AccountingBusinessLogic {
|
||||
List<CtbScad> elencoScad = generaScad(conn, testata);
|
||||
testata.setCtbScad(elencoScad);
|
||||
}
|
||||
|
||||
public static List<CtbScad> generaScad(Connection conn, CtbMovt testata) throws Exception {
|
||||
if (testata.getDataDoc() == null)
|
||||
throw new Exception("Data documento non presente");
|
||||
Integer annoPart = Integer.parseInt(new SimpleDateFormat("yyyy").format(testata.getDataDoc()));
|
||||
BigDecimal totImponib = testata.getTotImponib();
|
||||
|
||||
if ( UtilityString.isNullOrEmpty(testata.getCodPaga() ))
|
||||
if (UtilityString.isNullOrEmpty(testata.getCodPaga()))
|
||||
throw new Exception(
|
||||
String.format(
|
||||
"Attezione, codice pagamento non presente nel documento %s/%s del %s, %s %s",
|
||||
testata.getSerDoc(),
|
||||
testata.getNumDoc(),
|
||||
new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(testata.getDataDoc()),
|
||||
(testata.getTipoAnag().equalsIgnoreCase("F")?"fornitore":"cliente"),
|
||||
testata.getCodAnag()));
|
||||
"Attezione, codice pagamento non presente nel documento %s/%s del %s, %s %s",
|
||||
testata.getSerDoc(),
|
||||
testata.getNumDoc(),
|
||||
new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(testata.getDataDoc()),
|
||||
(testata.getTipoAnag().equalsIgnoreCase("F") ? "fornitore" : "cliente"),
|
||||
testata.getCodAnag()));
|
||||
|
||||
|
||||
if ("S".equals(testata.getGeneraScad()) &&
|
||||
@@ -141,13 +136,13 @@ public class AccountingBusinessLogic {
|
||||
ritenuta = ritenuta.divide(testata.getCambioDiviCont()).setScale(5, RoundingMode.HALF_UP);
|
||||
CtbScad ctbScad =
|
||||
new CtbScad()
|
||||
.setCodPaga(setup.get("RITENUTA"))
|
||||
.setTipoAnag(testata.getTipoAnag())
|
||||
.setCodAnag(testata.getCodAnag())
|
||||
.setAnnoPart(annoPart)
|
||||
.setSerDoc(testata.getSerDoc())
|
||||
.setNumDoc(testata.getNumDoc())
|
||||
.setDataScad(testata.getDataDoc());
|
||||
.setCodPaga(setup.get("RITENUTA"))
|
||||
.setTipoAnag(testata.getTipoAnag())
|
||||
.setCodAnag(testata.getCodAnag())
|
||||
.setAnnoPart(annoPart)
|
||||
.setSerDoc(testata.getSerDoc())
|
||||
.setNumDoc(testata.getNumDoc())
|
||||
.setDataScad(testata.getDataDoc());
|
||||
if (testata.getTipoPartitaEnum() == TipoPartita.ATTIVA) {
|
||||
ctbScad.setImpDare(ritenuta);
|
||||
ctbScad.setImpAvere(BigDecimal.ZERO);
|
||||
@@ -165,13 +160,13 @@ public class AccountingBusinessLogic {
|
||||
enasarco = enasarco.divide(testata.getCambioDiviCont()).setScale(5, RoundingMode.HALF_UP);
|
||||
CtbScad ctbScad =
|
||||
new CtbScad()
|
||||
.setCodPaga(setup.get("ENASARCO"))
|
||||
.setTipoAnag(testata.getTipoAnag())
|
||||
.setCodAnag(testata.getCodAnag())
|
||||
.setAnnoPart(annoPart)
|
||||
.setSerDoc(testata.getSerDoc())
|
||||
.setNumDoc(testata.getNumDoc())
|
||||
.setDataScad(testata.getDataDoc());
|
||||
.setCodPaga(setup.get("ENASARCO"))
|
||||
.setTipoAnag(testata.getTipoAnag())
|
||||
.setCodAnag(testata.getCodAnag())
|
||||
.setAnnoPart(annoPart)
|
||||
.setSerDoc(testata.getSerDoc())
|
||||
.setNumDoc(testata.getNumDoc())
|
||||
.setDataScad(testata.getDataDoc());
|
||||
if (testata.getTipoPartitaEnum() == TipoPartita.ATTIVA) {
|
||||
ctbScad.setImpDare(enasarco);
|
||||
ctbScad.setImpAvere(BigDecimal.ZERO);
|
||||
@@ -220,16 +215,16 @@ public class AccountingBusinessLogic {
|
||||
|
||||
String sql =
|
||||
Query.format(
|
||||
"SELECT crl_movt_rif_cmov.num_cmov_rif, "
|
||||
+ "ctb_movt.num_doc, "
|
||||
+ "ctb_movt.num_prot, "
|
||||
+ "ctb_movt.ser_doc, "
|
||||
+ "ctb_movt.num_ireg "
|
||||
+ "FROM crl_movt_rif_cmov INNER JOIN ctb_movt on crl_movt_rif_cmov.num_cmov_rif = ctb_movt.num_cmov "
|
||||
+ "INNER JOIN (SELECT distinct cod_ccau_rc "
|
||||
+ " FROM ctb_caus "
|
||||
+ " WHERE cod_ccau IS NOT NULL) ctb_caus ON ctb_movt.cod_ccau = ctb_caus.cod_ccau_rc "
|
||||
+ "WHERE crl_movt_rif_cmov.num_cmov = %s", UtilityDB.valueToString(numCmov));
|
||||
"SELECT crl_movt_rif_cmov.num_cmov_rif, "
|
||||
+ "ctb_movt.num_doc, "
|
||||
+ "ctb_movt.num_prot, "
|
||||
+ "ctb_movt.ser_doc, "
|
||||
+ "ctb_movt.num_ireg "
|
||||
+ "FROM crl_movt_rif_cmov INNER JOIN ctb_movt on crl_movt_rif_cmov.num_cmov_rif = ctb_movt.num_cmov "
|
||||
+ "INNER JOIN (SELECT distinct cod_ccau_rc "
|
||||
+ " FROM ctb_caus "
|
||||
+ " WHERE cod_ccau IS NOT NULL) ctb_caus ON ctb_movt.cod_ccau = ctb_caus.cod_ccau_rc "
|
||||
+ "WHERE crl_movt_rif_cmov.num_cmov = %s", UtilityDB.valueToString(numCmov));
|
||||
|
||||
HashMap<String, Object> datiMovRc = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
|
||||
|
||||
@@ -304,29 +299,29 @@ public class AccountingBusinessLogic {
|
||||
|
||||
if (!isReverseCharge && numCmovRC != null) {
|
||||
ctbMovtRC = new CtbMovt()
|
||||
.setNumCmov(numCmovRC)
|
||||
.setNumCmovRif(numCmov);
|
||||
.setNumCmov(numCmovRC)
|
||||
.setNumCmovRif(numCmov);
|
||||
ctbMovtRC.setOperation(OperationType.DELETE);
|
||||
} else if (isReverseCharge) {
|
||||
totDoc = totImponib.add(totIva);
|
||||
ctbMovtRC =
|
||||
new CtbMovt()
|
||||
.setNumCmov(numCmovRC)
|
||||
.setDataCmov(dataCmov)
|
||||
.setCodCcau(testata.getCodCcauRc())
|
||||
.setImporto(totDoc)
|
||||
.setDataDoc(dataCmov)
|
||||
.setNumIreg(numIregRc)
|
||||
.setSerDoc(serDocRc)
|
||||
.setNumDoc(numDocRC)
|
||||
.setNumProt(numProtRC)
|
||||
.setTipoAnag(testata.getTipoAnag())
|
||||
.setCodAnag(testata.getCodAnag())
|
||||
.setCodJcom(testata.getCodJcom())
|
||||
.setGeneraScad("N")
|
||||
.setCtbMovi(ctbMoviRC)
|
||||
.setNumCmovRif(numCmov)
|
||||
.setDataCompIva(testata.getDataCompIva());
|
||||
.setNumCmov(numCmovRC)
|
||||
.setDataCmov(dataCmov)
|
||||
.setCodCcau(testata.getCodCcauRc())
|
||||
.setImporto(totDoc)
|
||||
.setDataDoc(dataCmov)
|
||||
.setNumIreg(numIregRc)
|
||||
.setSerDoc(serDocRc)
|
||||
.setNumDoc(numDocRC)
|
||||
.setNumProt(numProtRC)
|
||||
.setTipoAnag(testata.getTipoAnag())
|
||||
.setCodAnag(testata.getCodAnag())
|
||||
.setCodJcom(testata.getCodJcom())
|
||||
.setGeneraScad("N")
|
||||
.setCtbMovi(ctbMoviRC)
|
||||
.setNumCmovRif(numCmov)
|
||||
.setDataCompIva(testata.getDataCompIva());
|
||||
|
||||
OperationType op;
|
||||
if (numCmovRC != null) {
|
||||
@@ -420,6 +415,7 @@ public class AccountingBusinessLogic {
|
||||
public static BigDecimal pagaScadenze(Date dataCmov, BigDecimal residuo, List<CtbScad> elencoScadenze) {
|
||||
return pagaScadenze(dataCmov, residuo, elencoScadenze, null);
|
||||
}
|
||||
|
||||
public static BigDecimal pagaScadenze(Date dataCmov, BigDecimal residuo, List<CtbScad> elencoScadenze, Integer idRigaMov) {
|
||||
long countScad =
|
||||
Stream.of(elencoScadenze)
|
||||
@@ -443,7 +439,7 @@ public class AccountingBusinessLogic {
|
||||
BigDecimal impScad = ctbScadOrig.getImpDare().subtract(ctbScadOrig.getImpAvere());
|
||||
impScad = impScad.abs();
|
||||
|
||||
if (!UtilityBigDecimal.isNullOrZero(residuo) && ctbScadOrig.getDataPag() == null ) {
|
||||
if (!UtilityBigDecimal.isNullOrZero(residuo) && ctbScadOrig.getDataPag() == null) {
|
||||
residuo = residuo.abs();
|
||||
if (UtilityBigDecimal.equalsOrGreaterThan(residuo, impScad)) {
|
||||
if (UtilityBigDecimal.equalsTo(residuo, impScad)) {
|
||||
@@ -534,7 +530,7 @@ public class AccountingBusinessLogic {
|
||||
|
||||
long giorniTot = UtilityLocalDate.daysAfterDate(dataInizComp, dataFineCompMov);
|
||||
long giorniAnno = UtilityLocalDate.daysAfterDate(dataInizComp, UtilityLocalDate.localDateFromDate(dataFineComp));
|
||||
importoCompetenza = impRisconto.divide(new BigDecimal(giorniTot ), 10, RoundingMode.HALF_UP).multiply(new BigDecimal(giorniAnno)).setScale(2, RoundingMode.HALF_UP);
|
||||
importoCompetenza = impRisconto.divide(new BigDecimal(giorniTot), 10, RoundingMode.HALF_UP).multiply(new BigDecimal(giorniAnno)).setScale(2, RoundingMode.HALF_UP);
|
||||
}
|
||||
|
||||
return importoCompetenza;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
package it.integry.ems.rules.businessLogic;
|
||||
|
||||
import com.annimon.stream.Optional;
|
||||
import com.annimon.stream.OptionalInt;
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.rules.businessLogic.dto.DocCompDTO;
|
||||
import it.integry.ems.rules.completing.CommonRules;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
import it.integry.ems_model.coollection.Coollection;
|
||||
import it.integry.ems_model.db.ResultSetMapper;
|
||||
@@ -19,10 +18,11 @@ import org.apache.logging.log4j.Logger;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.sql.*;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.Timestamp;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.Date;
|
||||
|
||||
public class DocumentBusinessLogic {
|
||||
protected final static Logger logger = LogManager.getLogger();
|
||||
@@ -215,12 +215,12 @@ public class DocumentBusinessLogic {
|
||||
if (dtbDoct.getCtbScad() != null && dtbDoct.getCtbScad().size() > 0) {
|
||||
query =
|
||||
"SELECT * " +
|
||||
" FROM ctb_part " +
|
||||
"WHERE cod_anag = " + UtilityDB.valueToString(dtbDoct.getCodAnag()) + " AND " +
|
||||
" data_doc = " + UtilityDB.valueDateToString(dtbDoct.getDataDoc(), CommonConstants.DATE_FORMAT_YMD) + " AND " +
|
||||
" ser_doc = " + UtilityDB.valueToString(dtbDoct.getSerDoc()) + " AND " +
|
||||
" num_doc = " + UtilityDB.valueToString(dtbDoct.getNumDoc()) + " AND " +
|
||||
" tipo_partita = " + UtilityDB.valueToString(tipoPartita);
|
||||
" FROM ctb_part " +
|
||||
"WHERE cod_anag = " + UtilityDB.valueToString(dtbDoct.getCodAnag()) + " AND " +
|
||||
" data_doc = " + UtilityDB.valueDateToString(dtbDoct.getDataDoc(), CommonConstants.DATE_FORMAT_YMD) + " AND " +
|
||||
" ser_doc = " + UtilityDB.valueToString(dtbDoct.getSerDoc()) + " AND " +
|
||||
" num_doc = " + UtilityDB.valueToString(dtbDoct.getNumDoc()) + " AND " +
|
||||
" tipo_partita = " + UtilityDB.valueToString(tipoPartita);
|
||||
|
||||
ctbPart = new ResultSetMapper()
|
||||
.mapQueryToObject(conn, query, CtbPart.class, OperationType.UPDATE);
|
||||
@@ -257,9 +257,9 @@ public class DocumentBusinessLogic {
|
||||
if (!UtilityString.isNullOrEmpty(codPaga)) {
|
||||
query =
|
||||
Query.format(
|
||||
"SELECT Cast(case WHEN (CASE WHEN %s = 'V' THEN flag_banca_ven ELSE flag_banca_acq END) = 'A' THEN 1 ELSE 0 END as bit) " +
|
||||
" FROM gtb_paga INNER JOIN gtb_tipi_paga on gtb_paga.tipo_paga = gtb_tipi_paga.tipo_paga " +
|
||||
" WHERE gtb_paga.cod_paga = %s",
|
||||
"SELECT Cast(case WHEN (CASE WHEN %s = 'V' THEN flag_banca_ven ELSE flag_banca_acq END) = 'A' THEN 1 ELSE 0 END as bit) " +
|
||||
" FROM gtb_paga INNER JOIN gtb_tipi_paga on gtb_paga.tipo_paga = gtb_tipi_paga.tipo_paga " +
|
||||
" WHERE gtb_paga.cod_paga = %s",
|
||||
dtbDoct.getGestione(), codPaga);
|
||||
|
||||
Boolean setBancaAziendale = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, query);
|
||||
@@ -441,7 +441,7 @@ public class DocumentBusinessLogic {
|
||||
if ("S".equalsIgnoreCase(generaScad)) {
|
||||
AccountingBusinessLogic.pagaScadenze(dataCmov, totDoc, elencoScad, riga);
|
||||
Integer finalRiga = riga;
|
||||
ctbMovr.setCtbScad(Stream.of(elencoScad).filter(x->x.getIdRigaMov().equals(finalRiga)).toList());
|
||||
ctbMovr.setCtbScad(Stream.of(elencoScad).filter(x -> x.getIdRigaMov().equals(finalRiga)).toList());
|
||||
}
|
||||
}
|
||||
righeMov.add(ctbMovr);
|
||||
@@ -648,7 +648,7 @@ public class DocumentBusinessLogic {
|
||||
//RIGHE COSTI
|
||||
if (!isAutofattura) {
|
||||
if (dtbDoct.getGestione().equalsIgnoreCase("A") &&
|
||||
!UtilityString.isNullOrEmpty(codCconDocAp) && dtbDoct.getGestione().equalsIgnoreCase("A")) {
|
||||
!UtilityString.isNullOrEmpty(codCconDocAp) && dtbDoct.getGestione().equalsIgnoreCase("A")) {
|
||||
listaCosti = Stream.of(listaCosti)
|
||||
.filter(value -> !value.getCostoAP()).toList();
|
||||
}
|
||||
@@ -844,10 +844,10 @@ public class DocumentBusinessLogic {
|
||||
BigDecimal totCostiRicavi = BigDecimal.ZERO;
|
||||
|
||||
String sql =
|
||||
Query.format(
|
||||
"SELECT DateAdd(day, -1, data_iniz) as data_cmov, anno - 1 as anno \n" +
|
||||
" FROM gtb_periodo_fisc\n "+
|
||||
" WHERE %s BETWEEN data_iniz AND data_fine", dataCmov );
|
||||
Query.format(
|
||||
"SELECT DateAdd(day, -1, data_iniz) as data_cmov, anno - 1 as anno \n" +
|
||||
" FROM gtb_periodo_fisc\n " +
|
||||
" WHERE %s BETWEEN data_iniz AND data_fine", dataCmov);
|
||||
|
||||
HashMap<String, Object> datiMov = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
|
||||
|
||||
@@ -872,16 +872,16 @@ public class DocumentBusinessLogic {
|
||||
if (codCconCosto.compareTo(codCconCostoOld) != 0) {
|
||||
riga++;
|
||||
ctbMovr =
|
||||
new CtbMovr()
|
||||
.setCodCcon(codCconCosto)
|
||||
.setCodJcom(costo.getCodJcom())
|
||||
.setCodJfas(costo.getCodJfas())
|
||||
.setDataInizCompRisc(costo.getDataInizComp())
|
||||
.setDataFineCompRisc(costo.getDataFineComp())
|
||||
.setImpAvere(BigDecimal.ZERO)
|
||||
.setImpDare(BigDecimal.ZERO)
|
||||
.setRiga(riga)
|
||||
.setIdRiga(riga);
|
||||
new CtbMovr()
|
||||
.setCodCcon(codCconCosto)
|
||||
.setCodJcom(costo.getCodJcom())
|
||||
.setCodJfas(costo.getCodJfas())
|
||||
.setDataInizCompRisc(costo.getDataInizComp())
|
||||
.setDataFineCompRisc(costo.getDataFineComp())
|
||||
.setImpAvere(BigDecimal.ZERO)
|
||||
.setImpDare(BigDecimal.ZERO)
|
||||
.setRiga(riga)
|
||||
.setIdRiga(riga);
|
||||
costiCoan = new ArrayList<>();
|
||||
ctbMovr.setCtbMovrCoan(costiCoan);
|
||||
righeMov.add(ctbMovr);
|
||||
|
||||
@@ -7,6 +7,8 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.*;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
@@ -38,12 +40,12 @@ public class StoredProcedure {
|
||||
String codDtip = UtilityHashMap.getValueIfExists(inputData, "cod_dtip");
|
||||
Date dataDoc = UtilityHashMap.getValueIfExists(inputData, "data_doc");
|
||||
String serDoc = UtilityHashMap.getValueIfExists(inputData, "ser_doc");
|
||||
Integer numDoc = UtilityHashMap.getValueIfExists(inputData, "num_doc");
|
||||
Integer numDoc = UtilityHashMap.getValueIfExists(inputData, "num_doc");
|
||||
String codAnagOld = UtilityHashMap.getValueIfExists(inputData, "cod_anag_old");
|
||||
String codDtipOld = UtilityHashMap.getValueIfExists(inputData, "cod_dtip_old");
|
||||
Date dataDocOld = UtilityHashMap.getValueIfExists(inputData, "data_doc_old");
|
||||
String serDocOld = UtilityHashMap.getValueIfExists(inputData, "ser_doc_old");
|
||||
Integer numDocOld = UtilityHashMap.getValueIfExists(inputData, "num_doc_old");
|
||||
Integer numDocOld = UtilityHashMap.getValueIfExists(inputData, "num_doc_old");
|
||||
int segno = UtilityHashMap.getValueIfExists(inputData, "segno");
|
||||
String operation = UtilityHashMap.getValueIfExists(inputData, "operation");
|
||||
|
||||
@@ -70,7 +72,7 @@ public class StoredProcedure {
|
||||
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
if (multiDBTransactionManager != null ) {
|
||||
if (multiDBTransactionManager != null) {
|
||||
multiDBTransactionManager.rollbackAll();
|
||||
multiDBTransactionManager.closeAll();
|
||||
}
|
||||
@@ -108,7 +110,7 @@ public class StoredProcedure {
|
||||
|
||||
boolean mrpIsAbil = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
if (mrpIsAbil){
|
||||
if (mrpIsAbil) {
|
||||
String articoli = StringUtils.join(listaArticoli, '|');
|
||||
|
||||
CallableStatement StoredProcedure = multiDBTransactionManager.getPrimaryConnection().prepareCall("{call MRP_UpdateQtaImpProx(?)}");
|
||||
@@ -132,7 +134,7 @@ public class StoredProcedure {
|
||||
//DEADLOCK
|
||||
// new Thread(new StoredProcedure.UpdImpProx(profileDB, listaArticoli)).start();
|
||||
}
|
||||
if (multiDBTransactionManager != null ) {
|
||||
if (multiDBTransactionManager != null) {
|
||||
multiDBTransactionManager.rollbackAll();
|
||||
multiDBTransactionManager.closeAll();
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.exception.CheckConstraintException;
|
||||
import it.integry.ems.rules.businessLogic.AccountingBusinessLogic;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
import it.integry.ems_model.db.ResultSetMapper;
|
||||
import it.integry.ems_model.entity.*;
|
||||
@@ -41,7 +42,7 @@ public class AccountingRules extends QueryRules {
|
||||
" ctb_parr.num_doc = cp.num_doc AND\n" +
|
||||
" ctb_movt.num_cmov <> cp.num_cmov\n" +
|
||||
"where ctb_movt.num_cmov = " + UtilityDB.valueToString(numCmov) + " AND\n" +
|
||||
" ctb_caus.azione_su_partita = 0\n"+
|
||||
" ctb_caus.azione_su_partita = 0\n" +
|
||||
"and not exists (select * from crl_movt_rif_cmov where num_cmov = ctb_movt.num_cmov and cp.num_cmov = crl_movt_rif_cmov. num_cmov_rif )";
|
||||
boolean existParr = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||
return existParr;
|
||||
@@ -99,10 +100,10 @@ public class AccountingRules extends QueryRules {
|
||||
if (numProt == 0) numProt = 1;
|
||||
CtbInum ctbInum =
|
||||
new CtbInum()
|
||||
.setAnno(annoComp)
|
||||
.setCodIreg(codIreg)
|
||||
.setNumIreg(numIreg)
|
||||
.setNumProt(numProt);
|
||||
.setAnno(annoComp)
|
||||
.setCodIreg(codIreg)
|
||||
.setNumIreg(numIreg)
|
||||
.setNumProt(numProt);
|
||||
entity.setCtbInum(ctbInum);
|
||||
}
|
||||
|
||||
@@ -126,7 +127,7 @@ public class AccountingRules extends QueryRules {
|
||||
String sql =
|
||||
Query.format(
|
||||
"SELECT dbo.f_getAnnoFisc(%s)",
|
||||
dataCmov );
|
||||
dataCmov);
|
||||
|
||||
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
}
|
||||
@@ -432,32 +433,32 @@ public class AccountingRules extends QueryRules {
|
||||
|
||||
public static List<CrlScadParr> completeCrlParrScadScad(Connection conn, CtbScad ctbScad) throws Exception {
|
||||
String sql =
|
||||
Query.format(
|
||||
"SELECT *\n" +
|
||||
"FROM crl_scad_parr\n" +
|
||||
"where tipo_anag = %s \n" +
|
||||
" and cod_anag = %s\n" +
|
||||
" and anno_part = %s\n" +
|
||||
" and ser_doc = %s\n" +
|
||||
" and num_doc = %s\n" +
|
||||
" and id_riga_scad = %s\n" +
|
||||
" and num_cmov = %s\n" +
|
||||
" and id_riga_mov = %s ",
|
||||
ctbScad.getTipoAnag(),
|
||||
ctbScad.getCodAnag(),
|
||||
ctbScad.getAnnoPart(),
|
||||
ctbScad.getSerDoc(),
|
||||
ctbScad.getNumDoc(),
|
||||
ctbScad.getIdRiga(),
|
||||
ctbScad.getNumCmov(),
|
||||
ctbScad.getIdRigaMov());
|
||||
Query.format(
|
||||
"SELECT *\n" +
|
||||
"FROM crl_scad_parr\n" +
|
||||
"where tipo_anag = %s \n" +
|
||||
" and cod_anag = %s\n" +
|
||||
" and anno_part = %s\n" +
|
||||
" and ser_doc = %s\n" +
|
||||
" and num_doc = %s\n" +
|
||||
" and id_riga_scad = %s\n" +
|
||||
" and num_cmov = %s\n" +
|
||||
" and id_riga_mov = %s ",
|
||||
ctbScad.getTipoAnag(),
|
||||
ctbScad.getCodAnag(),
|
||||
ctbScad.getAnnoPart(),
|
||||
ctbScad.getSerDoc(),
|
||||
ctbScad.getNumDoc(),
|
||||
ctbScad.getIdRiga(),
|
||||
ctbScad.getNumCmov(),
|
||||
ctbScad.getIdRigaMov());
|
||||
List<CrlScadParr> crlScadParrs = UtilityDB.executeSimpleQueryDTO(conn, sql, CrlScadParr.class);
|
||||
|
||||
if (crlScadParrs != null) {
|
||||
crlScadParrs.stream().forEach(x -> x.setOperation(OperationType.DELETE));
|
||||
}
|
||||
|
||||
if (crlScadParrs != null && crlScadParrs.size() > 0 ){
|
||||
if (crlScadParrs != null && crlScadParrs.size() > 0) {
|
||||
sql =
|
||||
Query.format(
|
||||
"SELECT *\n" +
|
||||
@@ -477,7 +478,7 @@ public class AccountingRules extends QueryRules {
|
||||
ctbScad.getNumCmov(),
|
||||
ctbScad.getIdRigaMov());
|
||||
List<CtbParr> ctbParr = UtilityDB.executeSimpleQueryDTO(conn, sql, CtbParr.class);
|
||||
ctbParr.stream().forEach(x->x.setOperation(OperationType.DELETE));
|
||||
ctbParr.stream().forEach(x -> x.setOperation(OperationType.DELETE));
|
||||
ctbScad.setCtbParr(ctbParr);
|
||||
}
|
||||
|
||||
@@ -510,7 +511,7 @@ public class AccountingRules extends QueryRules {
|
||||
.findFirst();
|
||||
|
||||
if (UtilityBigDecimal.equalsOrGreaterThan(scad.getImpAvere(), BigDecimal.ZERO) &&
|
||||
UtilityBigDecimal.equalsOrGreaterThan(scad.getImpDare(), BigDecimal.ZERO)) {
|
||||
UtilityBigDecimal.equalsOrGreaterThan(scad.getImpDare(), BigDecimal.ZERO)) {
|
||||
|
||||
CtbParr ctbParr;
|
||||
if (ctbParrFirst.isPresent()) {
|
||||
@@ -603,7 +604,7 @@ public class AccountingRules extends QueryRules {
|
||||
sql = UtilityDB.addwhereCond(sql, where, true);
|
||||
|
||||
Long id = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
if (id == null )
|
||||
if (id == null)
|
||||
crlScadParr.setOperation(OperationType.INSERT);
|
||||
else {
|
||||
crlScadParr.setId(id);
|
||||
@@ -619,15 +620,15 @@ public class AccountingRules extends QueryRules {
|
||||
} else {
|
||||
String sql =
|
||||
Query.format(
|
||||
"SELECT cast(count(*) as bit)" +
|
||||
" FROM ctb_parr " +
|
||||
" WHERE cod_anag = %s AND " +
|
||||
"tipo_anag = %s AND " +
|
||||
"anno_part = %s AND " +
|
||||
"ser_doc = %s AND " +
|
||||
"num_doc = %s AND " +
|
||||
"id_riga = %s ",
|
||||
ctbMovr.getCodAnag(), ctbMovr.getTipoAnag(), ctbMovr.getAnnoPart(), ctbMovr.getSerDoc(), ctbMovr.getNumDoc(), ctbMovr.getIdRiga());
|
||||
"SELECT cast(count(*) as bit)" +
|
||||
" FROM ctb_parr " +
|
||||
" WHERE cod_anag = %s AND " +
|
||||
"tipo_anag = %s AND " +
|
||||
"anno_part = %s AND " +
|
||||
"ser_doc = %s AND " +
|
||||
"num_doc = %s AND " +
|
||||
"id_riga = %s ",
|
||||
ctbMovr.getCodAnag(), ctbMovr.getTipoAnag(), ctbMovr.getAnnoPart(), ctbMovr.getSerDoc(), ctbMovr.getNumDoc(), ctbMovr.getIdRiga());
|
||||
|
||||
boolean existRow = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
|
||||
@@ -654,7 +655,7 @@ public class AccountingRules extends QueryRules {
|
||||
return elencoPartite;
|
||||
}
|
||||
|
||||
public static List<CtbMovrCoan> completeCtbMovrCoan(Connection conn, CtbMovr ctbMovr) throws Exception{
|
||||
public static List<CtbMovrCoan> completeCtbMovrCoan(Connection conn, CtbMovr ctbMovr) throws Exception {
|
||||
String sql = String.format(
|
||||
"SELECT * FROM ctb_movr_coan WHERE num_cmov = %s AND id_riga = %s",
|
||||
UtilityDB.valueToString(ctbMovr.getNumCmov()),
|
||||
@@ -758,11 +759,11 @@ public class AccountingRules extends QueryRules {
|
||||
String sql = "SELECT anno_contab, anno_attuale FROM azienda ";
|
||||
HashMap<String, Object> dati = UtilityDB.executeSimpleQueryOnlyFirstRow(connection, sql);
|
||||
|
||||
if (dati != null && dati.size() >0 ) {
|
||||
if (dati != null && dati.size() > 0) {
|
||||
Short annoContab = UtilityHashMap.getValueIfExists(dati, "anno_contab");
|
||||
Short annoAttuale = UtilityHashMap.getValueIfExists(dati, "anno_attuale");
|
||||
|
||||
return (annoComp.compareTo(annoContab.intValue()) != 0 && annoComp.compareTo(annoAttuale.intValue()) != 0);
|
||||
return (annoComp.compareTo(annoContab.intValue()) != 0 && annoComp.compareTo(annoAttuale.intValue()) != 0);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
@@ -816,7 +817,7 @@ public class AccountingRules extends QueryRules {
|
||||
}
|
||||
|
||||
public static void completeIdRigaScad(Connection conn, CtbScad ctbScad) throws Exception {
|
||||
if ( ctbScad.getParent() != null && ctbScad.getParent() instanceof CtbPart) return;
|
||||
if (ctbScad.getParent() != null && ctbScad.getParent() instanceof CtbPart) return;
|
||||
String sql =
|
||||
"SELECT IsNull(max(id_riga), 0) + 1 " +
|
||||
" FROM ctb_scad " +
|
||||
@@ -994,7 +995,7 @@ public class AccountingRules extends QueryRules {
|
||||
ResultSetMapper resultSetMapper = new ResultSetMapper();
|
||||
List<CtbScad> ctbScad = resultSetMapper.mapQuerySetToList(conn, sql, CtbScad.class);
|
||||
if (ctbMovr.getOperation() == OperationType.DELETE && ctbScad.size() > 0) {
|
||||
for ( CtbScad x: ctbScad) {
|
||||
for (CtbScad x : ctbScad) {
|
||||
x.setOperation(x.getIsInsoluto() ? OperationType.DELETE : OperationType.UPDATE);
|
||||
CrlScadParr crlScadParr =
|
||||
new CrlScadParr()
|
||||
@@ -1008,9 +1009,10 @@ public class AccountingRules extends QueryRules {
|
||||
.setNumCmov(ctbMovr.getNumCmov())
|
||||
.setId(x.getPkRelazione());
|
||||
crlScadParr.setOperation(OperationType.DELETE);
|
||||
if (x.getCrlScadParr() == null ) x.setCrlScadParr(new ArrayList<>());
|
||||
if (x.getCrlScadParr() == null) x.setCrlScadParr(new ArrayList<>());
|
||||
x.getCrlScadParr().add(crlScadParr);
|
||||
};
|
||||
}
|
||||
;
|
||||
}
|
||||
|
||||
return ctbScad;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package it.integry.ems.rules.completing;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.rules.util.DroolsUtil;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.util.HashMap;
|
||||
|
||||
public class AgentiRules extends QueryRules {
|
||||
|
||||
@@ -2,6 +2,7 @@ package it.integry.ems.rules.completing;
|
||||
|
||||
import it.integry.ems.service.comuni.entities.Comune;
|
||||
import it.integry.ems.service.comuni.service.ComuniService;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.entity.*;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.Query;
|
||||
@@ -12,7 +13,6 @@ import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.web.context.ContextLoader;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package it.integry.ems.rules.completing;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.entity.ArlListDataAttach;
|
||||
import it.integry.ems_model.entity.CrlMovAttached;
|
||||
import it.integry.ems_model.entity.StbFilesAttached;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
|
||||
import java.sql.CallableStatement;
|
||||
import java.sql.Connection;
|
||||
import java.sql.Types;
|
||||
|
||||
public class AttachedRules extends QueryRules {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package it.integry.ems.rules.completing;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.entity.JtbComt;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.annimon.stream.ComparatorCompat;
|
||||
import com.annimon.stream.Optional;
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.annotation.ReloadRow;
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
@@ -25,9 +26,11 @@ import org.springframework.util.ReflectionUtils;
|
||||
import java.lang.reflect.Field;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.sql.*;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
@@ -40,7 +43,7 @@ public class CommonRules extends QueryRules {
|
||||
public static MtbAart completeDatiMtbAart(Connection connection, String codMart) throws Exception {
|
||||
String sql = "SELECT * FROM mtb_aart WHERE cod_mart = " + UtilityDB.valueToString(codMart);
|
||||
|
||||
if(codMart == null || codMart.isEmpty())
|
||||
if (codMart == null || codMart.isEmpty())
|
||||
throw new Exception("Impossibile trovare l'articolo");
|
||||
|
||||
final MtbAart mtbAart = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(connection, sql, MtbAart.class);
|
||||
@@ -154,7 +157,7 @@ public class CommonRules extends QueryRules {
|
||||
String sql = "SELECT full_name FROM stb_user WHERE user_name = '" + username + "'";
|
||||
String value = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(value)) return value;
|
||||
if (!UtilityString.isNullOrEmpty(value)) return value;
|
||||
|
||||
return username;
|
||||
}
|
||||
@@ -177,7 +180,7 @@ public class CommonRules extends QueryRules {
|
||||
finalList = new ArrayList<>();
|
||||
field.setAccessible(true);
|
||||
Object object = field.get(testata);
|
||||
if (object != null && field.getType().isAssignableFrom(List.class) && ( field.getAnnotation(ReloadRow.class) != null || testata.getOperation() == OperationType.SUBSTITUTE)) {
|
||||
if (object != null && field.getType().isAssignableFrom(List.class) && (field.getAnnotation(ReloadRow.class) != null || testata.getOperation() == OperationType.SUBSTITUTE)) {
|
||||
List<? extends EntityBase> rows = (ArrayList<EntityBase>) object;
|
||||
List<? extends EntityBase> list = null;
|
||||
if (testata.getOperation() != OperationType.DELETE_THEN_INSERT &&
|
||||
@@ -312,7 +315,7 @@ public class CommonRules extends QueryRules {
|
||||
}
|
||||
|
||||
for (EntityBase row : rows) {
|
||||
if (rigaField.get(row) == null || testata.getOperation() == OperationType.INSERT ) {
|
||||
if (rigaField.get(row) == null || testata.getOperation() == OperationType.INSERT) {
|
||||
startRiga++;
|
||||
rigaField.set(row, startRiga);
|
||||
}
|
||||
@@ -354,7 +357,7 @@ public class CommonRules extends QueryRules {
|
||||
|
||||
}
|
||||
|
||||
public static void completePosRigaEntity(Connection conn, DtbOrdt testata) throws Exception {
|
||||
public static void completePosRigaEntity(Connection conn, DtbOrdt testata) throws Exception {
|
||||
List<DtbOrdr> rows = Stream.of(testata.getDtbOrdr()).filter(x -> x.getOperation() != OperationType.DELETE).toList();
|
||||
if (rows.size() > 0) {
|
||||
if (testata.getExecuteRecalc()) {
|
||||
@@ -366,7 +369,7 @@ public class CommonRules extends QueryRules {
|
||||
} else {
|
||||
Integer posRigaLista =
|
||||
Stream.of(rows)
|
||||
.filter(x -> x.getPosRiga() != null).max(Comparator.comparingInt(DtbOrdr::getPosRiga)).map(x->x.getPosRiga()).orElse(1);
|
||||
.filter(x -> x.getPosRiga() != null).max(Comparator.comparingInt(DtbOrdr::getPosRiga)).map(x -> x.getPosRiga()).orElse(1);
|
||||
String sql =
|
||||
"SELECT ISNULL(max(pos_riga), 0) as pos_riga " +
|
||||
" FROM dtb_ordr ";
|
||||
@@ -379,11 +382,11 @@ public class CommonRules extends QueryRules {
|
||||
posRigaLista = posRigaDb;
|
||||
}
|
||||
AtomicReference<Integer> i = new AtomicReference<>(posRigaLista);
|
||||
Stream.of(rows).filter(x->x.getPosRiga() == null).forEach(x->x.setPosRiga(i.getAndSet(i.get() + 1)));
|
||||
Stream.of(rows).filter(x -> x.getPosRiga() == null).forEach(x -> x.setPosRiga(i.getAndSet(i.get() + 1)));
|
||||
}
|
||||
|
||||
Integer rigaPrec = 0;
|
||||
for (DtbOrdr row: rows) {
|
||||
for (DtbOrdr row : rows) {
|
||||
if (row.getPosRiga() == null || rigaPrec.equals(row.getPosRiga())) {
|
||||
rigaPrec++;
|
||||
row.setPosRiga(rigaPrec);
|
||||
@@ -778,31 +781,32 @@ public class CommonRules extends QueryRules {
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
public static BigDecimal completeQtaCnfOffA(Connection connection, AtbOffr atbOffr) throws Exception {
|
||||
AtbOfft atbOfft = (AtbOfft) atbOffr.getParent();
|
||||
String sql= null;
|
||||
String sql = null;
|
||||
BigDecimal qtaCnf = null;
|
||||
if (atbOfft.getCodAlis() != null) {
|
||||
sql =
|
||||
Query.format(
|
||||
"SELECT qta_cnf\n" +
|
||||
" FROM dbo.getListinoAcquisto(%s,%s,%s,%s, 'N', null) lisa\n" +
|
||||
" WHERE IsNull(lisa.tipo_variazione, 'I') <> 'D' AND\n" +
|
||||
"lisa.flag_attivo = 'S' ",
|
||||
atbOfft.getDataIniz(),
|
||||
atbOfft.getCodAlis(),
|
||||
atbOffr.getCodArtForn(),
|
||||
atbOffr.getCodMart());
|
||||
Query.format(
|
||||
"SELECT qta_cnf\n" +
|
||||
" FROM dbo.getListinoAcquisto(%s,%s,%s,%s, 'N', null) lisa\n" +
|
||||
" WHERE IsNull(lisa.tipo_variazione, 'I') <> 'D' AND\n" +
|
||||
"lisa.flag_attivo = 'S' ",
|
||||
atbOfft.getDataIniz(),
|
||||
atbOfft.getCodAlis(),
|
||||
atbOffr.getCodArtForn(),
|
||||
atbOffr.getCodMart());
|
||||
qtaCnf = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||
}
|
||||
|
||||
if (UtilityBigDecimal.isNullOrZero(qtaCnf)) {
|
||||
sql =
|
||||
Query.format("SELECT qta_cnf FROM mtb_aart WHERE cod_mart = %s", atbOffr.getCodMart());
|
||||
Query.format("SELECT qta_cnf FROM mtb_aart WHERE cod_mart = %s", atbOffr.getCodMart());
|
||||
qtaCnf = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||
}
|
||||
|
||||
if (!UtilityBigDecimal.isNullOrZero(atbOffr.getRapConv()) && atbOffr.getRapConv().compareTo(BigDecimal.ONE) != 0 ) {
|
||||
if (!UtilityBigDecimal.isNullOrZero(atbOffr.getRapConv()) && atbOffr.getRapConv().compareTo(BigDecimal.ONE) != 0) {
|
||||
qtaCnf = qtaCnf.divide(atbOffr.getRapConv(), RoundingMode.HALF_UP);
|
||||
}
|
||||
return qtaCnf;
|
||||
@@ -932,9 +936,9 @@ public class CommonRules extends QueryRules {
|
||||
+ UtilityDB.valueDateToString(dataValidita, CommonConstants.DATE_FORMAT_YMD) + ","
|
||||
+ UtilityDB.valueToString(codMdep) + ") as costo_dist";
|
||||
BigDecimal valUnt = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
if ( valUnt == null)
|
||||
if (valUnt == null)
|
||||
return BigDecimal.ZERO;
|
||||
else
|
||||
else
|
||||
return valUnt;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package it.integry.ems.rules.completing;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.entity.*;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.Query;
|
||||
@@ -17,12 +18,13 @@ import java.util.Map;
|
||||
|
||||
public class ConfigActivityRules extends QueryRules {
|
||||
|
||||
public static boolean checkRapportino(Connection conn,JtbRLavr jtbRLavr) throws Exception {
|
||||
public static boolean checkRapportino(Connection conn, JtbRLavr jtbRLavr) throws Exception {
|
||||
String sql = Query.format("SELECT * FROM stb_activity WHERE activity_id = %s", jtbRLavr.getActivityId());
|
||||
StbActivity stbActivity = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(conn, sql, StbActivity.class);
|
||||
return checkAttivita(conn, stbActivity);
|
||||
}
|
||||
public static boolean checkAttivita(Connection conn,StbActivity stbActivity) throws Exception {
|
||||
|
||||
public static boolean checkAttivita(Connection conn, StbActivity stbActivity) throws Exception {
|
||||
boolean blocca = false;
|
||||
if (stbActivity.getFlagTipologia().equalsIgnoreCase("P")) {
|
||||
String sql =
|
||||
@@ -31,15 +33,15 @@ public class ConfigActivityRules extends QueryRules {
|
||||
if (!UtilityString.equalsIgnoreCase(parentActivityId, stbActivity.getParentActivityId())) {
|
||||
sql =
|
||||
Query.format(
|
||||
"SELECT CAST(COUNT(*) AS BIT)\n" +
|
||||
"FROM stb_activity_check\n" +
|
||||
" INNER JOIN stb_activity ON stb_activity.cod_jcom = stb_activity_check.cod_jcom AND\n" +
|
||||
" stb_activity.effective_enddate BETWEEN stb_activity_check.data_iniz AND stb_activity_check.data_fine\n" +
|
||||
"WHERE stb_activity.parent_activity_id = %s" , stbActivity.getActivityId());
|
||||
"SELECT CAST(COUNT(*) AS BIT)\n" +
|
||||
"FROM stb_activity_check\n" +
|
||||
" INNER JOIN stb_activity ON stb_activity.cod_jcom = stb_activity_check.cod_jcom AND\n" +
|
||||
" stb_activity.effective_enddate BETWEEN stb_activity_check.data_iniz AND stb_activity_check.data_fine\n" +
|
||||
"WHERE stb_activity.parent_activity_id = %s", stbActivity.getActivityId());
|
||||
|
||||
blocca = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
}
|
||||
} else {
|
||||
} else {
|
||||
List<Date> dataDaControllare = new ArrayList<>();
|
||||
//if (stbActivity.getEstimatedDate() != null) dataDaControllare.add(stbActivity.getEstimatedDate());
|
||||
if (stbActivity.getEffectiveDate() != null) dataDaControllare.add(stbActivity.getEffectiveDate());
|
||||
@@ -58,7 +60,7 @@ public class ConfigActivityRules extends QueryRules {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ( blocca)
|
||||
if (blocca)
|
||||
throw new Exception("Impossibile modificare\\inserire un'attività in un periodo fatturato.");
|
||||
|
||||
return false;
|
||||
@@ -79,27 +81,27 @@ public class ConfigActivityRules extends QueryRules {
|
||||
|
||||
sql =
|
||||
Query.format("SELECT * FROM jtb_rlavr WHERE cod_jflav = %s AND activity_id = %s",
|
||||
codJflav, entity.getActivityId());
|
||||
codJflav, entity.getActivityId());
|
||||
|
||||
List<JtbRLavr> jtbRLavrs = UtilityDB.executeSimpleQueryDTO(connection, sql, JtbRLavr.class);
|
||||
if (jtbRLavrs !=null ) {
|
||||
if (jtbRLavrs != null) {
|
||||
Stream.of(jtbRLavrs).forEach(x -> x.setOperation(OperationType.DELETE));
|
||||
|
||||
List<Map.Entry<JtbRLavt, List<JtbRLavr>>> list =
|
||||
Stream.of(jtbRLavrs)
|
||||
.groupBy(
|
||||
x -> {
|
||||
JtbRLavt jtbRLavt = new JtbRLavt();
|
||||
jtbRLavt.setCodJflav(x.getCodJflav());
|
||||
jtbRLavt.setDataLav(x.getDataLav());
|
||||
jtbRLavt.setOperation(OperationType.NO_OP);
|
||||
jtbRLavt.setJtbRlavr(new ArrayList<>());
|
||||
return jtbRLavt;
|
||||
}
|
||||
.groupBy(
|
||||
x -> {
|
||||
JtbRLavt jtbRLavt = new JtbRLavt();
|
||||
jtbRLavt.setCodJflav(x.getCodJflav());
|
||||
jtbRLavt.setDataLav(x.getDataLav());
|
||||
jtbRLavt.setOperation(OperationType.NO_OP);
|
||||
jtbRLavt.setJtbRlavr(new ArrayList<>());
|
||||
return jtbRLavt;
|
||||
}
|
||||
|
||||
).toList();
|
||||
).toList();
|
||||
|
||||
for (Map.Entry<JtbRLavt, List<JtbRLavr>> r: list) {
|
||||
for (Map.Entry<JtbRLavt, List<JtbRLavr>> r : list) {
|
||||
r.getKey().setJtbRlavr(r.getValue());
|
||||
returnList.add(r.getKey());
|
||||
}
|
||||
@@ -118,7 +120,7 @@ public class ConfigActivityRules extends QueryRules {
|
||||
jtbRLavr.setCodJcom(entity.getCodJcom())
|
||||
.setCodJfas(entity.getCodJfas())
|
||||
.setOre(entity.getOreRapportino())
|
||||
.setNote(UtilityString.isNullOrEmpty(entity.getActivityDescription())?null:UtilityString.left(entity.getActivityDescription(), 255))
|
||||
.setNote(UtilityString.isNullOrEmpty(entity.getActivityDescription()) ? null : UtilityString.left(entity.getActivityDescription(), 255))
|
||||
.setDaOra(entity.getEffectiveTime())
|
||||
.setaOra(entity.getEffectiveEndtime())
|
||||
.setCodMart(entity.getCodMart())
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
package it.integry.ems.rules.completing;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.rules.util.DroolsUtil;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.HashMap;
|
||||
|
||||
public class DistBaseRules extends QueryRules {
|
||||
protected static SetupGest setupGest = new SetupGest();
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.rules.businessLogic.enums.TipoEmissione;
|
||||
import it.integry.ems.rules.completing.dto.DatiTrasportoDTO;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
import it.integry.ems_model.db.ResultSetMapper;
|
||||
@@ -19,7 +20,6 @@ import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.sql.Connection;
|
||||
import java.util.*;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
@@ -31,11 +31,11 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
||||
String gestione = row.getGestione();
|
||||
|
||||
int segno = 1;
|
||||
if ( row instanceof DtbDocr ) {
|
||||
if (row instanceof DtbDocr) {
|
||||
String sql =
|
||||
Query.format(
|
||||
"SELECT cast(segno_qta_car as int) FROM dtb_tipi WHERE cod_dtip = %S", ((DtbDocr) row).getCodDtip());
|
||||
segno = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn,sql);
|
||||
"SELECT cast(segno_qta_car as int) FROM dtb_tipi WHERE cod_dtip = %S", ((DtbDocr) row).getCodDtip());
|
||||
segno = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
}
|
||||
|
||||
Date dataReg = null, dataValidita = null;
|
||||
@@ -581,7 +581,7 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
||||
row.setImportoRiga(importoRiga);
|
||||
|
||||
if ("S".equals(flagIvaInclusa)) {
|
||||
impRigaIva = DocOrdCalTotaliRules.completeImportoRigaIva( row, cifreDec);
|
||||
impRigaIva = DocOrdCalTotaliRules.completeImportoRigaIva(row, cifreDec);
|
||||
//IMPORTO RIGA PER IL CASTELLETTO CONTIENE L'IVA
|
||||
if (!UtilityString.isNullOrEmpty(codAliq)) {
|
||||
importoRiga = CommonRules.scorporoIva(impRigaIva, percAliq);
|
||||
@@ -619,7 +619,7 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
||||
nettoMerce = nettoMerce.add(importoRiga.setScale(2, RoundingMode.HALF_UP));
|
||||
}
|
||||
|
||||
if (!UtilityBigDecimal.isNullOrZero(sconto4) && !UtilityBigDecimal.isNullOrZero(importoRiga) ) {
|
||||
if (!UtilityBigDecimal.isNullOrZero(sconto4) && !UtilityBigDecimal.isNullOrZero(importoRiga)) {
|
||||
importoRiga = importoRiga.multiply(BigDecimal.valueOf(1).subtract((sconto4.divide(BigDecimal.valueOf(100)))));
|
||||
importoRiga = CommonRules.roundValue(importoRiga, cifreDec);
|
||||
}
|
||||
@@ -693,7 +693,7 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
||||
if (((DtbDoct) testata).getDtbTipi().getTipoEmissioneEnum() == TipoEmissione.DIFFERITA &&
|
||||
dtbDocr.getDtbDocrBolla() == null &&
|
||||
dtbDocr.getIdRigaBolla() == null &&
|
||||
!UtilityString.isNullOrEmpty(codDtipBolla) ) {
|
||||
!UtilityString.isNullOrEmpty(codDtipBolla)) {
|
||||
DtbDocr dtbDocrBolla = DocumentRules.setDatiBolla(conn, ((DtbDocr) row), codDtipBolla, dataDocBolla, serDocBolla, numDocBolla);
|
||||
dtbDocr.setDtbDocrBolla(dtbDocrBolla);
|
||||
} else if (dtbDocr.getDtbDocrBolla() != null) {
|
||||
|
||||
@@ -3,6 +3,7 @@ package it.integry.ems.rules.completing;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
import it.integry.ems_model.db.ResultSetMapper;
|
||||
@@ -22,7 +23,10 @@ import it.integry.ems_model.utility.UtilityString;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.sql.*;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.ResultSetMetaData;
|
||||
import java.sql.SQLException;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -966,7 +970,7 @@ public class DocOrdRules extends QueryRules {
|
||||
.setNumOrd(dtbOrdt.getNumOrdRif())
|
||||
.setGeneraOrdLavDaProd(false);
|
||||
dtbOrdtProd.setOperation(OperationType.NO_OP);
|
||||
BigDecimal valUnt = dtbOrdt.getTotImponib().divide(dtbOrdt.getQtaProd(),5, BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal valUnt = dtbOrdt.getTotImponib().divide(dtbOrdt.getQtaProd(), 5, BigDecimal.ROUND_HALF_UP);
|
||||
|
||||
DtbOrdr dtbOrdrProd =
|
||||
new DtbOrdr().setRigaOrd(dtbOrdt.getRigaOrdRif());
|
||||
|
||||
@@ -3,6 +3,7 @@ package it.integry.ems.rules.completing;
|
||||
import com.annimon.stream.Optional;
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.ems.rules.completing.dto.UntMisDTO;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
import it.integry.ems_model.db.ResultSetMapper;
|
||||
import it.integry.ems_model.entity.DtbDocr;
|
||||
@@ -18,7 +19,6 @@ import it.integry.ems_model.utility.UtilityString;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.sql.Connection;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@@ -2,15 +2,18 @@ package it.integry.ems.rules.completing;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.entity.Azienda;
|
||||
import it.integry.ems_model.entity.DtbDocr;
|
||||
import it.integry.ems_model.entity.DtbDoct;
|
||||
import it.integry.ems_model.entity.NtbDoct;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.*;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityDate;
|
||||
import it.integry.ems_model.utility.UtilityHashMap;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.Statement;
|
||||
@@ -18,7 +21,6 @@ import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.HashMap;
|
||||
|
||||
import static it.integry.ems.rules.completing.QueryRules.getSingleValue;
|
||||
|
||||
@@ -64,7 +66,7 @@ public class DocumentCheckRules {
|
||||
" anno = " + UtilityDB.valueToString(annoMov);
|
||||
Date ultDataIva = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, query);
|
||||
if (ultDataIva != null) {
|
||||
if ((dataCmov.before(ultDataIva) || dataCmov.equals(ultDataIva) )) {
|
||||
if ((dataCmov.before(ultDataIva) || dataCmov.equals(ultDataIva))) {
|
||||
throw new Exception("La data deve essere superiore all'ultima data stampata sul registro IVA bollato");
|
||||
}
|
||||
} else {
|
||||
@@ -381,17 +383,17 @@ public class DocumentCheckRules {
|
||||
// NEL REGISTRO, NELLA SERIE E NEL NUMERO DEL DOCUMENTO CHE SI STA SALVANDO
|
||||
sql =
|
||||
"SELECT dtb_doct.cod_anag, " +
|
||||
" dtb_doct.cod_dtip, " +
|
||||
" dtb_doct.data_doc, " +
|
||||
" dtb_doct.ser_doc, " +
|
||||
" dtb_doct.num_doc " +
|
||||
" FROM dtb_doct " +
|
||||
" INNER JOIN dtb_tipi ON dtb_doct.cod_dtip = dtb_tipi.cod_dtip " +
|
||||
" WHERE dtb_tipi.cod_ireg = " + UtilityDB.valueToString(codIreg) + " AND " +
|
||||
" dtb_tipi.num_ireg = " + UtilityDB.valueToString(numIreg) + " AND " +
|
||||
" Datepart(year, dtb_doct.data_doc) = " + UtilityDB.valueToString(annoDoc) + " AND " +
|
||||
" ser_doc = " + UtilityDB.valueToString(serDoc) + " AND " +
|
||||
" num_doc = " + UtilityDB.valueToString(numDoc);
|
||||
" dtb_doct.cod_dtip, " +
|
||||
" dtb_doct.data_doc, " +
|
||||
" dtb_doct.ser_doc, " +
|
||||
" dtb_doct.num_doc " +
|
||||
" FROM dtb_doct " +
|
||||
" INNER JOIN dtb_tipi ON dtb_doct.cod_dtip = dtb_tipi.cod_dtip " +
|
||||
" WHERE dtb_tipi.cod_ireg = " + UtilityDB.valueToString(codIreg) + " AND " +
|
||||
" dtb_tipi.num_ireg = " + UtilityDB.valueToString(numIreg) + " AND " +
|
||||
" Datepart(year, dtb_doct.data_doc) = " + UtilityDB.valueToString(annoDoc) + " AND " +
|
||||
" ser_doc = " + UtilityDB.valueToString(serDoc) + " AND " +
|
||||
" num_doc = " + UtilityDB.valueToString(numDoc);
|
||||
|
||||
HashMap<String, Object> datiDoc = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
|
||||
|
||||
@@ -414,7 +416,7 @@ public class DocumentCheckRules {
|
||||
" Datepart(year, dtb_doct.data_doc) = " + UtilityDB.valueToString(annoDoc) + " AND " +
|
||||
" ser_doc = " + UtilityDB.valueToString(serDoc) + " AND " +
|
||||
" num_doc = " + UtilityDB.valueToString(numDoc) + " AND " +
|
||||
" IsNull(cod_vdes, '') = ISNULL(" + UtilityDB.valueToString(entity.getCodVdes())+",'')";
|
||||
" IsNull(cod_vdes, '') = ISNULL(" + UtilityDB.valueToString(entity.getCodVdes()) + ",'')";
|
||||
} else {
|
||||
sql =
|
||||
"SELECT cod_anag, " +
|
||||
@@ -433,8 +435,8 @@ public class DocumentCheckRules {
|
||||
|
||||
returnVal = existDoc(datiDoc, codAnagOld, codDtipOld, dataDocOld, serDocOld, numDocOld);
|
||||
}
|
||||
|
||||
if (returnVal && entity.getOperation() == OperationType.INSERT ) {
|
||||
|
||||
if (returnVal && entity.getOperation() == OperationType.INSERT) {
|
||||
throw new Exception("DOCUMENTO INTESTATO A " + entity.getCodAnag() + " - " + entity.getCodDtip() + " N. " + entity.getNumDoc().toString() + "/" + entity.getSerDoc() + " DEL " + new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(entity.getDataDoc()) + " GIA' ESISTENTE");
|
||||
} else {
|
||||
if (checkDocInSequenza(conn, entity) == false && "AUTOMATICA".equalsIgnoreCase(tipoNumeraz) &&
|
||||
@@ -449,21 +451,22 @@ public class DocumentCheckRules {
|
||||
|
||||
private static boolean existDoc(HashMap<String, Object> datiDoc, String codAnagOld, String codDtipOld, Date dataDocOld, String serDocOld, Integer numDocOld) {
|
||||
boolean returnVal;
|
||||
if (datiDoc == null || datiDoc.size() == 0){
|
||||
if (datiDoc == null || datiDoc.size() == 0) {
|
||||
returnVal = false; // IL DOCUMENTO NON ESISTE NEL DATABASE
|
||||
} else if (codAnagOld != null) {
|
||||
returnVal = (UtilityString.equalsIgnoreCase(UtilityHashMap.getValueIfExists(datiDoc, "cod_anag"), codAnagOld) &&
|
||||
UtilityString.equalsIgnoreCase(UtilityHashMap.getValueIfExists(datiDoc, "cod_dtip"), codDtipOld) &&
|
||||
UtilityHashMap.<Date>getValueIfExists(datiDoc, "data_doc").compareTo(dataDocOld) == 0 &&
|
||||
UtilityString.equalsIgnoreCase(UtilityHashMap.getValueIfExists(datiDoc, "ser_doc"), serDocOld) &&
|
||||
UtilityHashMap.<Integer>getValueIfExists(datiDoc, "num_doc").compareTo(numDocOld) == 0);
|
||||
returnVal = (UtilityString.equalsIgnoreCase(UtilityHashMap.getValueIfExists(datiDoc, "cod_anag"), codAnagOld) &&
|
||||
UtilityString.equalsIgnoreCase(UtilityHashMap.getValueIfExists(datiDoc, "cod_dtip"), codDtipOld) &&
|
||||
UtilityHashMap.<Date>getValueIfExists(datiDoc, "data_doc").compareTo(dataDocOld) == 0 &&
|
||||
UtilityString.equalsIgnoreCase(UtilityHashMap.getValueIfExists(datiDoc, "ser_doc"), serDocOld) &&
|
||||
UtilityHashMap.<Integer>getValueIfExists(datiDoc, "num_doc").compareTo(numDocOld) == 0);
|
||||
|
||||
//se returnVal = false; IL DOCUMENTO ESISTENTE è QUELLO IN CORSO DI VARIAZIONE
|
||||
//se returnVal = true; IL DOCUMENTO ESISTENTE NON è QUELLO IN CORSO DI VARIAZIONE
|
||||
//se returnVal = false; IL DOCUMENTO ESISTENTE è QUELLO IN CORSO DI VARIAZIONE
|
||||
//se returnVal = true; IL DOCUMENTO ESISTENTE NON è QUELLO IN CORSO DI VARIAZIONE
|
||||
|
||||
} else {
|
||||
returnVal = true; // IL DOCUMENTO ESISTENTE NON è QUELLO IN CORSO DI VARIAZIONE
|
||||
} return returnVal;
|
||||
}
|
||||
return returnVal;
|
||||
}
|
||||
|
||||
public static Boolean checkNtbDoctDoc(Connection conn, DtbDoct dtbDoct) throws Exception {
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.rules.businessLogic.enums.TipoEmissione;
|
||||
import it.integry.ems.rules.completing.dto.DatiPartitaMagDTO;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
import it.integry.ems_model.db.ResultSetMapper;
|
||||
import it.integry.ems_model.entity.*;
|
||||
@@ -264,10 +265,10 @@ public class DocumentRules extends QueryRules {
|
||||
sql =
|
||||
"SELECT CASE WHEN " + UtilityDB.valueToString(gestione) + " = 'A' " +
|
||||
" THEN atb_forn.cod_ccon_costi ELSE vtb_clie.cod_ccon_ricavi END " +
|
||||
" FROM gtb_anag " +
|
||||
" FROM gtb_anag " +
|
||||
"left outer join vtb_clie on gtb_anag.cod_anag = vtb_clie.cod_anag " +
|
||||
"left outer join atb_forn on gtb_anag.cod_anag = atb_forn.cod_anag " +
|
||||
" WHERE gtb_anag.cod_anag = " + UtilityDB.valueToString(entity.getCodAnag());
|
||||
" WHERE gtb_anag.cod_anag = " + UtilityDB.valueToString(entity.getCodAnag());
|
||||
|
||||
codCcon = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
}
|
||||
@@ -286,12 +287,12 @@ public class DocumentRules extends QueryRules {
|
||||
|
||||
public static boolean chkDocAP(Connection conn, DtbDocr dtbDocr) throws Exception {
|
||||
boolean isDocAp = false;
|
||||
Date dataReg = dtbDocr.getDataDoc();
|
||||
Date dataReg = dtbDocr.getDataDoc();
|
||||
if (dtbDocr.getTipoEmissione().equalsIgnoreCase(String.valueOf(TipoEmissione.DIFFERITA)) &&
|
||||
dtbDocr.getDataDocBolla() != null &&
|
||||
dtbDocr.getCodDtipBolla() != null &&
|
||||
dtbDocr.getSerDocBolla() != null &&
|
||||
dtbDocr.getNumDocBolla() != null ) {
|
||||
dtbDocr.getNumDocBolla() != null) {
|
||||
String sql =
|
||||
"SELECT data_reg " +
|
||||
" FROM dtb_doct " +
|
||||
@@ -339,7 +340,7 @@ public class DocumentRules extends QueryRules {
|
||||
}
|
||||
|
||||
|
||||
if (UtilityString.isNullOrEmpty(codJfas) ){
|
||||
if (UtilityString.isNullOrEmpty(codJfas)) {
|
||||
sql = "SELECT cod_jfas FROM mtb_depo WHERE cod_mdep = " + UtilityDB.valueToString(codMdep);
|
||||
codJfas = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
}
|
||||
@@ -546,12 +547,12 @@ public class DocumentRules extends QueryRules {
|
||||
|
||||
public static MtbPartitaMag insertPartitaMag(Connection conn, DtbDocr entity) throws Exception {
|
||||
String sql =
|
||||
Query.format(
|
||||
"SELECT data_scad from mtb_partita_mag where cod_mart = %s and partita_mag = %s",
|
||||
entity.getCodMart(), entity.getPartitaMag());
|
||||
Query.format(
|
||||
"SELECT data_scad from mtb_partita_mag where cod_mart = %s and partita_mag = %s",
|
||||
entity.getCodMart(), entity.getPartitaMag());
|
||||
Date dataScad = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
OperationType operationType = OperationType.NO_OP;
|
||||
if ( dataScad == null || ( entity.getDataScad() != null && !UtilityDate.equals(dataScad, entity.getDataScad())))
|
||||
if (dataScad == null || (entity.getDataScad() != null && !UtilityDate.equals(dataScad, entity.getDataScad())))
|
||||
operationType = OperationType.INSERT_OR_UPDATE;
|
||||
|
||||
MtbPartitaMag mtbPartitaMag = new MtbPartitaMag();
|
||||
@@ -624,8 +625,8 @@ public class DocumentRules extends QueryRules {
|
||||
public static DtbDocPdf getDtbDocPdf(Connection conn, DtbDocXml dtbDocXml) throws Exception {
|
||||
String sql =
|
||||
"SELECT dtb_doc_pdf.cod_anag, dtb_doc_pdf.cod_dtip, dtb_doc_pdf.data_doc, dtb_doc_pdf.ser_doc, dtb_doc_pdf.num_doc, dtb_doc_pdf.versione, '[NULL]' as prog_sdi " +
|
||||
"FROM dtb_doc_pdf " +
|
||||
"WHERE dtb_doc_pdf.prog_sdi =" + UtilityDB.valueToString(dtbDocXml.getProgSdi());
|
||||
"FROM dtb_doc_pdf " +
|
||||
"WHERE dtb_doc_pdf.prog_sdi =" + UtilityDB.valueToString(dtbDocXml.getProgSdi());
|
||||
|
||||
DtbDocPdf docPdf = new ResultSetMapper()
|
||||
.mapQueryToObject(conn, sql, DtbDocPdf.class, OperationType.UPDATE);
|
||||
@@ -683,8 +684,8 @@ public class DocumentRules extends QueryRules {
|
||||
String sql =
|
||||
"SELECT cod_jfas, " +
|
||||
"data_reg " +
|
||||
" FROM dtb_doct " +
|
||||
" WHERE dtb_doct.cod_anag = " + UtilityDB.valueToString(dtbDocr.getCodAnag()) + " AND " +
|
||||
" FROM dtb_doct " +
|
||||
" WHERE dtb_doct.cod_anag = " + UtilityDB.valueToString(dtbDocr.getCodAnag()) + " AND " +
|
||||
" dtb_doct.cod_dtip = " + UtilityDB.valueToString(dtbDocr.getCodDtipBolla()) + " AND " +
|
||||
" dtb_doct.data_doc = " + UtilityDB.valueDateToString(dtbDocr.getDataDocBolla(), CommonConstants.DATE_FORMAT_YMD) + " AND " +
|
||||
" dtb_doct.ser_doc = " + UtilityDB.valueToString(dtbDocr.getSerDocBolla()) + " AND " +
|
||||
@@ -693,9 +694,9 @@ public class DocumentRules extends QueryRules {
|
||||
|
||||
if (datiBolla != null) {
|
||||
dtbDocr
|
||||
.setCodJfas((String) datiBolla.get("cod_jfas"))
|
||||
.setDataInizComp((Date) datiBolla.get("data_reg"))
|
||||
.setDataFineComp((Date) datiBolla.get("data_reg"));
|
||||
.setCodJfas((String) datiBolla.get("cod_jfas"))
|
||||
.setDataInizComp((Date) datiBolla.get("data_reg"))
|
||||
.setDataFineComp((Date) datiBolla.get("data_reg"));
|
||||
}
|
||||
|
||||
return dtbDocrBolla;
|
||||
@@ -782,23 +783,23 @@ public class DocumentRules extends QueryRules {
|
||||
boolean chkTracciabilita = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
|
||||
if (chkTracciabilita) {
|
||||
List<String> articoli = null;
|
||||
if (dtbDoct.getDtbDocr().size() > 0 ) {
|
||||
List<String> articoli = null;
|
||||
if (dtbDoct.getDtbDocr().size() > 0) {
|
||||
articoli = Stream.of(dtbDoct.getDtbDocr())
|
||||
.filter(value -> value.getOperation() != OperationType.DELETE && value.getCodMart() != null && value.getMtbAart().getFlagTracciabilita().equalsIgnoreCase("S") &&
|
||||
value.getPartitaMag() == null)
|
||||
.map(x->x.getCodMart() + " - " + x.getMtbAart().getDescrizione()).toList();
|
||||
.map(x -> x.getCodMart() + " - " + x.getMtbAart().getDescrizione()).toList();
|
||||
} else {
|
||||
sql =
|
||||
"SELECT dtb_docr.cod_mart + ' - ' + dtb_docr.descrizione as articolo " +
|
||||
" FROM dtb_docr inner join mtb_aart on dtb_docr.cod_mart = mtb_aart.cod_mart " +
|
||||
" WHERE dtb_docr.cod_anag = %s AND " +
|
||||
"dtb_docr.cod_dtip = %s AND " +
|
||||
"dtb_docr.data_doc = %s AND " +
|
||||
"dtb_docr.ser_doc = %s AND " +
|
||||
"dtb_docr.num_doc = %s AND " +
|
||||
"dtb_docr.partita_mag is null AND " +
|
||||
"mtb_aart.flag_tracciabilita = 'S' " ;
|
||||
"SELECT dtb_docr.cod_mart + ' - ' + dtb_docr.descrizione as articolo " +
|
||||
" FROM dtb_docr inner join mtb_aart on dtb_docr.cod_mart = mtb_aart.cod_mart " +
|
||||
" WHERE dtb_docr.cod_anag = %s AND " +
|
||||
"dtb_docr.cod_dtip = %s AND " +
|
||||
"dtb_docr.data_doc = %s AND " +
|
||||
"dtb_docr.ser_doc = %s AND " +
|
||||
"dtb_docr.num_doc = %s AND " +
|
||||
"dtb_docr.partita_mag is null AND " +
|
||||
"mtb_aart.flag_tracciabilita = 'S' ";
|
||||
|
||||
sql = String.format(sql,
|
||||
UtilityDB.valueToString(dtbDoct.getCodAnag()),
|
||||
@@ -828,14 +829,14 @@ public class DocumentRules extends QueryRules {
|
||||
|
||||
DatiPartitaMagDTO datiPartita =
|
||||
new DatiPartitaMagDTO()
|
||||
.setCodMart(dtbDocr.getCodMart())
|
||||
.setCodAnag(dtbDocr.getCodAnag())
|
||||
.setNumDoc(dtbDocr.getNumDoc())
|
||||
.setGestione(dtbDocr.getGestione())
|
||||
.setDataOrd(dtbDocr.getDataOrd())
|
||||
.setNumOrd(dtbDocr.getNumOrd())
|
||||
.setCodJfas(dtbDocr.getCodJfas())
|
||||
.setDataScad(dtbDocr.getDataScad());
|
||||
.setCodMart(dtbDocr.getCodMart())
|
||||
.setCodAnag(dtbDocr.getCodAnag())
|
||||
.setNumDoc(dtbDocr.getNumDoc())
|
||||
.setGestione(dtbDocr.getGestione())
|
||||
.setDataOrd(dtbDocr.getDataOrd())
|
||||
.setNumOrd(dtbDocr.getNumOrd())
|
||||
.setCodJfas(dtbDocr.getCodJfas())
|
||||
.setDataScad(dtbDocr.getDataScad());
|
||||
partitaMag = PartitaMagRules.suggestCodePartitaMag(conn, datiPartita);
|
||||
}
|
||||
return partitaMag;
|
||||
|
||||
@@ -2,11 +2,11 @@ package it.integry.ems.rules.completing;
|
||||
|
||||
import it.integry.ems.exception.CheckConstraintException;
|
||||
import it.integry.ems.rules.completing.dto.ForeignKeyDTO;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityMessage;
|
||||
import it.integry.ems_model.utility.UtilityQuery;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -5,7 +5,9 @@ import it.integry.ems_model.utility.UtilityDB;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
@@ -7,7 +7,9 @@ import it.integry.ems_model.utility.Query;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
|
||||
import java.sql.CallableStatement;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Types;
|
||||
import java.util.HashMap;
|
||||
|
||||
@@ -10,7 +10,8 @@ import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
|
||||
import java.sql.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -94,8 +95,8 @@ public class OrdWebRules extends QueryRules {
|
||||
}
|
||||
} else if (testata instanceof DtbOrdt &&
|
||||
testata.getGestione().equalsIgnoreCase("A") &&
|
||||
UtilityString.equalsIgnoreCase(((DtbOrdt)testata).getGestioneRif(), "A")) {
|
||||
((DtbOrdt) testata).getDtbOrdr().stream().forEach(x->x.setIdArt(x.getPosRiga()));
|
||||
UtilityString.equalsIgnoreCase(((DtbOrdt) testata).getGestioneRif(), "A")) {
|
||||
((DtbOrdt) testata).getDtbOrdr().stream().forEach(x -> x.setIdArt(x.getPosRiga()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,8 +8,12 @@ import it.integry.ems_model.entity.common.DtbOrdCommonR;
|
||||
import it.integry.ems_model.types.ApplicationName;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.*;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.*;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -263,7 +267,7 @@ public class OrderRules extends QueryRules {
|
||||
|
||||
HashMap<String, Object> dati = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, query);
|
||||
|
||||
if (UtilityHashMap.isPresent(dati)){
|
||||
if (UtilityHashMap.isPresent(dati)) {
|
||||
descrizioneCommessa = UtilityHashMap.getValueIfExists(dati, "rag_soc");
|
||||
destinazione = UtilityHashMap.getValueIfExists(dati, "citta");
|
||||
} else
|
||||
|
||||
@@ -14,7 +14,9 @@ import it.integry.ems_model.utility.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.sql.CallableStatement;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Types;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@@ -2,11 +2,11 @@ package it.integry.ems.rules.completing;
|
||||
|
||||
|
||||
import it.integry.ems.rules.completing.dto.DatiPartitaMagDTO;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.entity.MtbPartitaMag;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
|
||||
@@ -7,7 +7,8 @@ import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
|
||||
import java.sql.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.Statement;
|
||||
|
||||
public class PreventRules extends QueryRules {
|
||||
|
||||
@@ -6,9 +6,13 @@ import it.integry.ems_model.utility.Query;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityDate;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.*;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
@@ -3,7 +3,6 @@ package it.integry.ems.rules.completing;
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
import it.integry.ems_model.db.ResultSetMapper;
|
||||
import it.integry.ems_model.entity.*;
|
||||
import it.integry.ems_model.entity.common.*;
|
||||
@@ -14,11 +13,13 @@ import it.integry.ems_model.utility.*;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.*;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
|
||||
@@ -10,6 +10,10 @@ import org.apache.commons.codec.binary.Base64;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@@ -82,7 +86,7 @@ public class QueryRules {
|
||||
return campi;
|
||||
}
|
||||
|
||||
public static <T> T getEntityData(EntityBase dati, EntityBase entity, String columnName, Boolean override) throws Exception {
|
||||
public static <T> T getEntityData(EntityBase dati, EntityBase entity, String columnName, Boolean override) throws Exception {
|
||||
Object ret = null;
|
||||
|
||||
Object valueEntity = DroolsUtil.getFieldValue(entity, columnName);
|
||||
|
||||
@@ -13,7 +13,9 @@ import it.integry.ems_model.utility.UtilityString;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.text.DecimalFormat;
|
||||
@@ -51,7 +53,7 @@ public class ReceiptRules extends QueryRules {
|
||||
.distinct()
|
||||
.toList();
|
||||
|
||||
if (articoli.size() > 0 ) {
|
||||
if (articoli.size() > 0) {
|
||||
String whereCondArt = StringUtils.join(articoli, "','");
|
||||
if (!UtilityString.isNullOrEmpty(whereCondArt)) {
|
||||
whereCondArt = "lisv.cod_mart in ('" + whereCondArt + "')";
|
||||
@@ -65,17 +67,17 @@ public class ReceiptRules extends QueryRules {
|
||||
sql = UtilityDB.addwhereCond(sql, whereCondArt, true);
|
||||
List<HashMap<String, Object>> datiListino = UtilityDB.executeSimpleQuery(conn, sql);
|
||||
|
||||
if ( datiListino == null) return;
|
||||
if (datiListino == null) return;
|
||||
|
||||
for (String articolo: articoli) {
|
||||
for (String articolo : articoli) {
|
||||
Optional<HashMap<String, Object>> firstUntMis = Stream.of(datiListino)
|
||||
.filter(x -> UtilityString.equalsIgnoreCase(UtilityHashMap.getValueIfExists(x, "cod_mart"), articolo))
|
||||
.findFirst();
|
||||
|
||||
|
||||
if (firstUntMis.isPresent() ) {
|
||||
if (firstUntMis.isPresent()) {
|
||||
String untMisVen = UtilityHashMap.getValueIfExists(firstUntMis.get(), "unt_mis_ven");
|
||||
Stream.of(ntbDoct.getNtbDocr()).filter(x->UtilityString.equalsIgnoreCase(x.getCodMart(),articolo)).forEach(x->{
|
||||
Stream.of(ntbDoct.getNtbDocr()).filter(x -> UtilityString.equalsIgnoreCase(x.getCodMart(), articolo)).forEach(x -> {
|
||||
x.setUntMis(untMisVen);
|
||||
});
|
||||
}
|
||||
@@ -84,7 +86,7 @@ public class ReceiptRules extends QueryRules {
|
||||
}
|
||||
|
||||
public static MtbDepoOper completeMtbDepoOper(Connection connection, String codMdep, String codOper) throws Exception {
|
||||
String sql = "select * from mtb_depo_oper where cod_mdep='" + codMdep + "' and cod_mdep_oper='" + codOper + "'" ;
|
||||
String sql = "select * from mtb_depo_oper where cod_mdep='" + codMdep + "' and cod_mdep_oper='" + codOper + "'";
|
||||
|
||||
List<HashMap<String, Object>> list = execQuery(connection, sql);
|
||||
if (list.size() == 0) {
|
||||
@@ -136,19 +138,19 @@ public class ReceiptRules extends QueryRules {
|
||||
/*ESCLUDI_PROMO_INFORMATIVE*/
|
||||
boolean esludiPromo = setupGest.getSetupBoolean(connection, "NTB_DOCT", "PROMOZIONI", "ESCLUDI_PROMO_INFORMATIVE");
|
||||
String whereCond = "";
|
||||
if (esludiPromo){
|
||||
if (esludiPromo) {
|
||||
whereCond = "(flag_tipologia is null or flag_tipologia <> 'I')";
|
||||
}
|
||||
|
||||
String sql =
|
||||
Query.format(
|
||||
"SELECT cod_promo " +
|
||||
" FROM dbo.getPromozioneVendita(%s, null, null, null, %s) as promo_vend , " +
|
||||
" mtb_depo WHERE promo_vend.cod_vlis = mtb_depo.cod_vlis AND " +
|
||||
" mtb_depo.cod_mdep = %s",
|
||||
dataDoc,
|
||||
codMart,
|
||||
codMdep);
|
||||
"SELECT cod_promo " +
|
||||
" FROM dbo.getPromozioneVendita(%s, null, null, null, %s) as promo_vend , " +
|
||||
" mtb_depo WHERE promo_vend.cod_vlis = mtb_depo.cod_vlis AND " +
|
||||
" mtb_depo.cod_mdep = %s",
|
||||
dataDoc,
|
||||
codMart,
|
||||
codMdep);
|
||||
sql = UtilityDB.addwhereCond(sql, whereCond, true);
|
||||
String codPromo = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
|
||||
return codPromo;
|
||||
|
||||
@@ -15,9 +15,13 @@ import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.*;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.joda.time.DateTimeComparator;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.*;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
@@ -802,9 +806,9 @@ public class SalesRules extends QueryRules {
|
||||
Object valueEntity = DroolsUtil.getFieldValue(entity, columnName);
|
||||
BigDecimal percScoContr = BigDecimal.ZERO;
|
||||
if (valueEntity == null) {
|
||||
if ("sconto5".equals(columnName)){
|
||||
if ("sconto5".equals(columnName)) {
|
||||
percScoContr = rs.getBigDecimal(1);
|
||||
} else if ("sconto6".equals(columnName)){
|
||||
} else if ("sconto6".equals(columnName)) {
|
||||
percScoContr = rs.getBigDecimal(2);
|
||||
} else {
|
||||
percScoContr = rs.getBigDecimal(3);
|
||||
|
||||
@@ -8,7 +8,8 @@ import it.integry.ems_model.entity.OltbOperregiFile;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
|
||||
import java.sql.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class SianRules extends QueryRules {
|
||||
|
||||
@@ -6,7 +6,8 @@ import it.integry.ems_model.entity.TtbAnnoStag;
|
||||
import it.integry.ems_model.entity.TtbStyleTaglie;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
|
||||
import java.sql.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@@ -31,13 +32,12 @@ public class TabGenTextiles extends QueryRules {
|
||||
.sortBy(TtbStyleTaglie::getPos)
|
||||
.toList();
|
||||
String taglia = Stream.of(taglie).findFirst().map(TtbStyleTaglie::getCodTagl).orElse(null);
|
||||
if ( taglia != null)rangeTaglie.put("min", taglia);
|
||||
if (taglia != null) rangeTaglie.put("min", taglia);
|
||||
taglia = Stream.of(taglie).findLast().map(TtbStyleTaglie::getCodTagl).orElse(null);
|
||||
if ( taglia != null)rangeTaglie.put("max", taglia);
|
||||
if (taglia != null) rangeTaglie.put("max", taglia);
|
||||
|
||||
return rangeTaglie;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -12,7 +12,9 @@ import it.integry.ems_model.utility.UtilityQuery;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -12,7 +12,8 @@ import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
import it.integry.security.utility.CryptoUtils;
|
||||
|
||||
import java.sql.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
@@ -22,16 +23,16 @@ public class UtentiRules {
|
||||
public static List<SrlUser> insSrlUser(Connection conn, StbUser stbUser) throws Exception {
|
||||
List<SrlUser> srlUsers = stbUser.getSrlUser();
|
||||
String sql = "SELECT cast(count(*) as bit) FROM srl_user WHERE user_name1 = [user_name] AND user_name2 = [user_name]";
|
||||
sql = sql.replace("[user_name]", UtilityDB.valueToString(stbUser.getUserName()));
|
||||
sql = sql.replace("[user_name]", UtilityDB.valueToString(stbUser.getUserName()));
|
||||
boolean existSrl = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
if ((srlUsers == null || srlUsers.size() == 0 ||
|
||||
Stream.of(stbUser.getSrlUser()).noneMatch(x -> UtilityString.equalsIgnoreCase(x.getUserName2(), stbUser.getUserName()))) &&
|
||||
!existSrl){
|
||||
Stream.of(stbUser.getSrlUser()).noneMatch(x -> UtilityString.equalsIgnoreCase(x.getUserName2(), stbUser.getUserName()))) &&
|
||||
!existSrl) {
|
||||
SrlUser srlUser =
|
||||
new SrlUser()
|
||||
.setUserName1(stbUser.getUserName())
|
||||
.setUserName2(stbUser.getUserName())
|
||||
.setFlagAzione("T");
|
||||
.setUserName1(stbUser.getUserName())
|
||||
.setUserName2(stbUser.getUserName())
|
||||
.setFlagAzione("T");
|
||||
srlUser.setOperation(OperationType.INSERT);
|
||||
srlUsers.add(srlUser);
|
||||
return srlUsers;
|
||||
@@ -43,8 +44,8 @@ public class UtentiRules {
|
||||
public static List<StbAbil> copyStbAbil(Connection conn, StbUser user) throws Exception {
|
||||
String sql = String.format(
|
||||
"SELECT cod_opz, flag_abil, gest_name\n" +
|
||||
"FROM stb_abil\n" +
|
||||
"WHERE user_name = (SELECT TOP 1 stb_user.user_name FROM stb_user WHERE flag_attivo = 'S' AND key_group = %s)",
|
||||
"FROM stb_abil\n" +
|
||||
"WHERE user_name = (SELECT TOP 1 stb_user.user_name FROM stb_user WHERE flag_attivo = 'S' AND key_group = %s)",
|
||||
UtilityDB.valueToString(user.getKeyGroup())
|
||||
);
|
||||
|
||||
@@ -62,11 +63,11 @@ public class UtentiRules {
|
||||
return stbAbils;
|
||||
}
|
||||
|
||||
public static Integer setDefaultFtpPort(Integer ftpType){
|
||||
if (ftpType == 2 ) {
|
||||
public static Integer setDefaultFtpPort(Integer ftpType) {
|
||||
if (ftpType == 2) {
|
||||
//SFTP
|
||||
return 22;
|
||||
} else if (ftpType == 3 ) {
|
||||
} else if (ftpType == 3) {
|
||||
//FTPS
|
||||
return 990;
|
||||
} else {
|
||||
|
||||
@@ -13,6 +13,7 @@ import it.integry.ems.javabeans.RequestDataDTO;
|
||||
import it.integry.ems.model.ColumnMetadataDTO;
|
||||
import it.integry.ems.settings.Model.SettingsModel;
|
||||
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.sync.SyncManager;
|
||||
import it.integry.ems.user.UtilityUser;
|
||||
@@ -35,8 +36,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.context.ContextLoader;
|
||||
|
||||
import java.io.StringWriter;
|
||||
import java.sql.*;
|
||||
import java.io.StringWriter;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -131,7 +132,7 @@ public class EntityProcessor {
|
||||
|
||||
if (!overrideEntityChildCheck) this.checkEntityChildsUsage(entity, mdb, requestDataDTO);
|
||||
|
||||
if (settingsModel.isEnablePermissionCheck() && !checkUserPermissions(entity,mdb))
|
||||
if (settingsModel.isEnablePermissionCheck() && !checkUserPermissions(entity, mdb))
|
||||
throw new InvalidPermissionsException();
|
||||
|
||||
if (entity.getOperation() == OperationType.NO_OP) {
|
||||
@@ -165,7 +166,8 @@ public class EntityProcessor {
|
||||
|
||||
|
||||
private void checkEntityChildsUsage(EntityInterface entityInterface, MultiDBTransactionManager multiDBTransactionManager, RequestDataDTO requestDataDTO) throws Exception {
|
||||
boolean isMaster = entityPropertyHolder.isEntityMaster(((EntityBase) entityInterface).getClass());;
|
||||
boolean isMaster = entityPropertyHolder.isEntityMaster(((EntityBase) entityInterface).getClass());
|
||||
;
|
||||
OperationType operationType = entityInterface.getOperation();
|
||||
|
||||
if (!isMaster && (operationType != OperationType.SELECT_OBJECT && operationType != OperationType.SELECT)) {
|
||||
@@ -458,7 +460,6 @@ public class EntityProcessor {
|
||||
RequestDataDTO requestDataDTO) throws Exception {
|
||||
|
||||
|
||||
|
||||
if (UtilityString.isNullOrEmpty(username) && requestDataDTO != null && requestDataDTO.isValidUsername()) {
|
||||
username = requestDataDTO.getUsername();
|
||||
}
|
||||
|
||||
@@ -49,7 +49,9 @@ import java.io.StringWriter;
|
||||
import java.net.InetAddress;
|
||||
import java.net.SocketTimeoutException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -31,7 +31,8 @@ import java.awt.print.PrinterJob;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
@Service
|
||||
@Scope("request")
|
||||
|
||||
@@ -40,7 +40,9 @@ import org.w3c.dom.Node;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
import java.io.*;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import it.integry.annotations.PostContextConstruct;
|
||||
import it.integry.ems.datasource.DataSource;
|
||||
import it.integry.ems.json.ResponseJSONObjectMapper;
|
||||
import it.integry.ems.looper.service.LooperService;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.sync.dto.ExportHistoryGroupDTO;
|
||||
import it.integry.ems.sync.dto.ExportHistoryItemDTO;
|
||||
@@ -26,7 +27,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.sql.Connection;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.AbstractMap;
|
||||
@@ -159,7 +159,7 @@ public class AsyncHistoryManager {
|
||||
for (Field entityChildField : childs) {
|
||||
try {
|
||||
Object entityChildRef = entityChildField.get(data);
|
||||
if(entityChildRef == null) continue;
|
||||
if (entityChildRef == null) continue;
|
||||
|
||||
if (entityChildRef instanceof List) {
|
||||
for (EntityBase entityChild : (List<EntityBase>) entityChildRef) {
|
||||
|
||||
@@ -7,6 +7,7 @@ import it.integry.ems.looper.service.LooperService;
|
||||
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
||||
import it.integry.ems.settings.Model.SettingsModel;
|
||||
import it.integry.ems.settings.SettingsController;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.utility.UtilityDebug;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
@@ -14,7 +15,10 @@ import it.integry.ems_model.entity.StbPublications;
|
||||
import it.integry.ems_model.entity.StbPublicationsDetail;
|
||||
import it.integry.ems_model.entity.StbTransactionLog;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.*;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityList;
|
||||
import it.integry.ems_model.utility.UtilityLocalDate;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.josql.Query;
|
||||
@@ -23,7 +27,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.context.ContextLoader;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -48,7 +51,7 @@ public class AsyncManager {
|
||||
|
||||
@PostContextConstruct
|
||||
public void init() {
|
||||
if (!UtilityDebug.isDebugExecution() && !UtilityDebug.isIntegryServer()) {
|
||||
if (true || (!UtilityDebug.isDebugExecution() && !UtilityDebug.isIntegryServer())) {
|
||||
looperService.add(this::internalCachePublicationsSetup, 5 * 60 * 1000, "sync-setup-cache");
|
||||
looperService.add(this::consumeToBeSavedQueue, 20 * 1000, "sync-flush-data");
|
||||
}
|
||||
@@ -145,7 +148,7 @@ public class AsyncManager {
|
||||
.setGroupId(transactionGroupId);
|
||||
stbTransactionLog.setOperation(OperationType.INSERT);
|
||||
|
||||
toBeSavedQueue.add(new AbstractMap.SimpleEntry<>(dbName, stbTransactionLog));
|
||||
connection.addOnPostCommit(()-> toBeSavedQueue.add(new AbstractMap.SimpleEntry<>(dbName, stbTransactionLog)));
|
||||
return transactionGroupId;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@ package it.integry.ems.sync.MultiDBTransaction;
|
||||
import it.integry.ems.datasource.DataSource;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Savepoint;
|
||||
|
||||
|
||||
@@ -0,0 +1,318 @@
|
||||
package it.integry.ems.sync.MultiDBTransaction;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import java.sql.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
public class Connection implements java.sql.Connection {
|
||||
private final java.sql.Connection connection;
|
||||
private final List<Runnable> onPostCommit = new ArrayList<>();
|
||||
private final Logger logger = LogManager.getLogger();
|
||||
|
||||
|
||||
public Connection(java.sql.Connection connection) {
|
||||
|
||||
this.connection = connection;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Statement createStatement() throws SQLException {
|
||||
return connection.createStatement();
|
||||
}
|
||||
|
||||
@Override
|
||||
public PreparedStatement prepareStatement(String sql) throws SQLException {
|
||||
return connection.prepareStatement(sql);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CallableStatement prepareCall(String sql) throws SQLException {
|
||||
return connection.prepareCall(sql);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String nativeSQL(String sql) throws SQLException {
|
||||
return connection.nativeSQL(sql);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAutoCommit(boolean autoCommit) throws SQLException {
|
||||
connection.setAutoCommit(autoCommit);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getAutoCommit() throws SQLException {
|
||||
return connection.getAutoCommit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void commit() throws SQLException {
|
||||
connection.commit();
|
||||
if (!onPostCommit.isEmpty()) {
|
||||
for (Runnable stmt : onPostCommit) {
|
||||
try {
|
||||
stmt.run();
|
||||
} catch (Exception e) {
|
||||
logger.error(e);
|
||||
}
|
||||
}
|
||||
onPostCommit.clear();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void rollback() throws SQLException {
|
||||
connection.rollback();
|
||||
this.onPostCommit.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() throws SQLException {
|
||||
connection.close();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isClosed() throws SQLException {
|
||||
return connection.isClosed();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DatabaseMetaData getMetaData() throws SQLException {
|
||||
return connection.getMetaData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setReadOnly(boolean readOnly) throws SQLException {
|
||||
connection.setReadOnly(readOnly);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isReadOnly() throws SQLException {
|
||||
return connection.isReadOnly();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCatalog(String catalog) throws SQLException {
|
||||
connection.setCatalog(catalog);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCatalog() throws SQLException {
|
||||
return connection.getCatalog();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTransactionIsolation(int level) throws SQLException {
|
||||
connection.setTransactionIsolation(level);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTransactionIsolation() throws SQLException {
|
||||
return connection.getTransactionIsolation();
|
||||
}
|
||||
|
||||
@Override
|
||||
public SQLWarning getWarnings() throws SQLException {
|
||||
return connection.getWarnings();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearWarnings() throws SQLException {
|
||||
connection.clearWarnings();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
|
||||
return connection.createStatement(resultSetType, resultSetConcurrency);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
|
||||
return connection.prepareStatement(sql, resultSetType, resultSetConcurrency);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
|
||||
return connection.prepareCall(sql, resultSetType, resultSetConcurrency);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Class<?>> getTypeMap() throws SQLException {
|
||||
return connection.getTypeMap();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
|
||||
connection.setTypeMap(map);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHoldability(int holdability) throws SQLException {
|
||||
connection.setHoldability(holdability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getHoldability() throws SQLException {
|
||||
return connection.getHoldability();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Savepoint setSavepoint() throws SQLException {
|
||||
return connection.setSavepoint();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Savepoint setSavepoint(String name) throws SQLException {
|
||||
return connection.setSavepoint(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void rollback(Savepoint savepoint) throws SQLException {
|
||||
connection.rollback();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void releaseSavepoint(Savepoint savepoint) throws SQLException {
|
||||
connection.releaseSavepoint(savepoint);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
|
||||
return connection.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
|
||||
return connection.prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
|
||||
return connection.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
|
||||
return connection.prepareStatement(sql, autoGeneratedKeys);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
|
||||
return connection.prepareStatement(sql, columnIndexes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
|
||||
return connection.prepareStatement(sql, columnNames);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Clob createClob() throws SQLException {
|
||||
return connection.createClob();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Blob createBlob() throws SQLException {
|
||||
return connection.createBlob();
|
||||
}
|
||||
|
||||
@Override
|
||||
public NClob createNClob() throws SQLException {
|
||||
return connection.createNClob();
|
||||
}
|
||||
|
||||
@Override
|
||||
public SQLXML createSQLXML() throws SQLException {
|
||||
return connection.createSQLXML();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid(int timeout) throws SQLException {
|
||||
return connection.isValid(timeout);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setClientInfo(String name, String value) throws SQLClientInfoException {
|
||||
connection.setClientInfo(name, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setClientInfo(Properties properties) throws SQLClientInfoException {
|
||||
connection.setClientInfo(properties);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getClientInfo(String name) throws SQLException {
|
||||
return connection.getClientInfo(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Properties getClientInfo() throws SQLException {
|
||||
return connection.getClientInfo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
|
||||
return connection.createArrayOf(typeName, elements);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
|
||||
return connection.createStruct(typeName, attributes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSchema(String schema) throws SQLException {
|
||||
connection.setSchema(schema);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSchema() throws SQLException {
|
||||
return connection.getSchema();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void abort(Executor executor) throws SQLException {
|
||||
connection.abort(executor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
|
||||
connection.setNetworkTimeout(executor, milliseconds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getNetworkTimeout() throws SQLException {
|
||||
return connection.getNetworkTimeout();
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T unwrap(Class<T> iface) throws SQLException {
|
||||
return connection.unwrap(iface);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isWrapperFor(Class<?> iface) throws SQLException {
|
||||
return connection.isWrapperFor(iface);
|
||||
}
|
||||
|
||||
public static Connection fromConnection(java.sql.Connection conn) {
|
||||
return new Connection(conn);
|
||||
}
|
||||
|
||||
public java.sql.Connection getConnection() {
|
||||
return connection;
|
||||
}
|
||||
|
||||
public Connection addOnPostCommit(Runnable onPostCommit) {
|
||||
this.onPostCommit.add(onPostCommit);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -18,7 +18,6 @@ import org.springframework.stereotype.Service;
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.annotation.PreDestroy;
|
||||
import java.io.IOException;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -25,7 +25,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
@@ -17,7 +17,9 @@ import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
@@ -20,7 +20,8 @@ import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.sql.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@@ -17,7 +17,8 @@ import org.apache.http.impl.client.DefaultHttpClient;
|
||||
import org.apache.http.message.BasicNameValuePair;
|
||||
import org.apache.http.util.EntityUtils;
|
||||
|
||||
import java.sql.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class UtilityExport {
|
||||
|
||||
@@ -30,7 +30,9 @@ import java.io.*;
|
||||
import java.nio.file.*;
|
||||
import java.nio.file.attribute.BasicFileAttributes;
|
||||
import java.security.Security;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@@ -23,6 +23,7 @@ import it.integry.ems.rules.completing.UniqueKeyRules;
|
||||
import it.integry.ems.rules.completing.dto.ForeignKeyDTO;
|
||||
import it.integry.ems.settings.Model.SettingsModel;
|
||||
import it.integry.ems.sync.AsyncManager;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems.utility.UtilityDebug;
|
||||
import it.integry.ems_model.annotation.*;
|
||||
import it.integry.ems_model.config.EmsRestConstants;
|
||||
@@ -1364,11 +1365,12 @@ public abstract class EntityBase implements Serializable, Cloneable, EntityInter
|
||||
|
||||
public void insertEntity() throws Exception {
|
||||
|
||||
if (!(connection instanceof SQLServerConnection)) {
|
||||
java.sql.Connection con = connection.getConnection();
|
||||
if (!(con instanceof SQLServerConnection)) {
|
||||
throw new Exception("Impossibile processare una entity su una connessione diversa da SQL Server");
|
||||
}
|
||||
|
||||
SQLServerConnection sqlServerConnection = (SQLServerConnection) connection;
|
||||
SQLServerConnection sqlServerConnection = (SQLServerConnection) con;
|
||||
|
||||
if (nativeSql != null) {
|
||||
SQLServerPreparedStatement pstm = (SQLServerPreparedStatement) sqlServerConnection.prepareStatement(nativeSql);
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package it.integry.ems_model.base;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.exception.EntityException;
|
||||
import it.integry.ems_model.rulescompleting.DroolsDataCompleting;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.sql.Connection;
|
||||
import java.util.List;
|
||||
|
||||
public interface EntityInterface {
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.google.common.collect.HashBiMap;
|
||||
import it.integry.ems.dto.EntityHierarchy;
|
||||
import it.integry.ems.object_storage.minio.MinIOService;
|
||||
import it.integry.ems.settings.Model.SettingsModel;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.annotation.*;
|
||||
import it.integry.ems_model.resolver.SqlFieldHolder;
|
||||
import it.integry.ems_model.rulescompleting.DroolsDataCompleting;
|
||||
@@ -26,7 +27,6 @@ import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.lang.reflect.ParameterizedType;
|
||||
import java.lang.reflect.Type;
|
||||
import java.sql.Connection;
|
||||
import java.util.*;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -291,7 +291,7 @@ public class EntityPropertyHolder {
|
||||
.map(EntityHierarchy::getChildren)
|
||||
.flatMap(Collection::stream);
|
||||
|
||||
if(filter != null) fieldStream = fieldStream.filter(filter);
|
||||
if (filter != null) fieldStream = fieldStream.filter(filter);
|
||||
|
||||
return fieldStream.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import it.integry.ems.rules.completing.ConfigActivityRules;
|
||||
import it.integry.ems.rules.completing.DocOrdRules;
|
||||
import it.integry.ems.rules.completing.OrderRules;
|
||||
import it.integry.ems.rules.completing.dto.DatiPartitaMagDTO;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.business_logic.dto.ActivityCicloProdDTO;
|
||||
import it.integry.ems_model.business_logic.dto.CommessaDTO;
|
||||
@@ -25,7 +26,6 @@ import org.json.JSONArray;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
@@ -23,6 +23,10 @@ import org.json.JSONArray;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.*;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -378,12 +382,12 @@ public class ProductionBusinessLogic {
|
||||
partitaMag = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
|
||||
Integer existLotto = 0;
|
||||
if (checkExistLotto){
|
||||
if (checkExistLotto) {
|
||||
sql = "select COUNT(*)" +
|
||||
" from dtb_ordt inner join mtb_partita_mag on dtb_ordt.cod_prod = mtb_partita_mag.cod_mart and " +
|
||||
" dtb_ordt.partita_mag = mtb_partita_mag.partita_mag " +
|
||||
" where dtb_ordt.gestione = 'L' and" +
|
||||
" dtb_ordt.data_ord >= dateadd(month, -2, GETDATE()) and dtb_ordt.cod_mdep = " +UtilityDB.valueToString(codMdep) + " and " +
|
||||
" dtb_ordt.data_ord >= dateadd(month, -2, GETDATE()) and dtb_ordt.cod_mdep = " + UtilityDB.valueToString(codMdep) + " and " +
|
||||
" dtb_ordt.cod_prod = " + UtilityDB.valueToString(codMart) + " and " +
|
||||
" dtb_ordt.partita_mag = " + UtilityDB.valueToString(partitaMag);
|
||||
|
||||
@@ -414,7 +418,7 @@ public class ProductionBusinessLogic {
|
||||
if (partitaMagRequired && partitaMag == null) {
|
||||
throw new Exception("Partita di magazzino obbligatoria, impossibile procedere alla generazione");
|
||||
} else {
|
||||
if (existLotto != 0){
|
||||
if (existLotto != 0) {
|
||||
dtbOrdr.setPartitaMag(partitaMag);
|
||||
}
|
||||
}
|
||||
@@ -1139,12 +1143,12 @@ public class ProductionBusinessLogic {
|
||||
"SELECT cod_mdep\n" +
|
||||
"FROM ( SELECT ISNULL(cod_mdep, '') AS cod_mdep, cod_vdes \n" +
|
||||
" FROM mtb_depo\n" +
|
||||
" WHERE cod_anag = "+ UtilityDB.valueToString(codAnag)+"\n" +
|
||||
" AND (ISNULL(cod_vdes,'') = ISNULL("+ UtilityDB.valueToString(codVdes)+",''))\n" +
|
||||
" WHERE cod_anag = " + UtilityDB.valueToString(codAnag) + "\n" +
|
||||
" AND (ISNULL(cod_vdes,'') = ISNULL(" + UtilityDB.valueToString(codVdes) + ",''))\n" +
|
||||
" UNION ALL\n" +
|
||||
" SELECT ISNULL(cod_mdep, '') AS cod_mdep, cod_vdes \n" +
|
||||
" FROM mtb_depo\n" +
|
||||
" WHERE cod_anag = "+ UtilityDB.valueToString(codAnag)+" and cod_vdes is NULL ) depos \n" +
|
||||
" WHERE cod_anag = " + UtilityDB.valueToString(codAnag) + " and cod_vdes is NULL ) depos \n" +
|
||||
" ORDER BY cod_vdes desc ";
|
||||
|
||||
codMdep = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
|
||||
@@ -8,7 +8,8 @@ import it.integry.ems_model.utility.Query;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
|
||||
import java.sql.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -24,7 +25,7 @@ public class UtilityProduction {
|
||||
|
||||
HashMap<String, String> setupOrdProdGest = setup.getSetupSection(conn, classNameOrdProd, "SETUP");
|
||||
ordProdSetupDTO.setCheckLockProd(UtilityString.isNull(setupOrdProdGest.get("LOCK_PROD"), "S").equalsIgnoreCase("S"));
|
||||
ordProdSetupDTO.setCheckDepTerzista (UtilityString.isNull(setupOrdProdGest.get("CHECK_DEP_TERZISTA"), "N").equalsIgnoreCase("S"));
|
||||
ordProdSetupDTO.setCheckDepTerzista(UtilityString.isNull(setupOrdProdGest.get("CHECK_DEP_TERZISTA"), "N").equalsIgnoreCase("S"));
|
||||
ordProdSetupDTO.setGenAutoCommOrdProd(UtilityString.isNull(setupOrdProdGest.get("GENERA_COMM_ORD_PROD"), "N").equalsIgnoreCase("S"));
|
||||
ordProdSetupDTO.setFlagDescrizDaOrdine(UtilityString.equalsIgnoreCase(setupOrdProdGest.get("DESCRIZIONE_DA_ORDINE"), "S"));
|
||||
ordProdSetupDTO.setStatoCommessa(UtilityString.isNull(setupOrdProdGest.get("STATO_COMMESSA"), null));
|
||||
@@ -44,8 +45,8 @@ public class UtilityProduction {
|
||||
|
||||
HashMap<String, String> setupActivity = setup.getSetupSection(conn, classNameOrdProd, "ACTIVITY");
|
||||
|
||||
ordProdSetupDTO.setAssegnaAttivita( UtilityString.isNull(setupActivity.get("GENERA_ATTIVITA"), "N").equalsIgnoreCase("S"));
|
||||
ordProdSetupDTO.setTipoGenerazione( UtilityString.isNull(setupActivity.get("TIPO_GENERAZIONE"), ""));
|
||||
ordProdSetupDTO.setAssegnaAttivita(UtilityString.isNull(setupActivity.get("GENERA_ATTIVITA"), "N").equalsIgnoreCase("S"));
|
||||
ordProdSetupDTO.setTipoGenerazione(UtilityString.isNull(setupActivity.get("TIPO_GENERAZIONE"), ""));
|
||||
|
||||
HashMap<String, String> setupLottoProd = setup.getSetupSection(conn, classNameOrdProd, "GENERA_LOTTO_PROD");
|
||||
ordProdSetupDTO.setGenerateLotto(UtilityString.isNull(setupLottoProd.get("GENERA_LOTTO"), "N").equalsIgnoreCase("S"));
|
||||
@@ -91,10 +92,10 @@ public class UtilityProduction {
|
||||
return ordProdSetupDTO;
|
||||
}
|
||||
|
||||
private static List<HashMap<String, Object>> getSetupDepo (Connection conn, String gestName, String section) throws SQLException {
|
||||
private static List<HashMap<String, Object>> getSetupDepo(Connection conn, String gestName, String section) throws SQLException {
|
||||
String sql =
|
||||
Query.format("SELECT cod_mdep, key_section, value FROM stb_gest_setup_depo"
|
||||
+ " WHERE gest_name = %s and section = %s",gestName, section);
|
||||
Query.format("SELECT cod_mdep, key_section, value FROM stb_gest_setup_depo"
|
||||
+ " WHERE gest_name = %s and section = %s", gestName, section);
|
||||
|
||||
List<HashMap<String, Object>> hashMaps = UtilityDB.executeSimpleQuery(conn, sql);
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package it.integry.ems_model.db;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.annotation.Blob;
|
||||
import it.integry.ems_model.annotation.Clob;
|
||||
import it.integry.ems_model.annotation.MapToTable;
|
||||
@@ -12,7 +13,10 @@ import org.apache.logging.log4j.Logger;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.sql.*;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -25,6 +25,9 @@ import org.apache.logging.log4j.Logger;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.*;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -2,6 +2,7 @@ package it.integry.ems_model.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.annotation.Master;
|
||||
import it.integry.ems_model.annotation.PK;
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
@@ -15,7 +16,6 @@ import org.apache.logging.log4j.Logger;
|
||||
import org.kie.api.definition.type.PropertyReactive;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
|
||||
@@ -1236,9 +1236,13 @@ public class DtbDoct extends DtbBaseDocT implements EquatableEntityInterface<Dtb
|
||||
this.idLotto = idLotto;
|
||||
}
|
||||
|
||||
public String getTipoTrasporto() { return tipoTrasporto; }
|
||||
public String getTipoTrasporto() {
|
||||
return tipoTrasporto;
|
||||
}
|
||||
|
||||
public void setTipoTrasporto(String tipoTrasporto) { this.tipoTrasporto = tipoTrasporto; }
|
||||
public void setTipoTrasporto(String tipoTrasporto) {
|
||||
this.tipoTrasporto = tipoTrasporto;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getExplodeKit() {
|
||||
@@ -1729,7 +1733,7 @@ public class DtbDoct extends DtbBaseDocT implements EquatableEntityInterface<Dtb
|
||||
if (this == other)
|
||||
return true;
|
||||
|
||||
if(hashCodeKey() != other.hashCodeKey())
|
||||
if (hashCodeKey() != other.hashCodeKey())
|
||||
return false;
|
||||
|
||||
return Objects.equals(getCodAnag(), other.getCodAnag()) && Objects.equals(getCodDtip(), other.getCodDtip()) && Objects.equals(getDataDoc(), other.getDataDoc()) && Objects.equals(getNumDoc(), other.getNumDoc()) && Objects.equals(getSerDoc(), other.getSerDoc());
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package it.integry.ems_model.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.annotation.Master;
|
||||
import it.integry.ems_model.annotation.PK;
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
@@ -13,7 +14,6 @@ import org.apache.logging.log4j.Logger;
|
||||
import org.kie.api.definition.type.PropertyReactive;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Connection;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package it.integry.ems_model.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.annotation.Master;
|
||||
import it.integry.ems_model.annotation.PK;
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
@@ -11,8 +12,6 @@ import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.kie.api.definition.type.PropertyReactive;
|
||||
|
||||
import java.sql.Connection;
|
||||
|
||||
@Master
|
||||
@PropertyReactive
|
||||
@Table(GtbNaziIso.ENTITY)
|
||||
|
||||
@@ -8,6 +8,9 @@ import org.apache.commons.codec.binary.Base64;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.*;
|
||||
|
||||
public class ResultSetSerializer extends JsonSerializer<ResultSet> {
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
package it.integry.ems_model.rules.completing;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.entity.DtbDoct;
|
||||
import it.integry.ems_model.entity.MtbColt;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
|
||||
import java.sql.Connection;
|
||||
|
||||
public class DocumentExtEntityRules {
|
||||
|
||||
public static void completeColliDoc(Connection conn, DtbDoct entity) throws Exception {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package it.integry.ems_model.rulescompleting;
|
||||
|
||||
import it.integry.annotations.PostContextConstruct;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems.utility.UtilityDebug;
|
||||
import it.integry.ems.utility.UtilityDirs;
|
||||
import it.integry.ems_model.base.EntityInterface;
|
||||
@@ -27,7 +28,6 @@ import java.io.ObjectOutputStream;
|
||||
import java.net.URISyntaxException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.sql.Connection;
|
||||
|
||||
@Service
|
||||
public class DroolsDataCompleting {
|
||||
@@ -63,75 +63,75 @@ public class DroolsDataCompleting {
|
||||
public void createKieContainerForProject() throws IOException, ClassNotFoundException, URISyntaxException {
|
||||
// try {
|
||||
|
||||
KieServices kieServices = KieServices.Factory.get();
|
||||
KieFileSystem kFileSystem = kieServices.newKieFileSystem();
|
||||
KieServices kieServices = KieServices.Factory.get();
|
||||
KieFileSystem kFileSystem = kieServices.newKieFileSystem();
|
||||
|
||||
String compiledRulesPath = getCompiledDroolsFolder();
|
||||
String compiledRulesPath = getCompiledDroolsFolder();
|
||||
|
||||
String compiledRulesFileName = "compiled_kie_base.ckie";
|
||||
File compiledDrlFile = new File(compiledRulesPath, compiledRulesFileName);
|
||||
String compiledRulesFileName = "compiled_kie_base.ckie";
|
||||
File compiledDrlFile = new File(compiledRulesPath, compiledRulesFileName);
|
||||
|
||||
|
||||
//System.out.println("AIO: " + compiledRulesPath);
|
||||
//throw new RuntimeException("AIO: " + compiledRulesPath);
|
||||
//System.out.println("AIO: " + compiledRulesPath);
|
||||
//throw new RuntimeException("AIO: " + compiledRulesPath);
|
||||
|
||||
System.setProperty("drools.dialect.mvel.strict", "false");
|
||||
System.setProperty("drools.dialect.mvel.strict", "false");
|
||||
|
||||
|
||||
if (!shouldSkipDroolsCompile() || !compiledDrlFile.exists()) {
|
||||
File directory = new File(compiledRulesPath);
|
||||
if (!directory.exists())
|
||||
directory.mkdirs();
|
||||
if (!shouldSkipDroolsCompile() || !compiledDrlFile.exists()) {
|
||||
File directory = new File(compiledRulesPath);
|
||||
if (!directory.exists())
|
||||
directory.mkdirs();
|
||||
|
||||
|
||||
if(compiledDrlFile.exists())
|
||||
compiledDrlFile.delete();
|
||||
if (compiledDrlFile.exists())
|
||||
compiledDrlFile.delete();
|
||||
|
||||
for (String drl : dlrs) {
|
||||
String resourcePath = pathS + "rules" + pathS + drl;
|
||||
if (getClass().getResource(resourcePath) != null) {
|
||||
for (String drl : dlrs) {
|
||||
String resourcePath = pathS + "rules" + pathS + drl;
|
||||
if (getClass().getResource(resourcePath) != null) {
|
||||
|
||||
|
||||
try {
|
||||
Resource resDrl = kieServices
|
||||
.getResources()
|
||||
.newClassPathResource(resourcePath)
|
||||
.setResourceType(ResourceType.DRL);
|
||||
try {
|
||||
Resource resDrl = kieServices
|
||||
.getResources()
|
||||
.newClassPathResource(resourcePath)
|
||||
.setResourceType(ResourceType.DRL);
|
||||
|
||||
kFileSystem.write(resDrl);
|
||||
} catch (Exception ex) {
|
||||
|
||||
File fileDRL = new File(getClass().getResource(pathS + "rules" + pathS + drl).toURI());
|
||||
if (fileDRL.exists()) {
|
||||
Resource resDrl = kieServices.getResources().
|
||||
newFileSystemResource(fileDRL).setResourceType(ResourceType.DRL);
|
||||
kFileSystem.write(resDrl);
|
||||
} catch (Exception ex) {
|
||||
|
||||
File fileDRL = new File(getClass().getResource(pathS + "rules" + pathS + drl).toURI());
|
||||
if (fileDRL.exists()) {
|
||||
Resource resDrl = kieServices.getResources().
|
||||
newFileSystemResource(fileDRL).setResourceType(ResourceType.DRL);
|
||||
kFileSystem.write(resDrl);
|
||||
} else {
|
||||
System.out.println("Il file di regole \"" + drl + "\" non è stato trovato");
|
||||
}
|
||||
|
||||
} else {
|
||||
System.out.println("Il file di regole \"" + drl + "\" non è stato trovato");
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
logger.warn("Il file di regole \"" + drl + "\" non è stato trovato");
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
logger.warn("Il file di regole \"" + drl + "\" non è stato trovato");
|
||||
}
|
||||
|
||||
KieBuilder kbuilder = kieServices.newKieBuilder(kFileSystem);
|
||||
kbuilder.buildAll();
|
||||
|
||||
if (kbuilder.getResults().hasMessages(org.kie.api.builder.Message.Level.ERROR)) {
|
||||
throw new RuntimeException("Build time Errors: " + kbuilder.getResults().toString());
|
||||
}
|
||||
|
||||
KieContainer kieContainer = kieServices.newKieContainer(kieServices.getRepository().getDefaultReleaseId());
|
||||
kieBase = kieContainer.getKieBase();
|
||||
serialize(kieBase, compiledDrlFile);
|
||||
} else {
|
||||
kieBase = deserialize(KieBase.class, compiledDrlFile);
|
||||
}
|
||||
|
||||
KieBuilder kbuilder = kieServices.newKieBuilder(kFileSystem);
|
||||
kbuilder.buildAll();
|
||||
|
||||
if (kbuilder.getResults().hasMessages(org.kie.api.builder.Message.Level.ERROR)) {
|
||||
throw new RuntimeException("Build time Errors: " + kbuilder.getResults().toString());
|
||||
}
|
||||
|
||||
KieContainer kieContainer = kieServices.newKieContainer(kieServices.getRepository().getDefaultReleaseId());
|
||||
kieBase = kieContainer.getKieBase();
|
||||
serialize(kieBase, compiledDrlFile);
|
||||
} else {
|
||||
kieBase = deserialize(KieBase.class, compiledDrlFile);
|
||||
}
|
||||
|
||||
// } catch (Exception ex) {
|
||||
// logger.error("Drools build", ex);
|
||||
// }
|
||||
|
||||
@@ -13,7 +13,9 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.context.ContextLoader;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
@@ -185,7 +187,7 @@ public class SetupGest {
|
||||
return getSetupSection(connection, gestName, section, null);
|
||||
}
|
||||
|
||||
///DEPOSITO
|
||||
/// DEPOSITO
|
||||
public boolean getSetupDepoBoolean(Connection conn, String gestName, String section, String keySection, String codMdep) throws Exception {
|
||||
return "S".equalsIgnoreCase(getSetupDepo(conn, gestName, section, keySection, codMdep));
|
||||
}
|
||||
@@ -224,7 +226,7 @@ public class SetupGest {
|
||||
return stringReturn;
|
||||
}
|
||||
|
||||
public HashMap<String, String> getSetupSectionDepo(Connection connection, String gestName, String section, String codMdep) throws Exception {
|
||||
public HashMap<String, String> getSetupSectionDepo(Connection connection, String gestName, String section, String codMdep) throws Exception {
|
||||
String query = "SELECT key_section, value FROM stb_gest_setup_depo"
|
||||
+ " WHERE gest_name = " + UtilityDB.valueToString(gestName)
|
||||
+ " AND section = " + UtilityDB.valueToString(section)
|
||||
@@ -375,7 +377,7 @@ public class SetupGest {
|
||||
return new JSONArray(jsonString);
|
||||
}
|
||||
|
||||
public boolean getSetupDetBoolean(String gestName, String section, String keySection,String colRif) throws Exception {
|
||||
public boolean getSetupDetBoolean(String gestName, String section, String keySection, String colRif) throws Exception {
|
||||
return "S".equalsIgnoreCase(getSetupDet(gestName, section, keySection, colRif));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.microsoft.sqlserver.jdbc.SQLServerResultSet;
|
||||
import com.microsoft.sqlserver.jdbc.SQLServerStatement;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.expansion.RunnableArgs;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.annotation.EntityChild;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.base.EntityPropertyHolder;
|
||||
@@ -21,6 +22,9 @@ import javax.annotation.Nullable;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.ParameterizedType;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.*;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.Instant;
|
||||
@@ -84,7 +88,7 @@ public class UtilityDB {
|
||||
statement.close();
|
||||
}
|
||||
|
||||
public static List<? extends EntityBase> reloadOnlyDbRow(Connection conn, EntityBase testata, List<? extends EntityBase> rows, Field field) throws Exception {
|
||||
public static List<? extends EntityBase> reloadOnlyDbRow(it.integry.ems.sync.MultiDBTransaction.Connection conn, EntityBase testata, List<? extends EntityBase> rows, Field field) throws Exception {
|
||||
|
||||
ParameterizedType pType = (ParameterizedType) field.getGenericType();
|
||||
Class<? extends EntityBase> rowClass = (Class<? extends EntityBase>) pType.getActualTypeArguments()[0];
|
||||
|
||||
@@ -9,7 +9,9 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@@ -27,7 +27,9 @@ import javax.xml.validation.SchemaFactory;
|
||||
import javax.xml.validation.Validator;
|
||||
import java.io.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Connection;
|
||||
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
@@ -2,6 +2,7 @@ package it.integry.firebase.service;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import it.integry.ems.service.EntityProcessor;
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems_model.entity.WtbDeviceTokenTopic;
|
||||
import it.integry.ems_model.entity.WtbUserDeviceToken;
|
||||
@@ -13,7 +14,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -6,7 +6,7 @@ import it.integry.ems_model.entity.*
|
||||
import it.integry.ems_model.base.EntityBase
|
||||
import it.integry.ems.rules.util.*
|
||||
import it.integry.ems.rules.completing.*
|
||||
import java.sql.Connection
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
global Connection conn
|
||||
global String username
|
||||
|
||||
@@ -7,7 +7,7 @@ import it.integry.ems_model.base.EntityBase
|
||||
import it.integry.ems.rules.util.*
|
||||
import it.integry.ems.rules.completing.*
|
||||
import it.integry.ems_model.types.OperationType
|
||||
import java.sql.Connection
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
global Connection conn
|
||||
global String username
|
||||
|
||||
@@ -6,7 +6,7 @@ import it.integry.ems_model.entity.*
|
||||
import it.integry.ems_model.base.EntityBase
|
||||
import it.integry.ems.rules.util.*
|
||||
import it.integry.ems.rules.completing.*
|
||||
import java.sql.Connection
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.service.SetupGest
|
||||
|
||||
global Connection conn
|
||||
|
||||
@@ -6,7 +6,7 @@ import it.integry.ems_model.entity.*
|
||||
import it.integry.ems_model.base.EntityBase
|
||||
import it.integry.ems.rules.util.*
|
||||
import it.integry.ems.rules.completing.*
|
||||
import java.sql.Connection
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
global Connection conn
|
||||
global String username
|
||||
|
||||
@@ -6,7 +6,7 @@ import it.integry.ems_model.entity.*
|
||||
import it.integry.ems_model.base.EntityBase
|
||||
import it.integry.ems.rules.util.*
|
||||
import it.integry.ems.rules.completing.*
|
||||
import java.sql.Connection
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
global Connection conn
|
||||
global String username
|
||||
|
||||
@@ -6,7 +6,7 @@ import it.integry.ems_model.entity.*
|
||||
import it.integry.ems_model.base.EntityBase
|
||||
import it.integry.ems.rules.util.*
|
||||
import it.integry.ems.rules.completing.*
|
||||
import java.sql.Connection
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.types.OperationType
|
||||
|
||||
global Connection conn
|
||||
|
||||
@@ -6,7 +6,7 @@ import it.integry.ems_model.entity.*
|
||||
import it.integry.ems_model.base.EntityBase
|
||||
import it.integry.ems.rules.util.*
|
||||
import it.integry.ems.rules.completing.*
|
||||
import java.sql.Connection
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.types.OperationType
|
||||
|
||||
global Connection conn
|
||||
|
||||
@@ -6,7 +6,7 @@ import it.integry.ems_model.entity.*
|
||||
import it.integry.ems_model.base.EntityBase
|
||||
import it.integry.ems.rules.util.*
|
||||
import it.integry.ems.rules.completing.*
|
||||
import java.sql.Connection
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.types.OperationType
|
||||
import it.integry.ems_model.utility.UtilityString
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
|
||||
@@ -7,7 +7,7 @@ import it.integry.ems_model.base.EntityBase
|
||||
import it.integry.ems.rules.util.*
|
||||
import it.integry.ems.rules.completing.*
|
||||
import it.integry.ems_model.types.OperationType
|
||||
import java.sql.Connection
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import org.drools.core.util.bitmask.LongBitMask
|
||||
import it.integry.ems.utility.UtilityEntity
|
||||
import it.integry.ems_model.utility.UtilityDB
|
||||
|
||||
@@ -7,7 +7,7 @@ import it.integry.ems_model.entity.JtbLott
|
||||
import it.integry.ems_model.base.EntityBase
|
||||
import it.integry.ems.rules.util.*
|
||||
import it.integry.ems.rules.completing.*
|
||||
import java.sql.Connection
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
|
||||
global Connection conn
|
||||
global String username
|
||||
|
||||
@@ -7,7 +7,7 @@ import it.integry.ems_model.base.EntityBase
|
||||
import it.integry.ems_model.entity.common.*
|
||||
import it.integry.ems.rules.util.*
|
||||
import it.integry.ems.rules.completing.*
|
||||
import java.sql.Connection
|
||||
import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems_model.utility.UtilityDB
|
||||
import it.integry.ems_model.utility.UtilityDate
|
||||
import it.integry.ems_model.utility.UtilityString
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user