Cambiata logica di assegnazione dell'ordine in testata collo nel caso si passi un lotto di lavoro

This commit is contained in:
2024-01-12 12:37:41 +01:00
parent 224cf2a2b6
commit 3b8fbd02dd
2 changed files with 19 additions and 7 deletions

View File

@@ -72,7 +72,7 @@ public class ProductionController {
@RequestMapping(value = "/order/close", method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse mrpDailyMaterialReq(
ServiceRestResponse chiudiOrdineLavorazione(
@RequestParam(CommonConstants.PROFILE_DB) String configuration,
@RequestBody() ChiusuraLavorazioneDTO chiusuraLavorazioneDTO) throws Exception {
return ServiceRestResponse.createPositiveResponse(productionService.chiudiOrdineLavorazione(chiusuraLavorazioneDTO));

View File

@@ -152,19 +152,31 @@ public class WMSLavorazioneService {
throw new Exception("Nessun ordine in corso sulla linea " + createUDSRequestDTO.getCodJfas());
}
List<Integer> idLotto = Stream.of(ordiniLavorazioneInCorso).map(OrdineLavorazioneDTO::getIdLotto).withoutNulls().distinct().toList();
List<Integer> idLotto = Stream.of(ordiniLavorazioneInCorso)
.map(OrdineLavorazioneDTO::getIdLotto)
.withoutNulls()
.distinct().
toList();
if (idLotto.size() > 1) {
throw new Exception("Trovato più di 1 id lotto in corso.");
}
//Assegnare l'ordine o l'id lotto al collo appena creato
OrdineLavorazioneDTO ordineLavorazioneDTO = ordiniLavorazioneInCorso.get(0);
udsMtbColt
.setDataOrd(ordineLavorazioneDTO.getDataOrd())
.setNumOrd(ordineLavorazioneDTO.getNumOrd())
.setIdLotto(ordineLavorazioneDTO.getIdLotto());
.setIdLotto(idLotto.get(0));
final List<Integer> foundInCorsoOrders = ordiniLavorazioneInCorso.stream()
.map(OrdineLavorazioneDTO::getNumOrd)
.distinct()
.collect(Collectors.toList());
if (foundInCorsoOrders.size() == 1) {
OrdineLavorazioneDTO ordineLavorazioneDTO = ordiniLavorazioneInCorso.get(0);
udsMtbColt
.setDataOrd(ordineLavorazioneDTO.getDataOrd())
.setNumOrd(ordineLavorazioneDTO.getNumOrd());
}
}
udsMtbColt.setOperation(OperationType.INSERT);