Risolto problema di picking diverso dal collo suggerito.
This commit is contained in:
parent
b1941d5c34
commit
a96078c9e6
@ -204,9 +204,9 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
this.mBindings.spedizionePickingList.setAdapter(spedizioneListAdapter);
|
this.mBindings.spedizionePickingList.setAdapter(spedizioneListAdapter);
|
||||||
this.mBindings.spedizionePickingList.setLayoutManager(new LinearLayoutManager(this));
|
this.mBindings.spedizionePickingList.setLayoutManager(new LinearLayoutManager(this));
|
||||||
|
|
||||||
spedizioneListAdapter.setOnItemClicked((clickedItem) -> {
|
spedizioneListAdapter.setOnItemClicked((clickedItem, refMtbColt) -> {
|
||||||
if (!noLUPresent.get() && SettingsManager.iDB().isFlagSpedizioneEnableManualPick() && clickedItem.getSitArtOrdDTO().isFlagEnablePickManuale()) {
|
if (!noLUPresent.get() && SettingsManager.iDB().isFlagSpedizioneEnableManualPick() && clickedItem.getSitArtOrdDTO().isFlagEnablePickManuale()) {
|
||||||
this.mViewmodel.dispatchOrdineRow(clickedItem, clickedItem.getRefMtbColt());
|
this.mViewmodel.dispatchOrdineRow(clickedItem, refMtbColt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -588,7 +588,7 @@ public class SpedizioneViewModel {
|
|||||||
if (UtilityString.equalsIgnoreCase(x.getCodMart(), pickingObject.getSitArtOrdDTO().getCodMart()) &&
|
if (UtilityString.equalsIgnoreCase(x.getCodMart(), pickingObject.getSitArtOrdDTO().getCodMart()) &&
|
||||||
UtilityString.equalsIgnoreCase(x.getCodTagl(), pickingObject.getSitArtOrdDTO().getCodTagl()) &&
|
UtilityString.equalsIgnoreCase(x.getCodTagl(), pickingObject.getSitArtOrdDTO().getCodTagl()) &&
|
||||||
UtilityString.equalsIgnoreCase(x.getCodCol(), pickingObject.getSitArtOrdDTO().getCodCol()) &&
|
UtilityString.equalsIgnoreCase(x.getCodCol(), pickingObject.getSitArtOrdDTO().getCodCol()) &&
|
||||||
(!mEnableCheckPartitaMag || UtilityString.equalsIgnoreCase(x.getPartitaMag(), pickingObject.getSitArtOrdDTO().getPartitaMag()))) {
|
(!mEnableCheckPartitaMag || UtilityString.equalsIgnoreCase(x.getPartitaMag(), pickingObject.getSitArtOrdDTO().getPartitaMag()) || UtilityString.isNullOrEmpty(pickingObject.getSitArtOrdDTO().getPartitaMag()))) {
|
||||||
|
|
||||||
if (!matchPickingObject.contains(pickingObject)) {
|
if (!matchPickingObject.contains(pickingObject)) {
|
||||||
matchPickingObject.add(pickingObject);
|
matchPickingObject.add(pickingObject);
|
||||||
@ -701,28 +701,47 @@ public class SpedizioneViewModel {
|
|||||||
|
|
||||||
|
|
||||||
//TODO: Al posto di prelevare la prima riga bisognerebbe controllare se c'è ne una che corrisponde con la partita richiesta
|
//TODO: Al posto di prelevare la prima riga bisognerebbe controllare se c'è ne una che corrisponde con la partita richiesta
|
||||||
MtbColr mtbColrToDispatch = pickingObjectDTO.getTempPickData() != null &&
|
MtbColr scannedMtbColr = pickingObjectDTO.getTempPickData() != null &&
|
||||||
pickingObjectDTO.getTempPickData().getSourceMtbColt() != null &&
|
pickingObjectDTO.getTempPickData().getSourceMtbColt() != null &&
|
||||||
pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr() != null &&
|
pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr() != null &&
|
||||||
pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().size() > 0 ?
|
pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().size() > 0 ?
|
||||||
pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().get(0) : null;
|
pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().get(0) : null;
|
||||||
|
|
||||||
|
|
||||||
if (mtbColrToDispatch != null) {
|
if (refMtbColt == null && pickingObjectDTO.getMtbColts() != null && pickingObjectDTO.getMtbColts().size() == 1) {
|
||||||
if (UtilityBigDecimal.lowerThan(mtbColrToDispatch.getQtaCol(), qtaDaEvadere) || UtilityBigDecimal.equalsTo(mtbColrToDispatch.getQtaCol(), qtaDaEvadere)) {
|
refMtbColt = pickingObjectDTO.getMtbColts().get(0);
|
||||||
numCnfDaPrelevare = mtbColrToDispatch.getNumCnf();
|
}
|
||||||
qtaColDaPrelevare = mtbColrToDispatch.getQtaCol();
|
|
||||||
|
MtbColr refMtbColr = null;
|
||||||
|
|
||||||
|
if(refMtbColt != null && refMtbColt.getMtbColr().size() > 0) {
|
||||||
|
Optional<MtbColr> optionalMtbColr = Stream.of(refMtbColt.getMtbColr())
|
||||||
|
.filter(y -> UtilityString.equalsIgnoreCase(y.getCodMart(), scannedMtbColr.getCodMart()) &&
|
||||||
|
UtilityString.equalsIgnoreCase(y.getCodTagl(), scannedMtbColr.getCodTagl()) &&
|
||||||
|
UtilityString.equalsIgnoreCase(y.getCodCol(), scannedMtbColr.getCodCol()) &&
|
||||||
|
(!mEnableCheckPartitaMag || UtilityString.equalsIgnoreCase(y.getPartitaMag(), scannedMtbColr.getPartitaMag()) || UtilityString.isNullOrEmpty(scannedMtbColr.getPartitaMag())))
|
||||||
|
.findFirst();
|
||||||
|
|
||||||
|
if(optionalMtbColr.isPresent()) refMtbColr = optionalMtbColr.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
MtbColr mtbColrToUse = refMtbColr != null ? refMtbColr : scannedMtbColr;
|
||||||
|
|
||||||
|
if (mtbColrToUse != null) {
|
||||||
|
if (UtilityBigDecimal.equalsOrLowerThan(mtbColrToUse.getQtaCol(), qtaDaEvadere)) {
|
||||||
|
numCnfDaPrelevare = mtbColrToUse.getNumCnf();
|
||||||
|
qtaColDaPrelevare = mtbColrToUse.getQtaCol();
|
||||||
} else {
|
} else {
|
||||||
numCnfDaPrelevare = numCnfDaEvadere;
|
numCnfDaPrelevare = numCnfDaEvadere;
|
||||||
qtaColDaPrelevare = qtaDaEvadere;
|
qtaColDaPrelevare = qtaDaEvadere;
|
||||||
}
|
}
|
||||||
|
|
||||||
qtaCnfDaPrelevare = mtbColrToDispatch.getQtaCnf();
|
qtaCnfDaPrelevare = mtbColrToUse.getQtaCnf();
|
||||||
|
|
||||||
|
|
||||||
totalQtaAvailable = mtbColrToDispatch.getQtaCol();
|
totalQtaAvailable = mtbColrToUse.getQtaCol();
|
||||||
totalNumCnfAvailable = mtbColrToDispatch.getNumCnf();
|
totalNumCnfAvailable = mtbColrToUse.getNumCnf();
|
||||||
qtaCnfAvailable = mtbColrToDispatch.getQtaCnf();
|
qtaCnfAvailable = mtbColrToUse.getQtaCnf();
|
||||||
|
|
||||||
|
|
||||||
if (UtilityBigDecimal.lowerThan(numCnfDaPrelevare, BigDecimal.ZERO))
|
if (UtilityBigDecimal.lowerThan(numCnfDaPrelevare, BigDecimal.ZERO))
|
||||||
@ -731,8 +750,8 @@ public class SpedizioneViewModel {
|
|||||||
if (UtilityBigDecimal.lowerThan(qtaColDaPrelevare, BigDecimal.ZERO))
|
if (UtilityBigDecimal.lowerThan(qtaColDaPrelevare, BigDecimal.ZERO))
|
||||||
qtaColDaPrelevare = BigDecimal.ZERO;
|
qtaColDaPrelevare = BigDecimal.ZERO;
|
||||||
|
|
||||||
partitaMag = mtbColrToDispatch.getPartitaMag();
|
partitaMag = scannedMtbColr.getPartitaMag();
|
||||||
dataScad = mtbColrToDispatch.getDataScadPartitaD();
|
dataScad = scannedMtbColr.getDataScadPartitaD();
|
||||||
|
|
||||||
} else if (pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getManualPickDTO() != null) {
|
} else if (pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getManualPickDTO() != null) {
|
||||||
//Oppure le info del barcode scansionato
|
//Oppure le info del barcode scansionato
|
||||||
@ -779,10 +798,6 @@ public class SpedizioneViewModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(refMtbColt == null && pickingObjectDTO.getMtbColts().size() == 1) {
|
|
||||||
refMtbColt = pickingObjectDTO.getMtbColts().get(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
MtbColt finalRefMtbColt = refMtbColt;
|
MtbColt finalRefMtbColt = refMtbColt;
|
||||||
this.sendOnItemDispatched(
|
this.sendOnItemDispatched(
|
||||||
pickingObjectDTO,
|
pickingObjectDTO,
|
||||||
@ -1185,7 +1200,16 @@ public class SpedizioneViewModel {
|
|||||||
.setUntMis(pickingObjectDTO.getMtbAart().getUntMis())
|
.setUntMis(pickingObjectDTO.getMtbAart().getUntMis())
|
||||||
.setMtbAart(pickingObjectDTO.getMtbAart());
|
.setMtbAart(pickingObjectDTO.getMtbAart());
|
||||||
|
|
||||||
mtbColr.setRefMtbColr(mtbColrToDispatch);
|
|
||||||
|
mtbColr.setRefMtbColr(new MtbColr()
|
||||||
|
.setCodMart(mtbColr.getCodMart())
|
||||||
|
.setPartitaMag(mtbColr.getPartitaMag())
|
||||||
|
.setCodTagl(mtbColr.getCodTagl())
|
||||||
|
.setCodCol(mtbColr.getCodCol())
|
||||||
|
.setNumCollo(refMtbColt.getNumCollo())
|
||||||
|
.setDataCollo(refMtbColt.getDataColloS())
|
||||||
|
.setSerCollo(refMtbColt.getSerCollo())
|
||||||
|
.setGestione(refMtbColt.getGestione()));
|
||||||
|
|
||||||
pickingObjectDTO.getWithdrawMtbColrs().add(mtbColr);
|
pickingObjectDTO.getWithdrawMtbColrs().add(mtbColr);
|
||||||
mCurrentMtbColt.getMtbColr().add(mtbColr);
|
mCurrentMtbColt.getMtbColr().add(mtbColr);
|
||||||
|
|||||||
@ -20,7 +20,8 @@ import java.util.List;
|
|||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupHeaderBinding;
|
import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupHeaderBinding;
|
||||||
@ -32,7 +33,7 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<Spedizio
|
|||||||
private Context mContext;
|
private Context mContext;
|
||||||
private final List<SpedizioneListModel> mDataset = new ArrayList<>();
|
private final List<SpedizioneListModel> mDataset = new ArrayList<>();
|
||||||
|
|
||||||
private RunnableArgs<PickingObjectDTO> mOnItemClicked;
|
private RunnableArgss<PickingObjectDTO, MtbColt> mOnItemClicked;
|
||||||
|
|
||||||
static class SubheaderHolder extends RecyclerView.ViewHolder {
|
static class SubheaderHolder extends RecyclerView.ViewHolder {
|
||||||
|
|
||||||
@ -70,7 +71,7 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<Spedizio
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setOnItemClicked(RunnableArgs<PickingObjectDTO> onItemClicked) {
|
public void setOnItemClicked(RunnableArgss<PickingObjectDTO, MtbColt> onItemClicked) {
|
||||||
this.mOnItemClicked = onItemClicked;
|
this.mOnItemClicked = onItemClicked;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -138,7 +139,7 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<Spedizio
|
|||||||
|
|
||||||
holder.mBinding.getRoot().setOnClickListener(v -> {
|
holder.mBinding.getRoot().setOnClickListener(v -> {
|
||||||
if (this.mOnItemClicked != null)
|
if (this.mOnItemClicked != null)
|
||||||
this.mOnItemClicked.run(pickingObjectDTO.getOriginalModel());
|
this.mOnItemClicked.run(pickingObjectDTO.getOriginalModel(), pickingObjectDTO.getSourceMtbColt());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user