Fix vari.
Implementato doppio tap per bloccare/sbloccare caselle di testo in DialogInputQuantity.
This commit is contained in:
@@ -1,10 +1,6 @@
|
||||
package it.integry.integrywmsnative.core.model;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
@@ -91,9 +87,18 @@ public class MtbAart extends EntityBase{
|
||||
private String codNcIntracee;
|
||||
private String marchio;
|
||||
private Integer sezione;
|
||||
private UntMisRifPesoEnum untMisRifPeso;
|
||||
|
||||
private List<MtbUntMis> mtbUntMis;
|
||||
|
||||
|
||||
public enum UntMisRifPesoEnum {
|
||||
C,
|
||||
M;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public MtbAart() {
|
||||
this.type = "mtb_aart";
|
||||
}
|
||||
@@ -805,4 +810,13 @@ public class MtbAart extends EntityBase{
|
||||
this.mtbUntMis = mtbUntMis;
|
||||
return this;
|
||||
}
|
||||
|
||||
public UntMisRifPesoEnum getUntMisRifPeso() {
|
||||
return untMisRifPeso;
|
||||
}
|
||||
|
||||
public MtbAart setUntMisRifPeso(UntMisRifPesoEnum untMisRifPeso) {
|
||||
this.untMisRifPeso = untMisRifPeso;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,6 +33,13 @@ public class UtilityBigDecimal {
|
||||
return lowerThan(input1, input2) ? input1 : input2;
|
||||
}
|
||||
|
||||
public static BigDecimal getGreaterBetween(BigDecimal input1, BigDecimal input2) {
|
||||
if(input1 == null) return input2;
|
||||
if(input2 == null) return input1;
|
||||
|
||||
return greaterThan(input1, input2) ? input1 : input2;
|
||||
}
|
||||
|
||||
|
||||
public static BigDecimal divide(BigDecimal input1, BigDecimal divisor) {
|
||||
if(divisor == null || equalsTo(divisor, BigDecimal.ZERO)) return null;
|
||||
|
||||
@@ -43,9 +43,11 @@ import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityToast;
|
||||
import it.integry.integrywmsnative.databinding.ActivitySpedizioneBinding;
|
||||
import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListAdapter;
|
||||
import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListModel;
|
||||
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.InvalidPesoKGException;
|
||||
import it.integry.integrywmsnative.gest.spedizione_new.model.PickedQuantityDTO;
|
||||
import it.integry.integrywmsnative.gest.spedizione_new.model.PickingObjectDTO;
|
||||
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
|
||||
@@ -450,7 +452,12 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
public void onError(Exception ex) {
|
||||
this.closeProgress();
|
||||
|
||||
UtilityExceptions.defaultException(this, ex, mCurrentProgress);
|
||||
if(ex instanceof InvalidPesoKGException) {
|
||||
UtilityToast.showToast(ex.getMessage());
|
||||
} else {
|
||||
UtilityExceptions.defaultException(this, ex, mCurrentProgress);
|
||||
}
|
||||
|
||||
BarcodeManager.enable();
|
||||
}
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ 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.gest.spedizione_new.exceptions.CurrentMonoLUPositionIsNotCorrectException;
|
||||
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.InvalidPesoKGException;
|
||||
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NoPrintersFoundException;
|
||||
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.OrdersLoadException;
|
||||
import it.integry.integrywmsnative.gest.spedizione_new.exceptions.NoArtsFoundException;
|
||||
@@ -667,6 +668,9 @@ public class SpedizioneViewModel {
|
||||
BigDecimal qtaDaEvadere = pickingObjectDTO.getSitArtOrdDTO().getQtaOrd().subtract(qtaColWithdrawRows.getBigDecimalValue());
|
||||
BigDecimal qtaCnfDaEvadere = qtaCnfOrd;
|
||||
|
||||
numCnfDaEvadere = UtilityBigDecimal.getGreaterBetween(numCnfDaEvadere, BigDecimal.ZERO);
|
||||
qtaDaEvadere = UtilityBigDecimal.getGreaterBetween(qtaDaEvadere, BigDecimal.ZERO);
|
||||
|
||||
BigDecimal numCnfDaPrelevare = null;
|
||||
BigDecimal qtaColDaPrelevare = null;
|
||||
BigDecimal qtaCnfDaPrelevare = null;
|
||||
@@ -718,11 +722,22 @@ public class SpedizioneViewModel {
|
||||
PickDataDTO.ManualPickDTO manualPickDTO = pickingObjectDTO.getTempPickData().getManualPickDTO();
|
||||
MtbAart mtbAart = pickingObjectDTO.getMtbAart();
|
||||
|
||||
|
||||
qtaColDaPrelevare = manualPickDTO.getQtaTot();
|
||||
numCnfDaPrelevare = manualPickDTO.getNumCnf();
|
||||
|
||||
if (mtbAart.isFlagQtaCnfFissaBoolean()) {
|
||||
qtaCnfDaPrelevare = mtbAart.getQtaCnf();
|
||||
|
||||
if(manualPickDTO.isEanPeso()) {
|
||||
if(mtbAart.getUntMisRifPeso() == MtbAart.UntMisRifPesoEnum.M) {
|
||||
if (UtilityBigDecimal.equalsTo(mtbAart.getPesoKg(), BigDecimal.ZERO)) {
|
||||
this.sendError(new InvalidPesoKGException());
|
||||
} else {
|
||||
qtaColDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, mtbAart.getPesoKg());
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (qtaColDaPrelevare != null && numCnfDaPrelevare != null) {
|
||||
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
|
||||
}
|
||||
@@ -1082,6 +1097,15 @@ public class SpedizioneViewModel {
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
if(UtilityBigDecimal.equalsTo(numCnf, BigDecimal.ZERO) && UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO)) {
|
||||
resetMatchedRows();
|
||||
this.sendOnLoadingEnded();
|
||||
|
||||
if (shouldCloseLU) closeLU(shouldPrint);
|
||||
return;
|
||||
}
|
||||
|
||||
boolean finalShouldPrint = shouldPrint;
|
||||
mColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, value -> {
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
package it.integry.integrywmsnative.gest.spedizione_new.exceptions;
|
||||
|
||||
public class InvalidPesoKGException extends Exception {
|
||||
public InvalidPesoKGException() {
|
||||
super("Il campo Peso KG dell'articolo non è valido");
|
||||
}
|
||||
}
|
||||
@@ -163,7 +163,7 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
|
||||
|
||||
public void refreshOrdini(List<OrdineVenditaInevasoDTO> ordini){
|
||||
mRenderedOrderList.clear();
|
||||
mRenderedOrderList.addAll(ordini);
|
||||
mRenderedOrderList.addAll(ordini != null ? ordini : new ArrayList<>());
|
||||
}
|
||||
|
||||
private void initRecyclerView() {
|
||||
|
||||
@@ -14,7 +14,6 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.annimon.stream.Stream;
|
||||
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
@@ -130,7 +129,7 @@ public class MainListVenditaAdapter extends SectionedRecyclerViewAdapter<MainLis
|
||||
|
||||
if (ordine.isFlagEvaso()) {
|
||||
holder.binding.emptyView.setBackgroundColor(ResourcesCompat.getColor(mContext.getResources(), R.color.mainGreen, null));
|
||||
} else if (ordine.isExistCollo()) {
|
||||
} else if (ordine.isExistColloBoolean()) {
|
||||
holder.binding.emptyView.setBackgroundColor(ResourcesCompat.getColor(mContext.getResources(), R.color.colorPrimary, null));
|
||||
} else {
|
||||
holder.binding.emptyView.setBackgroundColor(ResourcesCompat.getColor(mContext.getResources(), android.R.color.transparent, null));
|
||||
|
||||
@@ -1,17 +1,12 @@
|
||||
package it.integry.integrywmsnative.gest.vendita.dto;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
||||
|
||||
public class OrdineVenditaInevasoDTO {
|
||||
|
||||
@@ -49,7 +44,7 @@ public class OrdineVenditaInevasoDTO {
|
||||
private String codVzon;
|
||||
private String ragSocOrdV;
|
||||
private int colliRiservati;
|
||||
private boolean existCollo;
|
||||
private boolean existColloBoolean;
|
||||
private boolean flagEvaso;
|
||||
private String nomeAgente;
|
||||
private String codJfas;
|
||||
@@ -385,12 +380,12 @@ public class OrdineVenditaInevasoDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isExistCollo() {
|
||||
return existCollo;
|
||||
public boolean isExistColloBoolean() {
|
||||
return existColloBoolean;
|
||||
}
|
||||
|
||||
public OrdineVenditaInevasoDTO setExistCollo(boolean existCollo) {
|
||||
this.existCollo = existCollo;
|
||||
public OrdineVenditaInevasoDTO setExistColloBoolean(boolean existColloBoolean) {
|
||||
this.existColloBoolean = existColloBoolean;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,8 @@ import androidx.databinding.ObservableField;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
import com.pedromassango.doubleclick.DoubleClick;
|
||||
import com.pedromassango.doubleclick.DoubleClickListener;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -218,6 +220,43 @@ public class DialogInputQuantityV2 extends DialogFragment implements DialogInput
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//Init double taps
|
||||
this.mBindings.inputNumCnfText.setOnClickListener(new DoubleClick(new DoubleClickListener() {
|
||||
@Override
|
||||
public void onSingleClick(View view) {
|
||||
String a = "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDoubleClick(View view) {
|
||||
mViewModel.blockedNumCnf.set(!mViewModel.blockedNumCnf.get());
|
||||
}
|
||||
}));
|
||||
|
||||
this.mBindings.inputQtaCnfText.setOnClickListener(new DoubleClick(new DoubleClickListener() {
|
||||
@Override
|
||||
public void onSingleClick(View view) {
|
||||
String a = "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDoubleClick(View view) {
|
||||
mViewModel.blockedQtaCnf.set(!mViewModel.blockedQtaCnf.get());
|
||||
}
|
||||
}));
|
||||
|
||||
this.mBindings.inputQtaTotText.setOnClickListener(new DoubleClick(new DoubleClickListener() {
|
||||
@Override
|
||||
public void onSingleClick(View view) {
|
||||
String a = "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDoubleClick(View view) {
|
||||
mViewModel.blockedQtaTot.set(!mViewModel.blockedQtaTot.get());
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user