Fix su loop nel caso di ricerca barcode kit in accettazione da bolla
This commit is contained in:
parent
7bdb9b47f4
commit
f2d5bb76c5
@ -305,8 +305,8 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
private void loadArticolo(String barcodeProd, PickDataDTO pickData, Runnable onComplete) {
|
private void loadArticolo(String barcodeProd, PickDataDTO pickData, Runnable onComplete) {
|
||||||
this.mArticoloRESTConsumer.searchByBarcode(barcodeProd, mtbAartList -> {
|
this.mArticoloRESTConsumer.searchByBarcode(barcodeProd, mtbAartList -> {
|
||||||
|
|
||||||
if (mtbAartList != null && mtbAartList.size() > 0) {
|
if (mtbAartList != null && !mtbAartList.isEmpty()) {
|
||||||
this.searchArtFromAnag(mtbAartList.get(0), pickData, onComplete);
|
this.searchArtFromAnag(mtbAartList.get(0), pickData, null, onComplete);
|
||||||
} else {
|
} else {
|
||||||
this.manageUnknownBarcode(barcodeProd, onComplete);
|
this.manageUnknownBarcode(barcodeProd, onComplete);
|
||||||
}
|
}
|
||||||
@ -315,28 +315,41 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void searchArtFromAnag(MtbAart mtbAart, PickDataDTO pickData, Runnable onComplete) {
|
private void searchArtFromAnag(MtbAart mtbAart, PickDataDTO pickData, ArrayList<MtbAart> previousSearchedArts, Runnable onComplete) {
|
||||||
|
if (previousSearchedArts == null) previousSearchedArts = new ArrayList<>();
|
||||||
|
|
||||||
|
if (previousSearchedArts.contains(mtbAart)) {
|
||||||
|
manageNoArtFound(mtbAart, pickData);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
previousSearchedArts.add(mtbAart);
|
||||||
|
|
||||||
final List<PickingObjectDTO> pickingList = mPickingList.getValue();
|
final List<PickingObjectDTO> pickingList = mPickingList.getValue();
|
||||||
|
|
||||||
List<PickingObjectDTO> matchPickingObject = Stream.of(pickingList)
|
List<PickingObjectDTO> matchPickingObject = pickingList == null ? new ArrayList<>() :
|
||||||
.filter(x -> UtilityString.equalsIgnoreCase(mtbAart.getCodMart(), x.getSitBollaAccettazione().getCodMart()))
|
pickingList.stream()
|
||||||
.toList();
|
.filter(x -> UtilityString.equalsIgnoreCase(mtbAart.getCodMart(), x.getSitBollaAccettazione().getCodMart()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
for (PickingObjectDTO pickingObjectDTO : matchPickingObject) {
|
for (PickingObjectDTO pickingObjectDTO : matchPickingObject) {
|
||||||
pickingObjectDTO.setTempPickData(pickData);
|
pickingObjectDTO.setTempPickData(pickData);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.loadMatchedRows(matchPickingObject, mtbAart, pickData);
|
this.loadMatchedRows(matchPickingObject, mtbAart, pickData, previousSearchedArts);
|
||||||
onComplete.run();
|
onComplete.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loadMatchedRows(List<PickingObjectDTO> matchedRows, MtbAart mtbAart, PickDataDTO pickDataDTO) {
|
private void loadMatchedRows(List<PickingObjectDTO> matchedRows, MtbAart mtbAart, PickDataDTO pickDataDTO, ArrayList<MtbAart> previousSearchedArts) {
|
||||||
if (matchedRows == null || matchedRows.isEmpty()) {
|
if (matchedRows == null || matchedRows.isEmpty()) {
|
||||||
|
this.sendOnLoadingStarted();
|
||||||
this.mArticoloRESTConsumer.findIfIsKit(mtbAart, mtbAartFind -> {
|
this.mArticoloRESTConsumer.findIfIsKit(mtbAart, mtbAartFind -> {
|
||||||
if (mtbAartFind == null){
|
this.sendOnLoadingEnded();
|
||||||
|
if (mtbAartFind == null) {
|
||||||
manageNoArtFound(mtbAart, pickDataDTO);
|
manageNoArtFound(mtbAart, pickDataDTO);
|
||||||
} else {
|
} else {
|
||||||
searchArtFromAnag(mtbAartFind, pickDataDTO, () -> {});
|
searchArtFromAnag(mtbAartFind, pickDataDTO, previousSearchedArts, () -> {
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
} else if (matchedRows.size() == 1) {
|
} else if (matchedRows.size() == 1) {
|
||||||
@ -442,7 +455,7 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
dispatchBollaRow(pickingObjectDTO);
|
dispatchBollaRow(pickingObjectDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void dispatchBollaRow(final PickingObjectDTO pickingObjectDTO){
|
public void dispatchBollaRow(final PickingObjectDTO pickingObjectDTO) {
|
||||||
dispatchBollaRow(pickingObjectDTO, false);
|
dispatchBollaRow(pickingObjectDTO, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -554,7 +567,7 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
UtilityBigDecimal.greaterThan(initialNumCnf, pickingObjectDTO.getMtbAart().getColliPedana())) {
|
UtilityBigDecimal.greaterThan(initialNumCnf, pickingObjectDTO.getMtbAart().getColliPedana())) {
|
||||||
initialNumCnf = pickingObjectDTO.getMtbAart().getColliPedana();
|
initialNumCnf = pickingObjectDTO.getMtbAart().getColliPedana();
|
||||||
initialQtaTot = initialNumCnf.multiply(initialQtaCnf);
|
initialQtaTot = initialNumCnf.multiply(initialQtaCnf);
|
||||||
} else if(UtilityBigDecimal.greaterThan(initialNumCnf, BigDecimal.ONE) && pickingObjectDTO.getMtbAart().isFlagQtaCnfFissaBoolean()) {
|
} else if (UtilityBigDecimal.greaterThan(initialNumCnf, BigDecimal.ONE) && pickingObjectDTO.getMtbAart().isFlagQtaCnfFissaBoolean()) {
|
||||||
initialNumCnf = BigDecimal.ONE;
|
initialNumCnf = BigDecimal.ONE;
|
||||||
initialQtaTot = initialNumCnf.multiply(initialQtaCnf);
|
initialQtaTot = initialNumCnf.multiply(initialQtaCnf);
|
||||||
}
|
}
|
||||||
@ -577,7 +590,7 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!longClick){
|
if (!longClick) {
|
||||||
this.sendOnItemDispatched(
|
this.sendOnItemDispatched(
|
||||||
pickingObjectDTO,
|
pickingObjectDTO,
|
||||||
pickingObjectDTO.getMtbAart(),
|
pickingObjectDTO.getMtbAart(),
|
||||||
@ -694,7 +707,7 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
mtbColrToEdit.getDataScadPartita(),
|
mtbColrToEdit.getDataScadPartita(),
|
||||||
true,
|
true,
|
||||||
pickedQuantityDTO -> {
|
pickedQuantityDTO -> {
|
||||||
if(pickedQuantityDTO == null)
|
if (pickedQuantityDTO == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
this.saveEditedRow(mtbColrToEdit,
|
this.saveEditedRow(mtbColrToEdit,
|
||||||
@ -809,7 +822,7 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
int listCount = pickingList != null ? pickingList.size() : 0;
|
int listCount = pickingList != null ? pickingList.size() : 0;
|
||||||
int anomalie = listCount > 0 ? listCount - mtbColr.size() : 0;
|
int anomalie = listCount > 0 ? listCount - mtbColr.size() : 0;
|
||||||
|
|
||||||
if (anomalie == 0){
|
if (anomalie == 0) {
|
||||||
closeUdc(closeUDCRequestDTO);
|
closeUdc(closeUDCRequestDTO);
|
||||||
} else {
|
} else {
|
||||||
onConfirmAnomalie(anomalie, canBeClose -> {
|
onConfirmAnomalie(anomalie, canBeClose -> {
|
||||||
@ -824,7 +837,7 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void closeUdc(CloseUDCRequestDTO closeUDCRequestDTO){
|
private void closeUdc(CloseUDCRequestDTO closeUDCRequestDTO) {
|
||||||
mColliCaricoRESTConsumer.closeUDC(closeUDCRequestDTO, closeUDCResponse -> {
|
mColliCaricoRESTConsumer.closeUDC(closeUDCRequestDTO, closeUDCResponse -> {
|
||||||
|
|
||||||
Runnable onVersamentoCompleted = () -> {
|
Runnable onVersamentoCompleted = () -> {
|
||||||
@ -1060,7 +1073,7 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onConfirmAnomalie(int anomalie, RunnableArgs<Boolean> onConfirm){
|
private void onConfirmAnomalie(int anomalie, RunnableArgs<Boolean> onConfirm) {
|
||||||
if (this.mListener != null) mListener.onConfirmAnomalie(anomalie, onConfirm);
|
if (this.mListener != null) mListener.onConfirmAnomalie(anomalie, onConfirm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user