Fix modal BatchLotSelection
This commit is contained in:
parent
edc9470e9b
commit
c287852ce6
@ -515,7 +515,6 @@ public class SpedizioneViewModel {
|
||||
}
|
||||
|
||||
private Pair<Boolean, MtbDepoPosizione> sendLUPositionChangeRequest() {
|
||||
|
||||
final CountDownLatch latch = new CountDownLatch(1);
|
||||
AtomicReference<Pair<Boolean, MtbDepoPosizione>> result = new AtomicReference<>();
|
||||
|
||||
@ -533,9 +532,22 @@ public class SpedizioneViewModel {
|
||||
return null;
|
||||
}
|
||||
|
||||
private void sendBatchLotSelectionRequest(List<MtbPartitaMag> availableBatchLots, RunnableArgs<MtbPartitaMag> onComplete) {
|
||||
if (this.mListener != null)
|
||||
mListener.onBatchLotSelectionRequest(availableBatchLots, onComplete);
|
||||
private MtbPartitaMag sendBatchLotSelectionRequest(List<MtbPartitaMag> availableBatchLots) {
|
||||
final CountDownLatch latch = new CountDownLatch(1);
|
||||
AtomicReference<MtbPartitaMag> result = new AtomicReference<>();
|
||||
|
||||
mListener.onBatchLotSelectionRequest(availableBatchLots, item -> {
|
||||
result.set(item);
|
||||
latch.countDown();
|
||||
});
|
||||
|
||||
try {
|
||||
latch.await(); // Attende che il dialog venga chiuso
|
||||
return result.get();
|
||||
} catch (InterruptedException e) {
|
||||
this.sendError(e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO) throws Exception {
|
||||
@ -1016,24 +1028,23 @@ public class SpedizioneViewModel {
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
this.sendBatchLotSelectionRequest(tmp, selected -> {
|
||||
this.sendOnLoadingEnded();
|
||||
var selected = this.sendBatchLotSelectionRequest(tmp);
|
||||
this.sendOnLoadingEnded();
|
||||
|
||||
if (selected != null) {
|
||||
MtbColr scannedMtbColr = pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().stream()
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(pickingObjectDTO.getMtbAart().getCodMart()) &&
|
||||
((x.getPartitaMag() != null && selected.getPartitaMag() != null && x.getPartitaMag().equalsIgnoreCase(selected.getPartitaMag()))
|
||||
|| (x.getPartitaMag() == null && selected.getPartitaMag() == null)))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
if (selected != null) {
|
||||
MtbColr scannedMtbColr = pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().stream()
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(pickingObjectDTO.getMtbAart().getCodMart()) &&
|
||||
((x.getPartitaMag() != null && selected.getPartitaMag() != null && x.getPartitaMag().equalsIgnoreCase(selected.getPartitaMag()))
|
||||
|| (x.getPartitaMag() == null && selected.getPartitaMag() == null)))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
|
||||
try {
|
||||
dispatchOrdineRowOnPostBatchLotSelection(pickingObjectDTO, refMtbColt, refMtbColr, scannedMtbColr, canPartitaMagBeChanged, executeImmediately);
|
||||
} catch (Exception e) {
|
||||
this.sendError(e);
|
||||
}
|
||||
try {
|
||||
dispatchOrdineRowOnPostBatchLotSelection(pickingObjectDTO, refMtbColt, refMtbColr, scannedMtbColr, canPartitaMagBeChanged, executeImmediately);
|
||||
} catch (Exception e) {
|
||||
this.sendError(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
} else {
|
||||
dispatchOrdineRowOnPostBatchLotSelection(pickingObjectDTO, refMtbColt, refMtbColr, scannedMtbColrs.get(0), canPartitaMagBeChanged, executeImmediately);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user