Nel popup di selezione dei lotti (in fase di picking) adesso viene anche messa a video la commessa in modo da poterla selezionare (prima non era mai stato possibile).
This commit is contained in:
@@ -4,6 +4,7 @@ import com.google.gson.annotations.SerializedName;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
public class MtbPartitaMag extends EntityBase {
|
||||
@SerializedName("codMart")
|
||||
@@ -300,4 +301,17 @@ public class MtbPartitaMag extends EntityBase {
|
||||
this.qtaAttesa = qtaAttesa;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
MtbPartitaMag that = (MtbPartitaMag) o;
|
||||
return Objects.equals(getCodMart(), that.getCodMart()) && Objects.equals(getPartitaMag(), that.getPartitaMag()) && Objects.equals(getDescrizione(), that.getDescrizione()) && Objects.equals(getDataIns(), that.getDataIns()) && Objects.equals(getDataScad(), that.getDataScad()) && Objects.equals(getScelta(), that.getScelta()) && Objects.equals(getCostoUntUmMag(), that.getCostoUntUmMag()) && Objects.equals(getValUntUmMag(), that.getValUntUmMag()) && Objects.equals(getTaraCnfKg(), that.getTaraCnfKg()) && Objects.equals(getQtaCnf(), that.getQtaCnf()) && Objects.equals(getFlagImballoArendere(), that.getFlagImballoArendere()) && Objects.equals(getFlagStato(), that.getFlagStato()) && Objects.equals(getCodDiviCont(), that.getCodDiviCont()) && Objects.equals(getCambioDiviCont(), that.getCambioDiviCont()) && Objects.equals(getBarcode(), that.getBarcode()) && Objects.equals(getNote(), that.getNote()) && Objects.equals(getRapConv2(), that.getRapConv2()) && Objects.equals(getRapConv3(), that.getRapConv3()) && Objects.equals(getPosizione(), that.getPosizione()) && Objects.equals(getDataAggPrz(), that.getDataAggPrz()) && Objects.equals(getPartitaMagSec(), that.getPartitaMagSec()) && Objects.equals(getQtaAttesa(), that.getQtaAttesa());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(getCodMart(), getPartitaMag(), getDescrizione(), getDataIns(), getDataScad(), getScelta(), getCostoUntUmMag(), getValUntUmMag(), getTaraCnfKg(), getQtaCnf(), getFlagImballoArendere(), getFlagStato(), getCodDiviCont(), getCambioDiviCont(), getBarcode(), getNote(), getRapConv2(), getRapConv3(), getPosizione(), getDataAggPrz(), getPartitaMagSec(), getQtaAttesa());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
package it.integry.integrywmsnative.core.model.dto;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class PartitaCommessaDTO {
|
||||
|
||||
private String partitaMag;
|
||||
private LocalDate dataScad;
|
||||
private String codJcom;
|
||||
private String descrizione;
|
||||
|
||||
public String getPartitaMag() {
|
||||
return partitaMag;
|
||||
}
|
||||
|
||||
public void setPartitaMag(String partitaMag) {
|
||||
this.partitaMag = partitaMag;
|
||||
}
|
||||
|
||||
public LocalDate getDataScad() {
|
||||
return dataScad;
|
||||
}
|
||||
|
||||
public void setDataScad(LocalDate dataScad) {
|
||||
this.dataScad = dataScad;
|
||||
}
|
||||
|
||||
public String getCodJcom() {
|
||||
return codJcom;
|
||||
}
|
||||
|
||||
public void setCodJcom(String codJcom) {
|
||||
this.codJcom = codJcom;
|
||||
}
|
||||
|
||||
public String getDescrizione() {
|
||||
return descrizione;
|
||||
}
|
||||
|
||||
public void setDescrizione(String descrizione) {
|
||||
this.descrizione = descrizione;
|
||||
}
|
||||
}
|
||||
@@ -52,6 +52,7 @@ import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
||||
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
||||
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
|
||||
import it.integry.integrywmsnative.core.model.dto.PartitaCommessaDTO;
|
||||
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.core.report.ReportManager;
|
||||
@@ -1156,9 +1157,9 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBatchLotSelectionRequest(List<MtbPartitaMag> availableBatchLots, RunnableArgs<MtbPartitaMag> onComplete) {
|
||||
public void onBatchLotSelectionRequest(List<PartitaCommessaDTO> availableBatchLotsCodJcoms, RunnableArgs<PartitaCommessaDTO> onComplete) {
|
||||
handler.post(() -> {
|
||||
DialogChooseBatchLotView.newInstance(availableBatchLots, onComplete)
|
||||
DialogChooseBatchLotView.newInstance(availableBatchLotsCodJcoms, onComplete)
|
||||
.show(getSupportFragmentManager(), "tag");
|
||||
});
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@ import org.apache.commons.lang3.NotImplementedException;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -51,6 +50,7 @@ import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
||||
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
||||
import it.integry.integrywmsnative.core.model.VtbVett;
|
||||
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
|
||||
import it.integry.integrywmsnative.core.model.dto.PartitaCommessaDTO;
|
||||
import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
|
||||
import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO;
|
||||
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
|
||||
@@ -88,12 +88,12 @@ import it.integry.integrywmsnative.core.rest.model.uds.EditUDSRowRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.PrintULRequestDTO;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.utility.data.UntMisUtils;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityPosizione;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.core.utility.data.UntMisUtils;
|
||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.CurrentMonoLUPositionIsNotCorrectException;
|
||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidMagazzinoAutomaticoMovementException;
|
||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
|
||||
@@ -527,11 +527,11 @@ public class SpedizioneViewModel {
|
||||
return null;
|
||||
}
|
||||
|
||||
private MtbPartitaMag sendBatchLotSelectionRequest(List<MtbPartitaMag> availableBatchLots) {
|
||||
private PartitaCommessaDTO sendBatchLotSelectionRequest(List<PartitaCommessaDTO> availableBatchLotsCodJcoms) {
|
||||
final CountDownLatch latch = new CountDownLatch(1);
|
||||
AtomicReference<MtbPartitaMag> result = new AtomicReference<>();
|
||||
AtomicReference<PartitaCommessaDTO> result = new AtomicReference<>();
|
||||
|
||||
mListener.onBatchLotSelectionRequest(availableBatchLots, item -> {
|
||||
mListener.onBatchLotSelectionRequest(availableBatchLotsCodJcoms, item -> {
|
||||
result.set(item);
|
||||
latch.countDown();
|
||||
});
|
||||
@@ -995,19 +995,46 @@ public class SpedizioneViewModel {
|
||||
|
||||
|
||||
public void dispatchOrdineRow(final PickingObjectDTO pickingObjectDTO, MtbColt refMtbColt, MtbColr refMtbColr, boolean canPartitaMagBeChanged, boolean executeImmediately) throws Exception {
|
||||
|
||||
|
||||
if (pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getSourceMtbColt() != null && pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr() != null) {
|
||||
|
||||
List<MtbColr> scannedMtbColrs = pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr();
|
||||
|
||||
List<MtbPartitaMag> availableBatchLots = scannedMtbColrs.stream()
|
||||
List<PartitaCommessaDTO> availableBatchLotsAndCodJcoms = scannedMtbColrs.stream()
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(pickingObjectDTO.getMtbAart().getCodMart()) &&
|
||||
(x.getPartitaMag() == null || x.getMtbPartitaMag().getDataScad() == null ||
|
||||
UtilityDate.getNow().isBefore(x.getMtbPartitaMag().getDataScad())))
|
||||
|
||||
.map(x -> x.getPartitaMag() == null ? new MtbPartitaMag().setCodMart(x.getMtbAart().getCodMart()) : x.getMtbPartitaMag())
|
||||
.map(x -> new PartitaCommessaDTO() {{
|
||||
setCodJcom(x.getCodJcom());
|
||||
setPartitaMag(x.getPartitaMag());
|
||||
setDataScad(x.getMtbPartitaMag() != null ? x.getMtbPartitaMag().getDataScad() : null);
|
||||
setDescrizione(x.getDescrizione());
|
||||
}
|
||||
})
|
||||
.distinct()
|
||||
.sorted((a, b) -> {
|
||||
// 1) Prima la riga con codJcom uguale a refMtbColr.codJcom
|
||||
if (refMtbColr != null && refMtbColr.getCodJcom() != null) {
|
||||
boolean aMatchesCodJcom = Objects.equals(a.getCodJcom(), refMtbColr.getCodJcom());
|
||||
boolean bMatchesCodJcom = Objects.equals(b.getCodJcom(), refMtbColr.getCodJcom());
|
||||
if (aMatchesCodJcom && !bMatchesCodJcom) return -1;
|
||||
if (!aMatchesCodJcom && bMatchesCodJcom) return 1;
|
||||
}
|
||||
|
||||
// 2) Poi la riga con partitaMag uguale a refMtbColr.partitaMag
|
||||
if (refMtbColr != null && refMtbColr.getPartitaMag() != null) {
|
||||
boolean aMatchesPartitaMag = Objects.equals(a.getPartitaMag(), refMtbColr.getPartitaMag());
|
||||
boolean bMatchesPartitaMag = Objects.equals(b.getPartitaMag(), refMtbColr.getPartitaMag());
|
||||
if (aMatchesPartitaMag && !bMatchesPartitaMag) return -1;
|
||||
if (!aMatchesPartitaMag && bMatchesPartitaMag) return 1;
|
||||
}
|
||||
|
||||
// 3) Infine ordina per dataScad ascendente
|
||||
if (a.getDataScad() == null && b.getDataScad() == null) return 0;
|
||||
if (a.getDataScad() == null) return 1;
|
||||
if (b.getDataScad() == null) return -1;
|
||||
return a.getDataScad().compareTo(b.getDataScad());
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
|
||||
//Controllo se una delle partite combacia con quella che voglio evadere
|
||||
@@ -1022,33 +1049,23 @@ public class SpedizioneViewModel {
|
||||
// }
|
||||
// }
|
||||
|
||||
if (availableBatchLots.size() > 1) {
|
||||
if (availableBatchLotsAndCodJcoms.size() > 1) {
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
List<MtbPartitaMag> tmp = new ArrayList<>();
|
||||
|
||||
if (availableBatchLots.stream().anyMatch(x -> x.getDataScad() != null)) {
|
||||
tmp.addAll(availableBatchLots.stream()
|
||||
.filter(x -> x.getDataScad() != null && UtilityDate.getNow().isBefore(x.getDataScad()))
|
||||
.sorted(Comparator.comparing(MtbPartitaMag::getDataScad))
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
if (availableBatchLots.stream().anyMatch(x -> x.getDataScad() == null)) {
|
||||
tmp.addAll(availableBatchLots.stream()
|
||||
.filter(x -> x.getDataScad() == null)
|
||||
.sorted(Comparator.comparing(x -> UtilityString.isNull(x.getPartitaMag(), "")))
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
var selected = this.sendBatchLotSelectionRequest(tmp);
|
||||
var selected = this.sendBatchLotSelectionRequest(availableBatchLotsAndCodJcoms);
|
||||
this.sendOnLoadingEnded();
|
||||
|
||||
if (selected != null) {
|
||||
MtbColr scannedMtbColr = pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().stream()
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(pickingObjectDTO.getMtbAart().getCodMart()) &&
|
||||
.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)))
|
||||
|| (x.getPartitaMag() == null && selected.getPartitaMag() == null)) &&
|
||||
|
||||
((x.getCodJcom() != null && selected.getCodJcom() != null && x.getCodJcom().equalsIgnoreCase(selected.getCodJcom()))
|
||||
|| (x.getCodJcom() == null && selected.getCodJcom() == null)))
|
||||
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
|
||||
@@ -2297,7 +2314,7 @@ public class SpedizioneViewModel {
|
||||
|
||||
void onLUPositionChangeRequest(RunnableArgss<Boolean, MtbDepoPosizione> onComplete);
|
||||
|
||||
void onBatchLotSelectionRequest(List<MtbPartitaMag> availableBatchLots, RunnableArgs<MtbPartitaMag> onComplete);
|
||||
void onBatchLotSelectionRequest(List<PartitaCommessaDTO> availableBatchLotsCodJcoms, RunnableArgs<PartitaCommessaDTO> onComplete);
|
||||
|
||||
PrintOrderCloseDTO onCloseOrderPrintRequest();
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ import it.integry.integrywmsnative.core.model.MtbColr;
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupHeaderBinding;
|
||||
import it.integry.integrywmsnative.databinding.SpedizioneMainListGroupItemBinding;
|
||||
@@ -129,9 +130,17 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<Spedizio
|
||||
}
|
||||
|
||||
holder.mBinding.deactivatedOverBg.setVisibility(!pickingObjectDTO.isActive() ? View.VISIBLE : View.GONE);
|
||||
|
||||
holder.mBinding.getRoot().setAlpha(!pickingObjectDTO.isActive() ? 0.8f : 1);
|
||||
holder.mBinding.badge1.setBackground(ResourcesCompat.getDrawable(mContext.getResources(), !pickingObjectDTO.isActive() ? R.drawable.badge_round_corner : R.drawable.badge1_round_corner, null));
|
||||
holder.mBinding.badge1.setTextColor(ResourcesCompat.getColor(mContext.getResources(), !pickingObjectDTO.isActive() ? R.color.gray_600 : R.color.white, null));
|
||||
|
||||
holder.mBinding.badge1.setBackgroundTintList(UtilityResources.getColorStateListFromAttr(mContext,
|
||||
!pickingObjectDTO.isActive() ? R.color.gray_400 : com.google.android.material.R.attr.colorPrimaryContainer));
|
||||
|
||||
if (!pickingObjectDTO.isActive())
|
||||
holder.mBinding.badge1.setTextColor(ResourcesCompat.getColor(mContext.getResources(), R.color.gray_600, null));
|
||||
else
|
||||
holder.mBinding.badge1.setTextColor(UtilityResources.getColorStateListFromAttr(mContext, com.google.android.material.R.attr.colorOnPrimaryContainer));
|
||||
|
||||
holder.mBinding.qtaEvasa.setTextColor(ResourcesCompat.getColor(mContext.getResources(), !pickingObjectDTO.isActive() ? R.color.gray_600 : R.color.green_700, null));
|
||||
|
||||
holder.mBinding.descrizione.setText(pickingObjectDTO.getDescrizione());
|
||||
@@ -163,7 +172,8 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter<Spedizio
|
||||
|
||||
var mtbUntMis = pickingObjectDTO.getOriginalModel().getMtbAart().getMtbUntMis().get(0);
|
||||
if (mtbUntMis.isFlagDig()) cifreDec = 0;
|
||||
else cifreDec = Math.min(mtbUntMis.getCifreDec().intValue(), CommonConst.Config.NUMBER_OF_DECIMAL_DIGITS);
|
||||
else
|
||||
cifreDec = Math.min(mtbUntMis.getCifreDec().intValue(), CommonConst.Config.NUMBER_OF_DECIMAL_DIGITS);
|
||||
}
|
||||
|
||||
holder.mBinding.qtaEvasa.setText(UtilityNumber.decimalToString(pickingObjectDTO.getQtaEvasa(), cifreDec));
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.choose_batch_lot.choose_art_from_lista_mtb_colr;
|
||||
package it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_mtb_colr;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -1,4 +1,4 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.choose_batch_lot.choose_art_from_lista_mtb_colr;
|
||||
package it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_mtb_colr;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
@@ -11,15 +11,15 @@ import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked;
|
||||
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
||||
import it.integry.integrywmsnative.core.model.dto.PartitaCommessaDTO;
|
||||
import it.integry.integrywmsnative.databinding.DialogChooseBatchLotItemModelBinding;
|
||||
|
||||
public class DialogChooseBatchLotAdapter extends RecyclerView.Adapter<DialogChooseBatchLotAdapter.ViewHolder> {
|
||||
|
||||
protected Context mContext;
|
||||
|
||||
private final List<MtbPartitaMag> mDataset;
|
||||
private final IRecyclerItemClicked<MtbPartitaMag> mOnItemClickListener;
|
||||
private final List<PartitaCommessaDTO> mDataset;
|
||||
private final IRecyclerItemClicked<PartitaCommessaDTO> mOnItemClickListener;
|
||||
|
||||
|
||||
public static class ViewHolder extends RecyclerView.ViewHolder {
|
||||
@@ -31,13 +31,13 @@ public class DialogChooseBatchLotAdapter extends RecyclerView.Adapter<DialogChoo
|
||||
mViewDataBinding = v;
|
||||
}
|
||||
|
||||
public void bind(MtbPartitaMag mtbPartitaMag) {
|
||||
mViewDataBinding.setMtbPartitaMag(mtbPartitaMag);
|
||||
public void bind(PartitaCommessaDTO partitaCommessa) {
|
||||
mViewDataBinding.setInputData(partitaCommessa);
|
||||
mViewDataBinding.executePendingBindings();
|
||||
}
|
||||
}
|
||||
|
||||
public DialogChooseBatchLotAdapter(List<MtbPartitaMag> myDataset, IRecyclerItemClicked<MtbPartitaMag> onItemClickListener) {
|
||||
public DialogChooseBatchLotAdapter(List<PartitaCommessaDTO> myDataset, IRecyclerItemClicked<PartitaCommessaDTO> onItemClickListener) {
|
||||
mDataset = myDataset;
|
||||
mOnItemClickListener = onItemClickListener;
|
||||
}
|
||||
@@ -51,7 +51,7 @@ public class DialogChooseBatchLotAdapter extends RecyclerView.Adapter<DialogChoo
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(DialogChooseBatchLotAdapter.ViewHolder holder, int position) {
|
||||
MtbPartitaMag item = mDataset.get(position);
|
||||
PartitaCommessaDTO item = mDataset.get(position);
|
||||
holder.bind(item);
|
||||
|
||||
holder.mViewDataBinding.getRoot().setOnClickListener(x -> {
|
||||
|
||||
@@ -22,7 +22,7 @@ import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked;
|
||||
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
||||
import it.integry.integrywmsnative.core.model.dto.PartitaCommessaDTO;
|
||||
import it.integry.integrywmsnative.databinding.DialogChooseBatchLotBinding;
|
||||
import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
||||
|
||||
@@ -31,22 +31,22 @@ public class DialogChooseBatchLotView extends BaseDialogFragment {
|
||||
@Inject
|
||||
DialogChooseBatchLotViewModel mViewModel;
|
||||
|
||||
private final List<MtbPartitaMag> mAvailableBatchLot;
|
||||
private final RunnableArgs<MtbPartitaMag> mOnItemSelected;
|
||||
private final List<PartitaCommessaDTO> mAvailableBatchLotCodJcom;
|
||||
private final RunnableArgs<PartitaCommessaDTO> mOnItemSelected;
|
||||
|
||||
private Context mContext;
|
||||
private DialogChooseBatchLotBinding mBindings;
|
||||
|
||||
private MtbPartitaMag mSelectedItem;
|
||||
private PartitaCommessaDTO mSelectedItem;
|
||||
|
||||
public static DialogChooseBatchLotView newInstance(List<MtbPartitaMag> availableBatchLot, RunnableArgs<MtbPartitaMag> onItemSelected) {
|
||||
return new DialogChooseBatchLotView(availableBatchLot, onItemSelected);
|
||||
public static DialogChooseBatchLotView newInstance(List<PartitaCommessaDTO> availableBatchLotCodJcom, RunnableArgs<PartitaCommessaDTO> onItemSelected) {
|
||||
return new DialogChooseBatchLotView(availableBatchLotCodJcom, onItemSelected);
|
||||
}
|
||||
|
||||
private DialogChooseBatchLotView(List<MtbPartitaMag> availableBatchLot, RunnableArgs<MtbPartitaMag> onItemSelected) {
|
||||
private DialogChooseBatchLotView(List<PartitaCommessaDTO> availableBatchLotCodJcom, RunnableArgs<PartitaCommessaDTO> onItemSelected) {
|
||||
super();
|
||||
|
||||
this.mAvailableBatchLot = availableBatchLot;
|
||||
this.mAvailableBatchLotCodJcom = availableBatchLotCodJcom;
|
||||
this.mOnItemSelected = onItemSelected;
|
||||
}
|
||||
|
||||
@@ -103,11 +103,11 @@ public class DialogChooseBatchLotView extends BaseDialogFragment {
|
||||
itemDecorator.setDrawable(ContextCompat.getDrawable(mContext, R.drawable.divider));
|
||||
mBindings.mainList.addItemDecoration(itemDecorator);
|
||||
|
||||
DialogChooseBatchLotAdapter mAdapter = new DialogChooseBatchLotAdapter(mAvailableBatchLot, onItemClicked);
|
||||
DialogChooseBatchLotAdapter mAdapter = new DialogChooseBatchLotAdapter(mAvailableBatchLotCodJcom, onItemClicked);
|
||||
mBindings.mainList.setAdapter(mAdapter);
|
||||
}
|
||||
|
||||
private final IRecyclerItemClicked<MtbPartitaMag> onItemClicked = (item, position) -> {
|
||||
private final IRecyclerItemClicked<PartitaCommessaDTO> onItemClicked = (item, position) -> {
|
||||
mSelectedItem = item;
|
||||
dismiss();
|
||||
};
|
||||
|
||||
@@ -31,7 +31,7 @@ import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
||||
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
|
||||
import it.integry.integrywmsnative.databinding.DialogScanArtBinding;
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
||||
import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.choose_art_from_lista_mtb_colr.DialogChooseArtFromListaMtbColrView;
|
||||
import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_mtb_colr.DialogChooseArtFromListaMtbColrView;
|
||||
|
||||
public class DialogScanArtView extends BaseDialogFragment implements DialogScanArtViewModel.Listener {
|
||||
|
||||
|
||||
@@ -41,13 +41,14 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/select_batch_lot" />
|
||||
android:text="@string/select_batch_lot_dialog_title" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/main_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp" />
|
||||
android:layout_marginTop="16dp"
|
||||
tools:listitem="@layout/dialog_choose_batch_lot_item_model"/>
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
|
||||
@@ -12,77 +12,79 @@
|
||||
<import type="android.view.View" />
|
||||
|
||||
<variable
|
||||
name="mtbPartitaMag"
|
||||
type="it.integry.integrywmsnative.core.model.MtbPartitaMag" />
|
||||
name="inputData"
|
||||
type="it.integry.integrywmsnative.core.model.dto.PartitaCommessaDTO" />
|
||||
</data>
|
||||
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="8dp">
|
||||
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="match_parent"
|
||||
<TextView
|
||||
android:id="@+id/partita_mag"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:text="@{UtilityString.isNull(inputData.partitaMag, "Nessun lotto")}"
|
||||
style="@style/TextAppearance.Material3.LabelLarge"
|
||||
android:textColor="?colorPrimary"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
tools:text="Nessun lotto" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/cod_jcom"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{inputData.codJcom}"
|
||||
style="@style/TextAppearance.Material3.LabelLarge"
|
||||
android:background="@drawable/badge_round_corner"
|
||||
android:backgroundTint="?colorPrimaryContainer"
|
||||
android:textColor="?colorOnPrimaryContainer"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent">
|
||||
app:visibilityWhenNotNull="@{inputData.codJcom}"
|
||||
tools:text="Nessuna commessa" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/data_scad_label"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Scadenza: "
|
||||
android:layout_marginEnd="4dp"
|
||||
style="@style/TextAppearance.Material3.BodyMedium"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/partita_mag"
|
||||
app:visibilityWhenNotNull="@{inputData.dataScad}" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/data_scad"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{UtilityDate.formatDate(inputData.dataScad, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)}"
|
||||
style="@style/TextAppearance.Material3.BodyMedium"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/data_scad_label"
|
||||
app:layout_constraintStart_toEndOf="@id/data_scad_label"
|
||||
app:visibilityWhenNotNull="@{inputData.dataScad}"
|
||||
tools:text="02/05/2025" />
|
||||
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:text="@{UtilityString.isNull(inputData.descrizione, "Nessuna descrizione")}"
|
||||
android:textColor="@android:color/black"
|
||||
style="@style/TextAppearance.Material3.BodyLarge"
|
||||
app:layout_constraintTop_toBottomOf="@id/data_scad_label"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
tools:text="Descrizione lunga articolo" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{UtilityString.isNull(mtbPartitaMag.partitaMag, "Nessun lotto")}"
|
||||
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||
android:textColor="?colorPrimary"
|
||||
android:textStyle="bold"
|
||||
tools:text="PARTITA MAG" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Data scad: "
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_toStartOf="@id/data_scad"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:visibility="@{mtbPartitaMag.dataScad == null ? View.GONE : View.VISIBLE}" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/data_scad"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:text="@{UtilityDate.formatDate(mtbPartitaMag.dataScad, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)}"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
android:visibility="@{mtbPartitaMag.dataScad == null ? View.GONE : View.VISIBLE}"
|
||||
tools:text="Data scad" />
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:text="@{UtilityString.isNull(mtbPartitaMag.descrizione, "Nessuna descrizione")}"
|
||||
android:textColor="@android:color/black"
|
||||
android:textSize="16sp"
|
||||
tools:text="Descrizione lunga articolo" />
|
||||
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
</layout>
|
||||
@@ -25,8 +25,9 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:text="BADGE 1"
|
||||
tools:backgroundTint="?attr/colorPrimaryContainer"
|
||||
tools:textColor="?attr/colorOnPrimaryContainer"
|
||||
android:background="@drawable/badge_round_corner"
|
||||
android:textColor="@android:color/white"
|
||||
android:paddingTop="2dp"
|
||||
android:paddingBottom="2dp"
|
||||
android:paddingLeft="6dp"
|
||||
@@ -41,14 +42,6 @@
|
||||
android:orientation="horizontal"
|
||||
android:gravity="end">
|
||||
|
||||
<!--<TextView-->
|
||||
<!--android:layout_width="wrap_content"-->
|
||||
<!--android:layout_height="wrap_content"-->
|
||||
<!--android:textStyle="bold"-->
|
||||
<!--android:textColor="@color/green_700"-->
|
||||
<!--style="@android:style/TextAppearance.Medium"-->
|
||||
<!--android:text="@string/dispatched"/>-->
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/qta_evasa"
|
||||
android:layout_width="wrap_content"
|
||||
|
||||
@@ -358,7 +358,7 @@
|
||||
<string name="manufacture">Produzione</string>
|
||||
<string name="production">Produzione</string>
|
||||
<string name="production_line">Linea di produzione</string>
|
||||
<string name="select_batch_lot">Seleziona un lotto</string>
|
||||
<string name="select_batch_lot_dialog_title">Seleziona un lotto/commessa</string>
|
||||
<string name="internal_handling">Movimentazione interna</string>
|
||||
<string name="prod_ordine_produzione_title_fragment">Accettazione da ordine</string>
|
||||
<string name="prod_ordine_lavorazione_title_fragment">Picking da ordine</string>
|
||||
|
||||
@@ -361,7 +361,7 @@
|
||||
<string name="manufacture">Manufacture</string>
|
||||
<string name="production">Production</string>
|
||||
<string name="production_line">Production line</string>
|
||||
<string name="select_batch_lot">Select a batch lot</string>
|
||||
<string name="select_batch_lot_dialog_title">Select a batch lot/job</string>
|
||||
<string name="internal_handling">Internal handling</string>
|
||||
<string name="prod_ordine_produzione_title_fragment">Production picking</string>
|
||||
<string name="prod_ordine_lavorazione_title_fragment">Manufacture picking</string>
|
||||
|
||||
Reference in New Issue
Block a user