Fix vari.

Implementato doppio tap per bloccare/sbloccare caselle di testo in DialogInputQuantity.
This commit is contained in:
2020-04-24 18:31:05 +02:00
parent 1f4f4729d0
commit bef0fa0184
14 changed files with 223 additions and 123 deletions

View File

@@ -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;
}
}

View File

@@ -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;

View File

@@ -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();
}

View File

@@ -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 -> {

View File

@@ -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");
}
}

View File

@@ -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() {

View File

@@ -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));

View File

@@ -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;
}

View File

@@ -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());
}
}));
}