procedura di aggiornamento listini
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-06-30 14:47:42 +02:00
parent 01ee490657
commit 25d872570d
3 changed files with 82 additions and 19 deletions

View File

@@ -4,6 +4,7 @@ import it.integry.common.var.CommonConstants;
import it.integry.ems.product.dto.DuplicaListinoDTO;
import it.integry.ems.product.dto.InsertPromoRequestDTO;
import it.integry.ems.product.dto.InsertPromoResponseDTO;
import it.integry.ems.product.dto.InsertVariazioniRequestDTO;
import it.integry.ems.product.importaz.dto.Lisv4LisaDTO;
import it.integry.ems.product.importaz.service.Lisv4LisaService;
import it.integry.ems.product.service.ListiniVenditaServices;
@@ -100,10 +101,10 @@ public class ListiniVenditaController {
}
@RequestMapping(value = "insertVariazioni", method = RequestMethod.POST)
public ServiceRestResponse insertPromo(@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestBody List<MtbLisvData> mtbLisvData) throws Exception {
public ServiceRestResponse insertVariazioni(@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestBody InsertVariazioniRequestDTO insertVariazioniRequestDTO) throws Exception {
return ServiceRestResponse.createPositiveResponse(listiniVenditaServices.inserisciVariazioni(mtbLisvData));
return ServiceRestResponse.createPositiveResponse(listiniVenditaServices.inserisciVariazioni(insertVariazioniRequestDTO));
}
@RequestMapping(value = "aggiorna4Lisa", method = RequestMethod.POST)

View File

@@ -0,0 +1,43 @@
package it.integry.ems.product.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import it.integry.ems_model.entity.MtbLisvData;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
public class InsertVariazioniRequestDTO {
private LocalDate dataValidita;
private List<String> listini;
private List<MtbLisvData> mtbLisvData;
public LocalDate getDataValidita() {
return dataValidita;
}
public InsertVariazioniRequestDTO setDataValidita(LocalDate dataValidita) {
this.dataValidita = dataValidita;
return this;
}
public List<String> getListini() {
return listini;
}
public InsertVariazioniRequestDTO setListini(List<String> listini) {
this.listini = listini;
return this;
}
public List<MtbLisvData> getMtbLisvData() {
return mtbLisvData;
}
public InsertVariazioniRequestDTO setMtbLisvData(List<MtbLisvData> mtbLisvData) {
this.mtbLisvData = mtbLisvData;
return this;
}
}

View File

@@ -3,12 +3,10 @@ package it.integry.ems.product.service;
import com.annimon.stream.Stream;
import it.integry.common.var.CommonConstants;
import it.integry.ems.Import.dto.AnomalieDTO;
import it.integry.ems.document.service.ManutenzioneProduzioniService;
import it.integry.ems.exception.MissingDataException;
import it.integry.ems.javabeans.RequestDataDTO;
import it.integry.ems.product.dto.DuplicaListinoDTO;
import it.integry.ems.product.dto.InsertPromoRequestDTO;
import it.integry.ems.product.dto.InsertPromoResponseDTO;
import it.integry.ems.product.dto.ListiniVenditaAllinePrezziDTO;
import it.integry.ems.product.dto.*;
import it.integry.ems.product.importaz.service.ImportAnagListiniService;
import it.integry.ems.product.importaz.service.ImportListiniVenditaService;
import it.integry.ems.service.EmsServices;
@@ -68,6 +66,7 @@ public class ListiniVenditaServices {
private final Logger logger = LogManager.getLogger();
@Autowired
private SetupGest setupGest;
private ManutenzioneProduzioniService manutenzioneProduzioniService;
public void allinemanetoPrezziArtEqui(Date dataValidita, ListiniVenditaAllinePrezziDTO datiInput) throws Exception {
@@ -917,21 +916,41 @@ public class ListiniVenditaServices {
return InsertPromoResponse;
}
public List<EntityBase> inserisciVariazioni(List<MtbLisvData> mtbLisvData) throws Exception {
Map<VtbListData, List<MtbLisvData>> elencoVariazioni = mtbLisvData.stream().collect(Collectors.groupingBy(
x -> new VtbListData()
.setCodVlis(x.getCodVlis())
.setDataIniz(x.getDataIniz())
));
public List<EntityBase> inserisciVariazioni(InsertVariazioniRequestDTO insertVariazioniRequestDTO) throws Exception {
if (insertVariazioniRequestDTO.getMtbLisvData().stream().anyMatch(x->UtilityString.isNullOrEmpty(x.getCodVlis())) &&
(insertVariazioniRequestDTO.getListini() == null || insertVariazioniRequestDTO.getListini().isEmpty()) ) {
throw new Exception("Inserire almeno un listino o un articolo con codice listino");
}
List<EntityBase> entityList = new ArrayList<>();
for (VtbListData vtbListData : elencoVariazioni.keySet()) {
vtbListData.setOperation(OperationType.INSERT_OR_UPDATE);
List<MtbLisvData> mtbLisvDataList = elencoVariazioni.get(vtbListData);
mtbLisvDataList.stream().forEach(x->x.setOperation(OperationType.INSERT_OR_UPDATE));
vtbListData.setMtbLisvData(mtbLisvDataList);
entityList.add(vtbListData);
if (insertVariazioniRequestDTO.getMtbLisvData().stream().anyMatch(x->!UtilityString.isNullOrEmpty(x.getCodVlis())) ) {
Map<VtbListData, List<MtbLisvData>> elencoVariazioni = insertVariazioniRequestDTO.getMtbLisvData().stream().collect(Collectors.groupingBy(
x -> new VtbListData()
.setCodVlis(x.getCodVlis())
.setDataIniz(x.getDataIniz()==null?
UtilityLocalDate.localDateToDate(insertVariazioniRequestDTO.getDataValidita())
: x.getDataIniz())
));
for (VtbListData vtbListData : elencoVariazioni.keySet()) {
vtbListData.setOperation(OperationType.INSERT_OR_UPDATE);
List<MtbLisvData> mtbLisvDataList = elencoVariazioni.get(vtbListData);
mtbLisvDataList.stream().forEach(x -> x.setOperation(OperationType.INSERT_OR_UPDATE));
vtbListData.setMtbLisvData(mtbLisvDataList);
entityList.add(vtbListData);
}
} else {
for (String codVlis : insertVariazioniRequestDTO.getListini()) {
VtbListData vtbListData = new VtbListData()
.setCodVlis(codVlis)
.setDataIniz(UtilityLocalDate.localDateToDate(insertVariazioniRequestDTO.getDataValidita()));
vtbListData.setMtbLisvData(insertVariazioniRequestDTO.getMtbLisvData());
vtbListData.setOperation(OperationType.INSERT_OR_UPDATE);
entityList.add(vtbListData);
}
}
List<EntityBase> entityRet = entityProcessor.processEntityList(entityList, true);