diff --git a/ems-engine/src/main/java/it/integry/ems/product/importaz/dto/GriglieVenditaExcelDTO.java b/ems-engine/src/main/java/it/integry/ems/product/importaz/dto/GriglieVenditaExcelDTO.java index 36f7db9d79..5e1e31b132 100644 --- a/ems-engine/src/main/java/it/integry/ems/product/importaz/dto/GriglieVenditaExcelDTO.java +++ b/ems-engine/src/main/java/it/integry/ems/product/importaz/dto/GriglieVenditaExcelDTO.java @@ -30,32 +30,37 @@ public class GriglieVenditaExcelDTO { } public GriglieVenditaExcelDTO addRiga(Integer ggSettimana, String codMart) { - LocalDate nextMonday = LocalDate.now().with(java.time.temporal.TemporalAdjusters.next(DayOfWeek.MONDAY));; + LocalDate today = LocalDate.now(); LocalDate dataGriglia; - switch (ggSettimana) { - case 1: // Lunedì - dataGriglia = nextMonday; - break; - case 2: // Martedì - dataGriglia = nextMonday.with(java.time.temporal.TemporalAdjusters.next(DayOfWeek.TUESDAY)); - break; - case 3: // Mercoledì - dataGriglia = nextMonday.with(java.time.temporal.TemporalAdjusters.next(DayOfWeek.WEDNESDAY)); - break; - case 4: // Giovedì - dataGriglia = nextMonday.with(java.time.temporal.TemporalAdjusters.next(DayOfWeek.THURSDAY)); - break; - case 5: // Venerdì - dataGriglia = nextMonday.with(java.time.temporal.TemporalAdjusters.next(DayOfWeek.FRIDAY)); - break; - case 6: // Sabato - dataGriglia = nextMonday.with(java.time.temporal.TemporalAdjusters.next(DayOfWeek.SATURDAY)); - break; - case 7: // Domenica - dataGriglia = nextMonday.with(java.time.temporal.TemporalAdjusters.next(DayOfWeek.SUNDAY)); - break; - default: - throw new IllegalArgumentException("Giorno della settimana non valido: " + ggSettimana); + + if (today.getDayOfWeek().getValue() == ggSettimana.intValue()) { + dataGriglia = today; + } else { + switch (ggSettimana) { + case 1: // Lunedì + dataGriglia = today.with(java.time.temporal.TemporalAdjusters.next(DayOfWeek.MONDAY)); + break; + case 2: // Martedì + dataGriglia = today.with(java.time.temporal.TemporalAdjusters.next(DayOfWeek.TUESDAY)); + break; + case 3: // Mercoledì + dataGriglia = today.with(java.time.temporal.TemporalAdjusters.next(DayOfWeek.WEDNESDAY)); + break; + case 4: // Giovedì + dataGriglia = today.with(java.time.temporal.TemporalAdjusters.next(DayOfWeek.THURSDAY)); + break; + case 5: // Venerdì + dataGriglia = today.with(java.time.temporal.TemporalAdjusters.next(DayOfWeek.FRIDAY)); + break; + case 6: // Sabato + dataGriglia = today.with(java.time.temporal.TemporalAdjusters.next(DayOfWeek.SATURDAY)); + break; + case 7: // Domenica + dataGriglia = today.with(java.time.temporal.TemporalAdjusters.next(DayOfWeek.SUNDAY)); + break; + default: + throw new IllegalArgumentException("Giorno della settimana non valido: " + ggSettimana); + } } DatiGriglia riga = new DatiGriglia() .setCodMart(codMart) diff --git a/ems-engine/src/main/java/it/integry/ems/retail/pvmRetail/service/PvmService.java b/ems-engine/src/main/java/it/integry/ems/retail/pvmRetail/service/PvmService.java index 8d29d6e386..4be623238a 100644 --- a/ems-engine/src/main/java/it/integry/ems/retail/pvmRetail/service/PvmService.java +++ b/ems-engine/src/main/java/it/integry/ems/retail/pvmRetail/service/PvmService.java @@ -2120,7 +2120,7 @@ public class PvmService { if (qtaAcq != null && UtilityBigDecimal.greaterThan(UtilityHashMap.getValueIfExists(lotto, "qta_col"), qtaAcq)) { anomalieResiDTO.add(setAnomalia(anomalieResiDTO, codMart, dataScad, String.format("Quantità resa maggiore di quantità acquistata %s", qtaAcq))); } - } else if (!UtilityString.isNullOrEmpty(gg)) { + } else if (!UtilityString.isNullOrEmpty(gg) && !gestioneDoc.equalsIgnoreCase("A")) { if (UtilityDate.DaysAfter(UtilityDate.getTodayWithoutTime(), dataScad) > Integer.parseInt(gg)) { anomalieResiDTO.add(setAnomalia(anomalieResiDTO, codMart, dataScad, String.format("Impossibile effetture un %S di un articolo con scadenza %s.", codDtip, UtilityDate.formatDate(dataScad, CommonConstants.DATE_FORMAT_DMY)))); continue;