gestito errore date promo duplicate e sistemata retun dei Thread

This commit is contained in:
2025-12-10 12:13:13 +01:00
parent d7012d4e1f
commit c82f2a57d8
2 changed files with 19 additions and 9 deletions

View File

@@ -34,15 +34,7 @@ public class UtilityThread {
int finalI = i;
calls.add(() -> {
try {
return runnables.get(finalI).run();
} catch (Exception ex) {
logger.error("executeParallel", ex);
//if (rethrowError) throw ex;
}
return null;
});
}

View File

@@ -132,6 +132,24 @@ public class VariazioniPvService {
String query = getQueryVariazioni(variazioniPvDTO, setup, datiLisv.getCodVlis(), UtilityHashMap.getValueIfExists(getSetupSectionDepo, "SELEZIONA_GRIGLIE"));
variazioniLisv = UtilityDB.executeSimpleQueryDTO(mdb.getPrimaryConnection(), query, VariazioniDettaglioDTO.class);
boolean duplicati = variazioniLisv.stream()
.filter(x->x.getIdPromo() !=null && !x.getIdPromo().isEmpty())
.collect(Collectors.groupingBy(
VariazioniDettaglioDTO::getIdPromo,
Collectors.mapping(
p -> p.getDataIniz() + "#" + p.getDataFine(),
Collectors.toSet()
)
))
.values().stream()
.anyMatch(set -> set.size() > 1);
if (duplicati) {
throw new Exception(String.format("Attenzione rigenerare il file del punto vendita %s ci sono articoli con dati promo errati.",
datiLisv.getCodVlis()));
}
if (variazioniLisv != null) {
variazioniLisv
.forEach(