Merge branch 'master' into develop
This commit is contained in:
@@ -196,7 +196,7 @@ public class ExchangeDocumentImportService {
|
|||||||
mtbColrLavTableName, Query.format("data_doc BETWEEN {} AND {}", minDate, maxDate), retrieveAlreadyImported);
|
mtbColrLavTableName, Query.format("data_doc BETWEEN {} AND {}", minDate, maxDate), retrieveAlreadyImported);
|
||||||
|
|
||||||
|
|
||||||
righe.parallelStream()
|
final List<DtbDoct> orphanTestateToAdd = righe.parallelStream()
|
||||||
.filter(riga ->
|
.filter(riga ->
|
||||||
testate.parallelStream()
|
testate.parallelStream()
|
||||||
.noneMatch(testata ->
|
.noneMatch(testata ->
|
||||||
@@ -208,7 +208,7 @@ public class ExchangeDocumentImportService {
|
|||||||
Objects.equals(riga.getDataDoc(), testata.getDataDoc()) &&
|
Objects.equals(riga.getDataDoc(), testata.getDataDoc()) &&
|
||||||
Objects.equals(riga.getNumDoc(), testata.getNumDoc()) &&
|
Objects.equals(riga.getNumDoc(), testata.getNumDoc()) &&
|
||||||
Objects.equals(riga.getSerDoc(), testata.getSerDoc()))))
|
Objects.equals(riga.getSerDoc(), testata.getSerDoc()))))
|
||||||
.forEach(riga -> {
|
.map(riga -> {
|
||||||
DtbDoct testata = new DtbDoct()
|
DtbDoct testata = new DtbDoct()
|
||||||
.setSerDoc(riga.getSerDoc())
|
.setSerDoc(riga.getSerDoc())
|
||||||
.setDataDoc(riga.getDataDoc())
|
.setDataDoc(riga.getDataDoc())
|
||||||
@@ -217,9 +217,12 @@ public class ExchangeDocumentImportService {
|
|||||||
.setCodAnag(riga.getCodAnag());
|
.setCodAnag(riga.getCodAnag());
|
||||||
|
|
||||||
testata.setOperation(OperationType.UPDATE);
|
testata.setOperation(OperationType.UPDATE);
|
||||||
testate.add(testata);
|
return testata;
|
||||||
});
|
})
|
||||||
|
.filter(testataOrphan -> testate.stream().noneMatch(testataOrphan::equalsKey))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
testate.addAll(orphanTestateToAdd);
|
||||||
|
|
||||||
|
|
||||||
testate.parallelStream()
|
testate.parallelStream()
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ import it.integry.ems.system.exchange.service.structure.ExchangeImportDataManage
|
|||||||
import it.integry.ems.system.exchange.service.structure.ExchangeImportSchemaManagerService;
|
import it.integry.ems.system.exchange.service.structure.ExchangeImportSchemaManagerService;
|
||||||
import it.integry.ems_model.base.EquatableEntityInterface;
|
import it.integry.ems_model.base.EquatableEntityInterface;
|
||||||
import it.integry.ems_model.entity.MtbPartitaMag;
|
import it.integry.ems_model.entity.MtbPartitaMag;
|
||||||
|
import it.integry.ems_model.exception.EntityException;
|
||||||
import it.integry.ems_model.exception.MergeEntityDBToObjectException;
|
import it.integry.ems_model.exception.MergeEntityDBToObjectException;
|
||||||
import it.integry.ems_model.types.OperationType;
|
import it.integry.ems_model.types.OperationType;
|
||||||
import it.integry.ems_model.utility.UtilityDB;
|
import it.integry.ems_model.utility.UtilityDB;
|
||||||
import it.integry.ems_model.utility.UtilityLocalDate;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -52,16 +52,18 @@ public class ExchangePartiteMagazzinoImportService {
|
|||||||
|
|
||||||
final List<MtbPartitaMag> exchangeImportedData = retrievePartite(
|
final List<MtbPartitaMag> exchangeImportedData = retrievePartite(
|
||||||
exchangeMultiDb.getPrimaryConnection(),
|
exchangeMultiDb.getPrimaryConnection(),
|
||||||
LocalDate.of(2022, 1, 1),
|
null,
|
||||||
UtilityLocalDate.getNow(),
|
null,
|
||||||
true, false);
|
true, false);
|
||||||
|
|
||||||
final List<MtbPartitaMag> exchangeUpdatedData = retrievePartite(
|
final List<MtbPartitaMag> exchangeUpdatedData = retrievePartite(
|
||||||
exchangeMultiDb.getPrimaryConnection(),
|
exchangeMultiDb.getPrimaryConnection(),
|
||||||
LocalDate.of(2022, 1, 1),
|
null,
|
||||||
UtilityLocalDate.getNow(),
|
null,
|
||||||
false, useTempTable);
|
false, useTempTable);
|
||||||
|
|
||||||
|
exchangeMultiDb.commitAll();
|
||||||
|
|
||||||
List<EquatableEntityInterface> allData = exchangeImportDataManagerService
|
List<EquatableEntityInterface> allData = exchangeImportDataManagerService
|
||||||
.runSync(MtbPartitaMag.class, exchangeImportedData, exchangeUpdatedData);
|
.runSync(MtbPartitaMag.class, exchangeImportedData, exchangeUpdatedData);
|
||||||
|
|
||||||
@@ -87,6 +89,13 @@ public class ExchangePartiteMagazzinoImportService {
|
|||||||
} catch (MergeEntityDBToObjectException mergeEntityDBToObjectException) {
|
} catch (MergeEntityDBToObjectException mergeEntityDBToObjectException) {
|
||||||
//ignore error if is DELETE
|
//ignore error if is DELETE
|
||||||
if (dataToSave.getOperation() != OperationType.DELETE) throw mergeEntityDBToObjectException;
|
if (dataToSave.getOperation() != OperationType.DELETE) throw mergeEntityDBToObjectException;
|
||||||
|
} catch (EntityException e) {
|
||||||
|
//ignore error if is DELETE & foreign key error and rollback
|
||||||
|
if (e.getSqlErrorCode() == 547 && dataToSave.getOperation() == OperationType.DELETE) {
|
||||||
|
internalMultiDb.rollbackAll();
|
||||||
|
exchangeMultiDb.rollbackAll();
|
||||||
|
continue;
|
||||||
|
} else throw e;
|
||||||
}
|
}
|
||||||
singleUpdateImported(exchangeMultiDb.getPrimaryConnection(), (MtbPartitaMag) dataToSave, useTempTable);
|
singleUpdateImported(exchangeMultiDb.getPrimaryConnection(), (MtbPartitaMag) dataToSave, useTempTable);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user