Vario
This commit is contained in:
parent
c2ab0c9ec1
commit
e5a4113968
@ -91,7 +91,7 @@ dependencies {
|
|||||||
implementation 'com.google.firebase:firebase-core:17.2.3'
|
implementation 'com.google.firebase:firebase-core:17.2.3'
|
||||||
implementation 'com.google.firebase:firebase-crash:16.2.1'
|
implementation 'com.google.firebase:firebase-crash:16.2.1'
|
||||||
implementation 'com.google.firebase:firebase-perf:19.0.5'
|
implementation 'com.google.firebase:firebase-perf:19.0.5'
|
||||||
implementation 'com.google.firebase:firebase-crashlytics:17.0.0-beta01'
|
implementation 'com.google.firebase:firebase-crashlytics:17.0.0-beta02'
|
||||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||||
implementation 'com.google.android.material:material:1.1.0'
|
implementation 'com.google.android.material:material:1.1.0'
|
||||||
@ -145,6 +145,7 @@ dependencies {
|
|||||||
implementation project(':barcode_base_android_library')
|
implementation project(':barcode_base_android_library')
|
||||||
implementation project(':honeywellscannerlibrary')
|
implementation project(':honeywellscannerlibrary')
|
||||||
implementation project(':keyobardemulatorscannerlibrary')
|
implementation project(':keyobardemulatorscannerlibrary')
|
||||||
|
implementation 'com.kroegerama:barcode-kaiteki:1.1.1'
|
||||||
androidTestImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
|
androidTestImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
|
||||||
androidTestImplementation 'org.testng:testng:7.1.0'
|
androidTestImplementation 'org.testng:testng:7.1.0'
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,6 +38,7 @@ import it.integry.integrywmsnative.MainApplication;
|
|||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
|
|
||||||
public class Converters {
|
public class Converters {
|
||||||
|
|
||||||
@ -105,14 +106,18 @@ public class Converters {
|
|||||||
TextWatcherAdapter watcher = new TextWatcherAdapter() {
|
TextWatcherAdapter watcher = new TextWatcherAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
observableBigDecimal.set(new BigDecimal(s.toString()));
|
BigDecimal value = null;
|
||||||
|
if(!UtilityString.isNullOrEmpty(s.toString())) value = new BigDecimal(s.toString());
|
||||||
|
observableBigDecimal.set(value);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
view.setTag(R.id.bound_observable, new Pair<>(observableBigDecimal, watcher));
|
view.setTag(R.id.bound_observable, new Pair<>(observableBigDecimal, watcher));
|
||||||
view.addTextChangedListener(watcher);
|
view.addTextChangedListener(watcher);
|
||||||
}
|
}
|
||||||
BigDecimal newValue = observableBigDecimal.get();
|
BigDecimal newValue = observableBigDecimal.get();
|
||||||
if(view.getText().toString().trim().length() > 0 && !UtilityBigDecimal.equalsTo(new BigDecimal(view.getText().toString()), newValue)) {
|
BigDecimal viewValue = view.getText().toString().trim().length() > 0 ? new BigDecimal(view.getText().toString()) : BigDecimal.ZERO;
|
||||||
|
|
||||||
|
if(!UtilityBigDecimal.equalsTo(viewValue, newValue)) {
|
||||||
view.setText(UtilityNumber.decimalToString(newValue));
|
view.setText(UtilityNumber.decimalToString(newValue));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import android.os.Parcelable;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
|
|
||||||
@ -12,7 +13,7 @@ import it.integry.integrywmsnative.core.utility.UtilityString;
|
|||||||
* Created by GiuseppeS on 06/03/2018.
|
* Created by GiuseppeS on 06/03/2018.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class MtbAart implements Parcelable{
|
public class MtbAart extends EntityBase{
|
||||||
|
|
||||||
private String codMart;
|
private String codMart;
|
||||||
private String descrizione;
|
private String descrizione;
|
||||||
@ -91,102 +92,22 @@ public class MtbAart implements Parcelable{
|
|||||||
private String marchio;
|
private String marchio;
|
||||||
private Integer sezione;
|
private Integer sezione;
|
||||||
|
|
||||||
|
private List<MtbUntMis> mtbUntMis;
|
||||||
|
|
||||||
public MtbAart(){}
|
public MtbAart() {
|
||||||
|
this.type = "mtb_aart";
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isFlagTracciabilita() {
|
public boolean isFlagTracciabilita() {
|
||||||
return flagTracciabilita != null && flagTracciabilita.equalsIgnoreCase("S");
|
return flagTracciabilita != null && flagTracciabilita.equalsIgnoreCase("S");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isFlagQtaCnfFissaBoolean() {
|
||||||
|
return "S".equalsIgnoreCase(flagQtaCnfFissa);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected MtbAart(Parcel in) {
|
|
||||||
codMart = in.readString();
|
|
||||||
descrizione = in.readString();
|
|
||||||
untMis = in.readString();
|
|
||||||
barCode = in.readString();
|
|
||||||
pesoKg = (BigDecimal) in.readValue(BigDecimal.class.getClassLoader());
|
|
||||||
qtaCnf = (BigDecimal) in.readValue(BigDecimal.class.getClassLoader());
|
|
||||||
codAliq = in.readString();
|
|
||||||
codScoArt = in.readString();
|
|
||||||
codTcolUi = in.readString();
|
|
||||||
codTcolUl = in.readString();
|
|
||||||
articoloComposto = in.readString();
|
|
||||||
esposizioneComp = in.readString();
|
|
||||||
descrizioneEstesa = in.readString();
|
|
||||||
codUltForn = in.readString();
|
|
||||||
dataUltCar = in.readString();
|
|
||||||
valUltCar = (BigDecimal) in.readValue(BigDecimal.class.getClassLoader());
|
|
||||||
codUltClie = in.readString();
|
|
||||||
dataUltScar = in.readString();
|
|
||||||
valUltScar = (BigDecimal) in.readValue(BigDecimal.class.getClassLoader());
|
|
||||||
tipoCodice = in.readString();
|
|
||||||
note = in.readString();
|
|
||||||
posizione = in.readString();
|
|
||||||
colliPedana = (BigDecimal) in.readValue(BigDecimal.class.getClassLoader());
|
|
||||||
untMis2 = in.readString();
|
|
||||||
rapConv2 = (BigDecimal) in.readValue(BigDecimal.class.getClassLoader());
|
|
||||||
flagInclListino = in.readString();
|
|
||||||
untMis3 = in.readString();
|
|
||||||
rapConv3 = (BigDecimal) in.readValue(BigDecimal.class.getClassLoader());
|
|
||||||
codMartStat = in.readString();
|
|
||||||
codMcon = in.readString();
|
|
||||||
codMgrp = in.readString();
|
|
||||||
codMsfa = in.readString();
|
|
||||||
codMsgr = in.readString();
|
|
||||||
codMstp = in.readString();
|
|
||||||
codMtip = in.readString();
|
|
||||||
descrizioneStat = in.readString();
|
|
||||||
flagStato = in.readString();
|
|
||||||
cambioDiviCar = (BigDecimal) in.readValue(BigDecimal.class.getClassLoader());
|
|
||||||
cambioDiviScar = (BigDecimal) in.readValue(BigDecimal.class.getClassLoader());
|
|
||||||
ggScadPartita = in.readByte() == 0x00 ? null : in.readInt();
|
|
||||||
volumeMc = (BigDecimal) in.readValue(BigDecimal.class.getClassLoader());
|
|
||||||
flagEsponiPrz = in.readString();
|
|
||||||
dataUltVar = in.readString();
|
|
||||||
percSfrido = (BigDecimal) in.readValue(BigDecimal.class.getClassLoader());
|
|
||||||
codBarreImb = in.readString();
|
|
||||||
flagCalcPrz = in.readString();
|
|
||||||
esposizioneCompAcq = in.readString();
|
|
||||||
flagCalcPrzAcq = in.readString();
|
|
||||||
diacod = in.readString();
|
|
||||||
plu = in.readString();
|
|
||||||
partIvaProd = in.readString();
|
|
||||||
ragSocProd = in.readString();
|
|
||||||
flagRapConvVariabile = in.readString();
|
|
||||||
flagMovArtMag = in.readString();
|
|
||||||
flagTracciabilita = in.readString();
|
|
||||||
taraKg = (BigDecimal) in.readValue(BigDecimal.class.getClassLoader());
|
|
||||||
colliStrato = (BigDecimal) in.readValue(BigDecimal.class.getClassLoader());
|
|
||||||
flagQtaCnfFissa = in.readString();
|
|
||||||
flagColliPedanaFisso = in.readString();
|
|
||||||
codCconCosti = in.readString();
|
|
||||||
codCconRicavi = in.readString();
|
|
||||||
codDgrpArt = in.readString();
|
|
||||||
codDiviCar = in.readString();
|
|
||||||
codDiviScar = in.readString();
|
|
||||||
codEcrCat = in.readString();
|
|
||||||
codEcrMcat = in.readString();
|
|
||||||
codEcrRep = in.readString();
|
|
||||||
codEcrStipo = in.readString();
|
|
||||||
codEcrTipo = in.readString();
|
|
||||||
codGrpBolla = in.readString();
|
|
||||||
ingredienti = in.readString();
|
|
||||||
idArtEqui = in.readString();
|
|
||||||
descrCassa = in.readString();
|
|
||||||
codNcIntracee = in.readString();
|
|
||||||
marchio = in.readString();
|
|
||||||
sezione = in.readByte() == 0x00 ? null : in.readInt();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int describeContents() {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCodMart() {
|
public String getCodMart() {
|
||||||
return codMart;
|
return codMart;
|
||||||
@ -709,10 +630,6 @@ public class MtbAart implements Parcelable{
|
|||||||
return flagQtaCnfFissa;
|
return flagQtaCnfFissa;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean getFlagQtaCnfFissaBoolean() {
|
|
||||||
return "S".equalsIgnoreCase(flagQtaCnfFissa);
|
|
||||||
}
|
|
||||||
|
|
||||||
public MtbAart setFlagQtaCnfFissa(String flagQtaCnfFissa) {
|
public MtbAart setFlagQtaCnfFissa(String flagQtaCnfFissa) {
|
||||||
this.flagQtaCnfFissa = flagQtaCnfFissa;
|
this.flagQtaCnfFissa = flagQtaCnfFissa;
|
||||||
return this;
|
return this;
|
||||||
@ -880,111 +797,12 @@ public class MtbAart implements Parcelable{
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public List<MtbUntMis> getMtbUntMis() {
|
||||||
public void writeToParcel(Parcel dest, int flags) {
|
return mtbUntMis;
|
||||||
dest.writeString(codMart);
|
|
||||||
dest.writeString(descrizione);
|
|
||||||
dest.writeString(untMis);
|
|
||||||
dest.writeString(barCode);
|
|
||||||
dest.writeValue(pesoKg);
|
|
||||||
dest.writeValue(qtaCnf);
|
|
||||||
dest.writeString(codAliq);
|
|
||||||
dest.writeString(codScoArt);
|
|
||||||
dest.writeString(codTcolUi);
|
|
||||||
dest.writeString(codTcolUl);
|
|
||||||
dest.writeString(articoloComposto);
|
|
||||||
dest.writeString(esposizioneComp);
|
|
||||||
dest.writeString(descrizioneEstesa);
|
|
||||||
dest.writeString(codUltForn);
|
|
||||||
dest.writeString(dataUltCar);
|
|
||||||
dest.writeValue(valUltCar);
|
|
||||||
dest.writeString(codUltClie);
|
|
||||||
dest.writeString(dataUltScar);
|
|
||||||
dest.writeValue(valUltScar);
|
|
||||||
dest.writeString(tipoCodice);
|
|
||||||
dest.writeString(note);
|
|
||||||
dest.writeString(posizione);
|
|
||||||
dest.writeValue(colliPedana);
|
|
||||||
dest.writeString(untMis2);
|
|
||||||
dest.writeValue(rapConv2);
|
|
||||||
dest.writeString(flagInclListino);
|
|
||||||
dest.writeString(untMis3);
|
|
||||||
dest.writeValue(rapConv3);
|
|
||||||
dest.writeString(codMartStat);
|
|
||||||
dest.writeString(codMcon);
|
|
||||||
dest.writeString(codMgrp);
|
|
||||||
dest.writeString(codMsfa);
|
|
||||||
dest.writeString(codMsgr);
|
|
||||||
dest.writeString(codMstp);
|
|
||||||
dest.writeString(codMtip);
|
|
||||||
dest.writeString(descrizioneStat);
|
|
||||||
dest.writeString(flagStato);
|
|
||||||
dest.writeValue(cambioDiviCar);
|
|
||||||
dest.writeValue(cambioDiviScar);
|
|
||||||
if (ggScadPartita == null) {
|
|
||||||
dest.writeByte((byte) (0x00));
|
|
||||||
} else {
|
|
||||||
dest.writeByte((byte) (0x01));
|
|
||||||
dest.writeInt(ggScadPartita);
|
|
||||||
}
|
|
||||||
dest.writeValue(volumeMc);
|
|
||||||
dest.writeString(flagEsponiPrz);
|
|
||||||
dest.writeString(dataUltVar);
|
|
||||||
dest.writeValue(percSfrido);
|
|
||||||
dest.writeString(codBarreImb);
|
|
||||||
dest.writeString(flagCalcPrz);
|
|
||||||
dest.writeString(esposizioneCompAcq);
|
|
||||||
dest.writeString(flagCalcPrzAcq);
|
|
||||||
dest.writeString(diacod);
|
|
||||||
dest.writeString(plu);
|
|
||||||
dest.writeString(partIvaProd);
|
|
||||||
dest.writeString(ragSocProd);
|
|
||||||
dest.writeString(flagRapConvVariabile);
|
|
||||||
dest.writeString(flagMovArtMag);
|
|
||||||
dest.writeString(flagTracciabilita);
|
|
||||||
dest.writeValue(taraKg);
|
|
||||||
dest.writeValue(colliStrato);
|
|
||||||
dest.writeString(flagQtaCnfFissa);
|
|
||||||
dest.writeString(flagColliPedanaFisso);
|
|
||||||
dest.writeString(codCconCosti);
|
|
||||||
dest.writeString(codCconRicavi);
|
|
||||||
dest.writeString(codDgrpArt);
|
|
||||||
dest.writeString(codDiviCar);
|
|
||||||
dest.writeString(codDiviScar);
|
|
||||||
dest.writeString(codEcrCat);
|
|
||||||
dest.writeString(codEcrMcat);
|
|
||||||
dest.writeString(codEcrRep);
|
|
||||||
dest.writeString(codEcrStipo);
|
|
||||||
dest.writeString(codEcrTipo);
|
|
||||||
dest.writeString(codGrpBolla);
|
|
||||||
dest.writeString(ingredienti);
|
|
||||||
dest.writeString(idArtEqui);
|
|
||||||
dest.writeString(descrCassa);
|
|
||||||
dest.writeString(codNcIntracee);
|
|
||||||
dest.writeString(marchio);
|
|
||||||
if (sezione == null) {
|
|
||||||
dest.writeByte((byte) (0x00));
|
|
||||||
} else {
|
|
||||||
dest.writeByte((byte) (0x01));
|
|
||||||
dest.writeInt(sezione);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public MtbAart setMtbUntMis(List<MtbUntMis> mtbUntMis) {
|
||||||
|
this.mtbUntMis = mtbUntMis;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
|
||||||
public static final Parcelable.Creator<MtbAart> CREATOR = new Parcelable.Creator<MtbAart>() {
|
|
||||||
@Override
|
|
||||||
public MtbAart createFromParcel(Parcel in) {
|
|
||||||
return new MtbAart(in);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MtbAart[] newArray(int size) {
|
|
||||||
return new MtbAart[size];
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,75 @@
|
|||||||
|
package it.integry.integrywmsnative.core.model;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
public class MtbUntMis extends EntityBase {
|
||||||
|
|
||||||
|
private String untMis;
|
||||||
|
private String flagDig;
|
||||||
|
private BigDecimal cifreDec;
|
||||||
|
private String tipoUm;
|
||||||
|
private String flagUnitaKg;
|
||||||
|
private String flagAttivo;
|
||||||
|
|
||||||
|
public MtbUntMis() {
|
||||||
|
this.type = "mtb_unt_mis";
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUntMis() {
|
||||||
|
return untMis;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MtbUntMis setUntMis(String untMis) {
|
||||||
|
this.untMis = untMis;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isFlagDig() {
|
||||||
|
return "S".equalsIgnoreCase(flagDig);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFlagDig() {
|
||||||
|
return flagDig;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MtbUntMis setFlagDig(String flagDig) {
|
||||||
|
this.flagDig = flagDig;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCifreDec() {
|
||||||
|
return cifreDec;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MtbUntMis setCifreDec(BigDecimal cifreDec) {
|
||||||
|
this.cifreDec = cifreDec;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTipoUm() {
|
||||||
|
return tipoUm;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MtbUntMis setTipoUm(String tipoUm) {
|
||||||
|
this.tipoUm = tipoUm;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFlagUnitaKg() {
|
||||||
|
return flagUnitaKg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MtbUntMis setFlagUnitaKg(String flagUnitaKg) {
|
||||||
|
this.flagUnitaKg = flagUnitaKg;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFlagAttivo() {
|
||||||
|
return flagAttivo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MtbUntMis setFlagAttivo(String flagAttivo) {
|
||||||
|
this.flagAttivo = flagAttivo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -14,6 +14,7 @@ public class SitArtOrdDTO {
|
|||||||
private String partitaMag;
|
private String partitaMag;
|
||||||
private BigDecimal qtaOrd;
|
private BigDecimal qtaOrd;
|
||||||
private BigDecimal numCnfOrd;
|
private BigDecimal numCnfOrd;
|
||||||
|
private BigDecimal qtaCnfOrd;
|
||||||
private String idViaggio;
|
private String idViaggio;
|
||||||
private String codMdep;
|
private String codMdep;
|
||||||
|
|
||||||
@ -98,6 +99,15 @@ public class SitArtOrdDTO {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaCnfOrd() {
|
||||||
|
return qtaCnfOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SitArtOrdDTO setQtaCnfOrd(BigDecimal qtaCnfOrd) {
|
||||||
|
this.qtaCnfOrd = qtaCnfOrd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public String getIdViaggio() {
|
public String getIdViaggio() {
|
||||||
return idViaggio;
|
return idViaggio;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -25,4 +25,11 @@ public class UtilityBigDecimal {
|
|||||||
return input.compareTo(toCompareWith) < 0;
|
return input.compareTo(toCompareWith) < 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static BigDecimal getLowerBetween(BigDecimal input1, BigDecimal input2) {
|
||||||
|
if(input1 == null) return input2;
|
||||||
|
if(input2 == null) return input1;
|
||||||
|
|
||||||
|
return lowerThan(input1, input2) ? input1 : input2;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
package it.integry.integrywmsnative.core.utility;
|
package it.integry.integrywmsnative.core.utility;
|
||||||
|
|
||||||
|
import com.google.firebase.crashlytics.FirebaseCrashlytics;
|
||||||
import com.orhanobut.logger.Logger;
|
import com.orhanobut.logger.Logger;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -40,37 +41,42 @@ public class UtilityLogger {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void errorMe(Exception ex, String additionalText, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
public static void errorMe(Exception ex, String additionalText, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
if ((!(ex instanceof SocketTimeoutException) && !(ex.getCause() instanceof SocketTimeoutException)) ||
|
FirebaseCrashlytics.getInstance().recordException(ex);
|
||||||
(!(ex instanceof SocketException) && !(ex.getCause() instanceof SocketException)) ||
|
|
||||||
(!(ex instanceof IOException) && !(ex.getCause() instanceof IOException))) {
|
|
||||||
|
|
||||||
String message = UtilityResources.readRawTextFile(R.raw.error_mail);
|
// if ((!(ex instanceof SocketTimeoutException) && !(ex.getCause() instanceof SocketTimeoutException)) ||
|
||||||
|
// (!(ex instanceof SocketException) && !(ex.getCause() instanceof SocketException)) ||
|
||||||
message = message.replace("__APP_NAME__", UtilityResources.getString(R.string.app_name));
|
// (!(ex instanceof IOException) && !(ex.getCause() instanceof IOException))) {
|
||||||
message = message.replace("__APP_PACKAGE__", UtilityResources.getPackageName());
|
//
|
||||||
|
// if(ex.getMessage().contains("SocketTimeoutException")) return;
|
||||||
String appVersion = UtilityResources.getAppVersion();
|
//
|
||||||
message = message.replace("__APP_VERSION__", appVersion == null ? "" : appVersion);
|
//
|
||||||
message = message.replace("__APP_VERSION_CODE__", "" + UtilityResources.getAppVersionCode());
|
// String message = UtilityResources.readRawTextFile(R.raw.error_mail);
|
||||||
|
//
|
||||||
|
// message = message.replace("__APP_NAME__", UtilityResources.getString(R.string.app_name));
|
||||||
message = message.replaceAll("__ERROR_TITLE__", ex.getMessage());
|
// message = message.replace("__APP_PACKAGE__", UtilityResources.getPackageName());
|
||||||
|
//
|
||||||
message = message.replaceAll("__ERROR_DETAIL__", additionalText == null ? "" : additionalText);
|
// String appVersion = UtilityResources.getAppVersion();
|
||||||
|
// message = message.replace("__APP_VERSION__", appVersion == null ? "" : appVersion);
|
||||||
|
// message = message.replace("__APP_VERSION_CODE__", "" + UtilityResources.getAppVersionCode());
|
||||||
StringWriter sw = new StringWriter();
|
//
|
||||||
ex.printStackTrace(new PrintWriter(sw));
|
//
|
||||||
|
// message = message.replaceAll("__ERROR_TITLE__", ex.getMessage());
|
||||||
message = message.replace("__ERROR_STACKTRACE__", sw.toString());
|
//
|
||||||
|
// message = message.replaceAll("__ERROR_DETAIL__", additionalText == null ? "" : additionalText);
|
||||||
String currentAzienda = UtilityString.isNullOrEmpty(SettingsManager.i().userSession.profileDB) ? "" : SettingsManager.i().userSession.profileDB;
|
//
|
||||||
message = message.replace("__CUSTOMER_NAME__", currentAzienda);
|
//
|
||||||
|
// StringWriter sw = new StringWriter();
|
||||||
message = message.replace("__ERROR_DATE__", UtilityDate.formatDate(UtilityDate.getDateInstance(), UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH));
|
// ex.printStackTrace(new PrintWriter(sw));
|
||||||
|
//
|
||||||
SystemRESTConsumer.sendErrorLogMail(message, onComplete, onFailed);
|
// message = message.replace("__ERROR_STACKTRACE__", sw.toString());
|
||||||
}
|
//
|
||||||
|
// String currentAzienda = UtilityString.isNullOrEmpty(SettingsManager.i().userSession.profileDB) ? "" : SettingsManager.i().userSession.profileDB;
|
||||||
|
// message = message.replace("__CUSTOMER_NAME__", currentAzienda);
|
||||||
|
//
|
||||||
|
// message = message.replace("__ERROR_DATE__", UtilityDate.formatDate(UtilityDate.getDateInstance(), UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH));
|
||||||
|
//
|
||||||
|
// SystemRESTConsumer.sendErrorLogMail(message, onComplete, onFailed);
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -784,7 +784,7 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
|
|||||||
//if(!UtilityString.isNullOrEmpty(ean128Model.Sscc)) {
|
//if(!UtilityString.isNullOrEmpty(ean128Model.Sscc)) {
|
||||||
dto.setQtaTot(new BigDecimal(ean128Model.Count));
|
dto.setQtaTot(new BigDecimal(ean128Model.Count));
|
||||||
|
|
||||||
if (!item.getMtbAart().getFlagQtaCnfFissaBoolean()) {
|
if (!item.getMtbAart().isFlagQtaCnfFissaBoolean()) {
|
||||||
dto.setQtaCnf(new BigDecimal(ean128Model.Count));
|
dto.setQtaCnf(new BigDecimal(ean128Model.Count));
|
||||||
}
|
}
|
||||||
//} else {
|
//} else {
|
||||||
@ -827,7 +827,7 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
|
|||||||
.setCodJcom(item.getCodJcom())
|
.setCodJcom(item.getCodJcom())
|
||||||
.setRigaOrd(item.getRigaOrd());
|
.setRigaOrd(item.getRigaOrd());
|
||||||
|
|
||||||
if (!item.getMtbAart().getFlagQtaCnfFissaBoolean()) {
|
if (!item.getMtbAart().isFlagQtaCnfFissaBoolean()) {
|
||||||
mtbColr.setQtaCnf(quantityDTO.qtaCnf.getBigDecimal());
|
mtbColr.setQtaCnf(quantityDTO.qtaCnf.getBigDecimal());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -39,7 +39,7 @@ public class ContenutoBancaleListAdapter extends RecyclerView.Adapter<ContenutoB
|
|||||||
|
|
||||||
|
|
||||||
//Setting qty with unt_mis
|
//Setting qty with unt_mis
|
||||||
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())){
|
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())){
|
||||||
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
||||||
|
|
||||||
if(mtbColr.getMtbAart() != null) {
|
if(mtbColr.getMtbAart() != null) {
|
||||||
@ -78,7 +78,7 @@ public class ContenutoBancaleListAdapter extends RecyclerView.Adapter<ContenutoB
|
|||||||
holder.bind(mtbColr);
|
holder.bind(mtbColr);
|
||||||
|
|
||||||
//Setting qty with unt_mis
|
//Setting qty with unt_mis
|
||||||
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())){
|
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())){
|
||||||
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
||||||
|
|
||||||
if(mtbColr.getMtbAart() != null) {
|
if(mtbColr.getMtbAart() != null) {
|
||||||
|
|||||||
@ -36,7 +36,7 @@ public class PickingLiberoListAdapter extends RecyclerView.Adapter<PickingLibero
|
|||||||
public void bind(MtbColr mtbColr) {
|
public void bind(MtbColr mtbColr) {
|
||||||
|
|
||||||
//Setting qty with unt_mis
|
//Setting qty with unt_mis
|
||||||
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())){
|
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())){
|
||||||
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
||||||
|
|
||||||
if(mtbColr.getMtbAart() != null) {
|
if(mtbColr.getMtbAart() != null) {
|
||||||
|
|||||||
@ -138,7 +138,7 @@ public class PickingResiListAdapter extends SectionedRecyclerViewAdapter<Picking
|
|||||||
|
|
||||||
|
|
||||||
//Setting qty with unt_mis
|
//Setting qty with unt_mis
|
||||||
if(!SettingsManager.iDB().isFlagForceAllToColli() && (dtbDocr.getMtbAart() == null || dtbDocr.getMtbAart().getFlagQtaCnfFissaBoolean())){
|
if(!SettingsManager.iDB().isFlagForceAllToColli() && (dtbDocr.getMtbAart() == null || dtbDocr.getMtbAart().isFlagQtaCnfFissaBoolean())){
|
||||||
holder.mBinding.qtaEvasa.setText(UtilityNumber.decimalToString(qtaColEvasa));
|
holder.mBinding.qtaEvasa.setText(UtilityNumber.decimalToString(qtaColEvasa));
|
||||||
holder.mBinding.qtaTot.setText(UtilityNumber.decimalToString(dtbDocr.getQtaDoc()));
|
holder.mBinding.qtaTot.setText(UtilityNumber.decimalToString(dtbDocr.getQtaDoc()));
|
||||||
holder.mBinding.untMis.setText(dtbDocr.getUntDoc());
|
holder.mBinding.untMis.setText(dtbDocr.getUntDoc());
|
||||||
|
|||||||
@ -103,7 +103,7 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
|
|||||||
for (CheckableOrdineLavoro c : ordiniSelezionati) {
|
for (CheckableOrdineLavoro c : ordiniSelezionati) {
|
||||||
BigDecimal usedCol, usedCnf;
|
BigDecimal usedCol, usedCnf;
|
||||||
float perc = (c.getItem().getOrdineLav().getHrNum() * 100) / totalHr;
|
float perc = (c.getItem().getOrdineLav().getHrNum() * 100) / totalHr;
|
||||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean()) ){
|
if (SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean()) ){
|
||||||
usedCnf = residuoCnf.multiply(BigDecimal.valueOf(perc)).divide(BigDecimal.valueOf(100)).setScale(0, BigDecimal.ROUND_FLOOR);
|
usedCnf = residuoCnf.multiply(BigDecimal.valueOf(perc)).divide(BigDecimal.valueOf(100)).setScale(0, BigDecimal.ROUND_FLOOR);
|
||||||
if (usedCnf.compareTo(BigDecimal.ZERO) <= 0 && offsetCnf.compareTo(BigDecimal.ZERO) > 0){
|
if (usedCnf.compareTo(BigDecimal.ZERO) <= 0 && offsetCnf.compareTo(BigDecimal.ZERO) > 0){
|
||||||
usedCnf = BigDecimal.ONE;
|
usedCnf = BigDecimal.ONE;
|
||||||
@ -127,7 +127,7 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
|
|||||||
majorOrder = ordiniSelezionati.get(0);
|
majorOrder = ordiniSelezionati.get(0);
|
||||||
}
|
}
|
||||||
if (offsetCnf.floatValue() != 0 || offsetCol.floatValue() != 0){
|
if (offsetCnf.floatValue() != 0 || offsetCol.floatValue() != 0){
|
||||||
if ( SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())) {
|
if ( SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||||
majorOrder.setNumCnf(majorOrder.getNumCnf().get() + offsetCnf.floatValue());
|
majorOrder.setNumCnf(majorOrder.getNumCnf().get() + offsetCnf.floatValue());
|
||||||
majorOrder.setQtaCol(majorOrder.getQtaCol().get() + offsetCol.floatValue());
|
majorOrder.setQtaCol(majorOrder.getQtaCol().get() + offsetCol.floatValue());
|
||||||
} else {
|
} else {
|
||||||
@ -154,7 +154,7 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
|
|||||||
mViewDataBinding.setMtbColr(mtbColr);
|
mViewDataBinding.setMtbColr(mtbColr);
|
||||||
mViewDataBinding.executePendingBindings();
|
mViewDataBinding.executePendingBindings();
|
||||||
|
|
||||||
if (!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())) {
|
if (!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||||
String text = UtilityNumber.decimalToString(checkableOrdineLavoro.getQtaCol().get());
|
String text = UtilityNumber.decimalToString(checkableOrdineLavoro.getQtaCol().get());
|
||||||
|
|
||||||
if (mtbColr.getMtbAart() != null) {
|
if (mtbColr.getMtbAart() != null) {
|
||||||
|
|||||||
@ -71,7 +71,7 @@ public class ProdVersamentoMaterialViewModel {
|
|||||||
mBinding.descrArt.setText(mtbColr.getDescrizione());
|
mBinding.descrArt.setText(mtbColr.getDescrizione());
|
||||||
mBinding.codArt.setText(mtbColr.getCodMart());
|
mBinding.codArt.setText(mtbColr.getCodMart());
|
||||||
mBinding.batch.setText(mtbColr.getPartitaMag() + ((mtbColr.getRifPartitaMag() != null) ? " - "+ mtbColr.getRifPartitaMag().getDescrizione() : ""));
|
mBinding.batch.setText(mtbColr.getPartitaMag() + ((mtbColr.getRifPartitaMag() != null) ? " - "+ mtbColr.getRifPartitaMag().getDescrizione() : ""));
|
||||||
if (!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())) {
|
if (!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||||
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
||||||
|
|
||||||
if (mtbColr.getMtbAart() != null) {
|
if (mtbColr.getMtbAart() != null) {
|
||||||
|
|||||||
@ -66,7 +66,7 @@ public class RettificaGiacenzeMainListAdapter extends RecyclerView.Adapter<Retti
|
|||||||
holder.bind(mtbColr);
|
holder.bind(mtbColr);
|
||||||
|
|
||||||
//Setting qty with unt_mis
|
//Setting qty with unt_mis
|
||||||
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())){
|
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())){
|
||||||
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
||||||
|
|
||||||
if(mtbColr.getMtbAart() != null) {
|
if(mtbColr.getMtbAart() != null) {
|
||||||
|
|||||||
@ -78,7 +78,7 @@ public class VenditaOrdineInevasoHelper {
|
|||||||
if(tmpList.get(i).isHidden() == null || forceHiddenCheck) {
|
if(tmpList.get(i).isHidden() == null || forceHiddenCheck) {
|
||||||
PickingObjectDTOOld tmpItem = tmpList.get(i);
|
PickingObjectDTOOld tmpItem = tmpList.get(i);
|
||||||
|
|
||||||
tmpItem.setHidden(tmpItem.getQtaCollo().compareTo(BigDecimal.ZERO) <= 0 || (!tmpItem.getMtbAart().getFlagQtaCnfFissaBoolean() && tmpItem.getNumCnfCollo().compareTo(BigDecimal.ZERO) <= 0));
|
tmpItem.setHidden(tmpItem.getQtaCollo().compareTo(BigDecimal.ZERO) <= 0 || (!tmpItem.getMtbAart().isFlagQtaCnfFissaBoolean() && tmpItem.getNumCnfCollo().compareTo(BigDecimal.ZERO) <= 0));
|
||||||
tmpItem.setTempHidden(false);
|
tmpItem.setTempHidden(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -161,7 +161,7 @@ public class VenditaOrdineInevasoHelper {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(!SettingsManager.iDB().isFlagForceAllToColli() && (currentItem.getMtbAart() == null || currentItem.getMtbAart().getFlagQtaCnfFissaBoolean())){
|
if(!SettingsManager.iDB().isFlagForceAllToColli() && (currentItem.getMtbAart() == null || currentItem.getMtbAart().isFlagQtaCnfFissaBoolean())){
|
||||||
rowModel.setQtaOrdinata(currentItem.getNumCollo() != null ? currentItem.getQtaCollo() : currentItem.getQtaOrd());
|
rowModel.setQtaOrdinata(currentItem.getNumCollo() != null ? currentItem.getQtaCollo() : currentItem.getQtaOrd());
|
||||||
rowModel.setQtaRiservata(currentQtaColEvasa);
|
rowModel.setQtaRiservata(currentQtaColEvasa);
|
||||||
|
|
||||||
|
|||||||
@ -1145,7 +1145,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
boolean useQtaDaEvadere = false;
|
boolean useQtaDaEvadere = false;
|
||||||
|
|
||||||
if(tmpPickData.getQtaTot() != null) {
|
if(tmpPickData.getQtaTot() != null) {
|
||||||
useQtaDaEvadere = qtaDaEvadere.floatValue() < tmpPickData.getQtaTot().floatValue() && item.getMtbAart().getFlagQtaCnfFissaBoolean();
|
useQtaDaEvadere = qtaDaEvadere.floatValue() < tmpPickData.getQtaTot().floatValue() && item.getMtbAart().isFlagQtaCnfFissaBoolean();
|
||||||
if (useQtaDaEvadere && !isTakenFromUL) {
|
if (useQtaDaEvadere && !isTakenFromUL) {
|
||||||
dto.setQtaTot(qtaDaEvadere);
|
dto.setQtaTot(qtaDaEvadere);
|
||||||
dto.setMaxQta(qtaDaEvadere);
|
dto.setMaxQta(qtaDaEvadere);
|
||||||
@ -1407,7 +1407,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
qtaDto.setNumCnf(ean128Model.Count);
|
qtaDto.setNumCnf(ean128Model.Count);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ean128Model.NetWeightKg != null && ean128Model.NetWeightKg > 0 && !mtbAart.getFlagQtaCnfFissaBoolean()) {
|
if (ean128Model.NetWeightKg != null && ean128Model.NetWeightKg > 0 && !mtbAart.isFlagQtaCnfFissaBoolean()) {
|
||||||
qtaDto.setQtaTot(new BigDecimal(ean128Model.NetWeightKg));
|
qtaDto.setQtaTot(new BigDecimal(ean128Model.NetWeightKg));
|
||||||
} else {
|
} else {
|
||||||
qtaDto.setQtaTot(qtaDto.getQtaCnf().multiply(new BigDecimal(qtaDto.getNumCnf())));
|
qtaDto.setQtaTot(qtaDto.getQtaCnf().multiply(new BigDecimal(qtaDto.getNumCnf())));
|
||||||
|
|||||||
@ -9,8 +9,14 @@ import android.app.Dialog;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
import com.google.zxing.BarcodeFormat;
|
||||||
|
import com.google.zxing.Result;
|
||||||
|
import com.kroegerama.kaiteki.bcode.BarcodeResultListener;
|
||||||
|
import com.kroegerama.kaiteki.bcode.ui.BarcodeBottomSheet;
|
||||||
import com.tfb.fbtoast.FBToast;
|
import com.tfb.fbtoast.FBToast;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -43,12 +49,11 @@ import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListAdapte
|
|||||||
import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListModel;
|
import it.integry.integrywmsnative.gest.spedizione_new.core.SpedizioneListModel;
|
||||||
import it.integry.integrywmsnative.gest.spedizione_new.model.PickingObjectDTO;
|
import it.integry.integrywmsnative.gest.spedizione_new.model.PickingObjectDTO;
|
||||||
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
|
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
|
||||||
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
|
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||||
|
|
||||||
public class SpedizioneActivity extends AppCompatActivity implements SpedizioneViewModel.Listeners {
|
public class SpedizioneActivity extends AppCompatActivity implements SpedizioneViewModel.Listeners, BarcodeResultListener {
|
||||||
|
|
||||||
private ActivitySpedizioneBinding mBindings;
|
private ActivitySpedizioneBinding mBindings;
|
||||||
|
|
||||||
@ -63,6 +68,7 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
|
|||||||
public BindableBoolean noLUPresent = new BindableBoolean(true);
|
public BindableBoolean noLUPresent = new BindableBoolean(true);
|
||||||
|
|
||||||
|
|
||||||
|
private boolean mEnableGiacenza;
|
||||||
private boolean mFlagShowCodForn;
|
private boolean mFlagShowCodForn;
|
||||||
private int barcodeScannerIstanceID = -1;
|
private int barcodeScannerIstanceID = -1;
|
||||||
|
|
||||||
@ -105,11 +111,12 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
|
|||||||
|
|
||||||
|
|
||||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||||
boolean enableGiacenza = !SettingsManager.iDB().isFlagSpedizioneEnableFakeGiacenza();
|
mEnableGiacenza = !SettingsManager.iDB().isFlagSpedizioneEnableFakeGiacenza();
|
||||||
boolean enableCheckPartitaMag = SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV();
|
boolean enableCheckPartitaMag = SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV();
|
||||||
|
boolean canOverflowOrderQuantity = SettingsManager.iDB().isFlagCanAddExtraQuantitySpedizione();
|
||||||
|
|
||||||
if(enableGiacenza) mCurrentProgress = UtilityProgress.createDefaultProgressDialog(this);
|
if (mEnableGiacenza) mCurrentProgress = UtilityProgress.createDefaultProgressDialog(this);
|
||||||
mViewmodel.loadDataset(codMdep, enableGiacenza, enableCheckPartitaMag, mSitArtOrd, mTestateOrdini);
|
mViewmodel.init(codMdep, mEnableGiacenza, enableCheckPartitaMag, mSitArtOrd, mTestateOrdini, canOverflowOrderQuantity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -177,12 +184,12 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
|
|||||||
|
|
||||||
boolean anyLUPresent = x.getMtbColts() != null && x.getMtbColts().size() > 0;
|
boolean anyLUPresent = x.getMtbColts() != null && x.getMtbColts().size() > 0;
|
||||||
|
|
||||||
spedizioneListModel.setActive(anyLUPresent);
|
spedizioneListModel.setActive(!mEnableGiacenza || anyLUPresent);
|
||||||
|
|
||||||
if (!anyLUPresent) {
|
if (!anyLUPresent) {
|
||||||
spedizioneListModel.setGroupTitle(getString(R.string.picking_not_available));
|
spedizioneListModel.setGroupTitle(mEnableGiacenza ? getString(R.string.picking_not_available) : "");
|
||||||
|
|
||||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().getFlagQtaCnfFissaBoolean())) {
|
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||||
spedizioneListModel.setUntMis("col");
|
spedizioneListModel.setUntMis("col");
|
||||||
spedizioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfOrd());
|
spedizioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfOrd());
|
||||||
} else {
|
} else {
|
||||||
@ -208,7 +215,7 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
|
|||||||
|
|
||||||
cloneModel.setSubDescrizione2(String.format(getString(R.string.lu_number_data_text), mtbColtToPick.getNumCollo(), UtilityDate.formatDate(mtbColtToPick.getDataColloD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)));
|
cloneModel.setSubDescrizione2(String.format(getString(R.string.lu_number_data_text), mtbColtToPick.getNumCollo(), UtilityDate.formatDate(mtbColtToPick.getDataColloD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)));
|
||||||
|
|
||||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().getFlagQtaCnfFissaBoolean())) {
|
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||||
cloneModel.setUntMis("col");
|
cloneModel.setUntMis("col");
|
||||||
cloneModel.setQtaTot(mtbColrToDispatch != null ? mtbColrToDispatch.getNumCnf() : x.getSitArtOrdDTO().getNumCnfOrd());
|
cloneModel.setQtaTot(mtbColrToDispatch != null ? mtbColrToDispatch.getNumCnf() : x.getSitArtOrdDTO().getNumCnfOrd());
|
||||||
} else {
|
} else {
|
||||||
@ -273,6 +280,27 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
|
|||||||
}, BarcodeManager::enable).show();
|
}, BarcodeManager::enable).show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void startCameraBarcode() {
|
||||||
|
List<BarcodeFormat> availableBarcodeFormats = new ArrayList<>();
|
||||||
|
availableBarcodeFormats.add(BarcodeFormat.QR_CODE);
|
||||||
|
availableBarcodeFormats.add(BarcodeFormat.CODE_128);
|
||||||
|
availableBarcodeFormats.add(BarcodeFormat.UPC_E);
|
||||||
|
availableBarcodeFormats.add(BarcodeFormat.CODABAR);
|
||||||
|
availableBarcodeFormats.add(BarcodeFormat.EAN_8);
|
||||||
|
availableBarcodeFormats.add(BarcodeFormat.EAN_13);
|
||||||
|
availableBarcodeFormats.add(BarcodeFormat.ITF);
|
||||||
|
availableBarcodeFormats.add(BarcodeFormat.UPC_A);
|
||||||
|
|
||||||
|
BarcodeBottomSheet bbs = BarcodeBottomSheet.Companion.show(
|
||||||
|
getSupportFragmentManager(),
|
||||||
|
availableBarcodeFormats,
|
||||||
|
false,
|
||||||
|
"tag"
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void removeListFilter() {
|
public void removeListFilter() {
|
||||||
this.mViewmodel.resetMatchedRows();
|
this.mViewmodel.resetMatchedRows();
|
||||||
}
|
}
|
||||||
@ -303,7 +331,6 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
|
|||||||
@Override
|
@Override
|
||||||
public void onLUCreated(MtbColt mtbColt) {
|
public void onLUCreated(MtbColt mtbColt) {
|
||||||
noLUPresent.set(false);
|
noLUPresent.set(false);
|
||||||
|
|
||||||
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
|
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -331,19 +358,44 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onItemDispatched(MtbAart mtbAart, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable) {
|
public void onItemDispatched(MtbAart mtbAart,
|
||||||
|
BigDecimal totalQtaOrd,
|
||||||
|
BigDecimal totalNumCnfOrd,
|
||||||
|
BigDecimal qtaCnfOrd,
|
||||||
|
BigDecimal totalQtaToBeTaken,
|
||||||
|
BigDecimal totalNumCnfToBeTaken,
|
||||||
|
BigDecimal qtaCnfToBeTaken,
|
||||||
|
BigDecimal totalQtaAvailable,
|
||||||
|
BigDecimal totalNumCnfAvailable,
|
||||||
|
BigDecimal qtaCnfAvailable,
|
||||||
|
boolean canOverflowOrderQuantity) {
|
||||||
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
|
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
|
||||||
.setMtbAart(mtbAart)
|
.setMtbAart(mtbAart)
|
||||||
.setTotalQtaOrd(totalQtaOrd)
|
.setTotalQtaOrd(totalQtaOrd)
|
||||||
.setTotalNumCnfOrd(totalNumCnfOrd)
|
.setTotalNumCnfOrd(totalNumCnfOrd)
|
||||||
|
.setQtaCnfOrd(qtaCnfOrd)
|
||||||
.setTotalQtaToBeTaken(totalQtaToBeTaken)
|
.setTotalQtaToBeTaken(totalQtaToBeTaken)
|
||||||
.setTotalNumCnfToBeTaken(totalNumCnfToBeTaken)
|
.setTotalNumCnfToBeTaken(totalNumCnfToBeTaken)
|
||||||
.setQtaCnfToBeTaken(qtaCnfToBeTaken)
|
.setQtaCnfToBeTaken(qtaCnfToBeTaken)
|
||||||
.setTotalQtaAvailable(totalQtaAvailable)
|
.setTotalQtaAvailable(totalQtaAvailable)
|
||||||
.setTotalNumCnfAvailable(totalNumCnfAvailable);
|
.setTotalNumCnfAvailable(totalNumCnfAvailable)
|
||||||
|
.setQtaCnfAvailable(qtaCnfAvailable)
|
||||||
|
.setCanOverflowOrderQuantity(canOverflowOrderQuantity);
|
||||||
|
|
||||||
DialogInputQuantityV2
|
DialogInputQuantityV2
|
||||||
.newInstance(dialogInputQuantityV2DTO)
|
.newInstance(dialogInputQuantityV2DTO)
|
||||||
.show(getSupportFragmentManager(), "tag");
|
.show(getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onBarcodeResult(@NotNull Result result) {
|
||||||
|
String a = "";
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBarcodeScanCancelled() {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -25,6 +25,7 @@ import it.integry.integrywmsnative.core.model.MtbAart;
|
|||||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
||||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||||
@ -48,7 +49,6 @@ import it.integry.integrywmsnative.gest.spedizione_new.exceptions.ScannedPositio
|
|||||||
import it.integry.integrywmsnative.gest.spedizione_new.model.PickDataDTO;
|
import it.integry.integrywmsnative.gest.spedizione_new.model.PickDataDTO;
|
||||||
import it.integry.integrywmsnative.gest.spedizione_new.model.PickingObjectDTO;
|
import it.integry.integrywmsnative.gest.spedizione_new.model.PickingObjectDTO;
|
||||||
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
|
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
|
||||||
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
|
|
||||||
|
|
||||||
public class SpedizioneViewModel {
|
public class SpedizioneViewModel {
|
||||||
|
|
||||||
@ -69,6 +69,7 @@ public class SpedizioneViewModel {
|
|||||||
|
|
||||||
private boolean mEnableGiacenza;
|
private boolean mEnableGiacenza;
|
||||||
private boolean mEnableCheckPartitaMag;
|
private boolean mEnableCheckPartitaMag;
|
||||||
|
private boolean mCanOverflowOrderQuantity;
|
||||||
|
|
||||||
private MtbColt mCurrentMtbColt = null;
|
private MtbColt mCurrentMtbColt = null;
|
||||||
|
|
||||||
@ -83,11 +84,12 @@ public class SpedizioneViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void loadDataset(String codMdep, boolean enableGiacenza, boolean enableCheckPartitaMag, List<SitArtOrdDTO> pickingList, List<OrdineVenditaInevasoDTO> testateOrdini) {
|
public void init(String codMdep, boolean enableGiacenza, boolean enableCheckPartitaMag, List<SitArtOrdDTO> pickingList, List<OrdineVenditaInevasoDTO> testateOrdini, boolean canOverflowOrderQuantity) {
|
||||||
this.mDefaultCodMdep = codMdep;
|
this.mDefaultCodMdep = codMdep;
|
||||||
this.mTestateOrdini = testateOrdini;
|
this.mTestateOrdini = testateOrdini;
|
||||||
this.mEnableGiacenza = enableGiacenza;
|
this.mEnableGiacenza = enableGiacenza;
|
||||||
this.mEnableCheckPartitaMag = enableCheckPartitaMag;
|
this.mEnableCheckPartitaMag = enableCheckPartitaMag;
|
||||||
|
this.mCanOverflowOrderQuantity = canOverflowOrderQuantity;
|
||||||
|
|
||||||
if (enableGiacenza) {
|
if (enableGiacenza) {
|
||||||
mOrdiniRestConsumerService.getSuggestedPickingList(this.mDefaultCodMdep, pickingList, pickingObjectList -> {
|
mOrdiniRestConsumerService.getSuggestedPickingList(this.mDefaultCodMdep, pickingList, pickingObjectList -> {
|
||||||
@ -253,9 +255,19 @@ public class SpedizioneViewModel {
|
|||||||
for (Listeners listener : mListeners) listener.onFilterRemoved();
|
for (Listeners listener : mListeners) listener.onFilterRemoved();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendOnItemDispatched(MtbAart mtbAart, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable) {
|
private void sendOnItemDispatched(MtbAart mtbAart,
|
||||||
|
BigDecimal totalQtaOrd,
|
||||||
|
BigDecimal totalNumCnfOrd,
|
||||||
|
BigDecimal qtaCnfOrd,
|
||||||
|
BigDecimal totalQtaToBeTaken,
|
||||||
|
BigDecimal totalNumCnfToBeTaken,
|
||||||
|
BigDecimal qtaCnfToBeTaken,
|
||||||
|
BigDecimal totalQtaAvailable,
|
||||||
|
BigDecimal totalNumCnfAvailable,
|
||||||
|
BigDecimal qtaCnfAvailable,
|
||||||
|
boolean canOverflowOrderQuantity) {
|
||||||
for (Listeners listener : mListeners)
|
for (Listeners listener : mListeners)
|
||||||
listener.onItemDispatched(mtbAart, totalQtaOrd, totalNumCnfOrd, totalQtaToBeTaken, totalNumCnfToBeTaken, qtaCnfToBeTaken, totalQtaAvailable, totalNumCnfAvailable);
|
listener.onItemDispatched(mtbAart, totalQtaOrd, totalNumCnfOrd, qtaCnfOrd, totalQtaToBeTaken, totalNumCnfToBeTaken, qtaCnfToBeTaken, totalQtaAvailable, totalNumCnfAvailable, qtaCnfAvailable, canOverflowOrderQuantity);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
||||||
@ -405,16 +417,12 @@ public class SpedizioneViewModel {
|
|||||||
if (!UtilityString.isNullOrEmpty(ean128Model.Sscc)) {
|
if (!UtilityString.isNullOrEmpty(ean128Model.Sscc)) {
|
||||||
this.executeEtichettaLU(ean128Model.Sscc, onComplete);
|
this.executeEtichettaLU(ean128Model.Sscc, onComplete);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
if (barcodeProd.startsWith("0") || barcodeProd.startsWith("9")) {
|
if (barcodeProd.startsWith("0") || barcodeProd.startsWith("9")) {
|
||||||
barcodeProd = barcodeProd.substring(1);
|
barcodeProd = barcodeProd.substring(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.loadArticolo(barcodeProd, PickingObjectDTOOld.PickData.fromEan128(ean128Model), onComplete);
|
this.loadArticolo(barcodeProd, PickDataDTO.fromEan128(ean128Model), onComplete);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
//EAN 128 non completo o comunque mancano i riferimenti al prodotto
|
//EAN 128 non completo o comunque mancano i riferimenti al prodotto
|
||||||
onComplete.run();
|
onComplete.run();
|
||||||
@ -427,13 +435,13 @@ public class SpedizioneViewModel {
|
|||||||
try {
|
try {
|
||||||
Ean13PesoModel ean13PesoModel = Ean13PesoModel.fromBarcode(barcodeScanDTO.getStringValue());
|
Ean13PesoModel ean13PesoModel = Ean13PesoModel.fromBarcode(barcodeScanDTO.getStringValue());
|
||||||
|
|
||||||
this.loadArticolo(ean13PesoModel.getPrecode(), PickingObjectDTOOld.PickData.fromEan128(ean13PesoModel.toEan128()), onComplete);
|
this.loadArticolo(ean13PesoModel.getPrecode(), PickDataDTO.fromEan128(ean13PesoModel.toEan128()), onComplete);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
this.sendError(ex);
|
this.sendError(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loadArticolo(String barcodeProd, PickingObjectDTOOld.PickData pickData, Runnable onComplete) {
|
private void loadArticolo(String barcodeProd, PickDataDTO pickData, Runnable onComplete) {
|
||||||
if (barcodeProd.length() == 14) {
|
if (barcodeProd.length() == 14) {
|
||||||
barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd);
|
barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd);
|
||||||
}
|
}
|
||||||
@ -447,8 +455,6 @@ public class SpedizioneViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void searchArtFromUL(MtbColt scannedUL, Runnable onComplete) {
|
private void searchArtFromUL(MtbColt scannedUL, Runnable onComplete) {
|
||||||
@ -517,29 +523,22 @@ public class SpedizioneViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void searchArtFromAnag(MtbAart mtbAart, PickingObjectDTOOld.PickData pickData, Runnable onComplete) {
|
private void searchArtFromAnag(MtbAart mtbAart, PickDataDTO pickData, Runnable onComplete) {
|
||||||
|
|
||||||
final List<PickingObjectDTO> pickingList = mPickingList.getValue();
|
final List<PickingObjectDTO> pickingList = mPickingList.getValue();
|
||||||
|
|
||||||
// List<PickingObjectDTO> matchPickingObject = Stream.of(pickingList)
|
List<PickingObjectDTO> matchPickingObject = Stream.of(pickingList)
|
||||||
// .filter(x -> x.getNumCollo() == null &&
|
.filter(x -> UtilityString.equalsIgnoreCase(mtbAart.getCodMart(), x.getSitArtOrdDTO().getCodMart()))
|
||||||
// (mtbAart.getCodMart().equalsIgnoreCase(x.getCodMart())))
|
.filter(x -> {
|
||||||
// .toList();
|
MtbPartitaMag mtbPartitaMag = pickData != null && pickData.getManualPickDTO() != null && pickData.getManualPickDTO().getMtbPartitaMag() != null ? pickData.getManualPickDTO().getMtbPartitaMag() : null;
|
||||||
//
|
return !mEnableCheckPartitaMag || (mtbPartitaMag != null && UtilityString.equalsIgnoreCase(x.getSitArtOrdDTO().getPartitaMag(), mtbPartitaMag.getPartitaMag()));
|
||||||
//
|
})
|
||||||
// if (SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) {
|
.toList();
|
||||||
// matchPickingObject = Stream.of(matchPickingObject)
|
|
||||||
// .filter(x -> x.getCodMart().equalsIgnoreCase(mtbAart.getCodMart()) &&
|
|
||||||
// (pickData != null && pickData.getMtbPartitaMag() != null && Objects.equals(x.getPartitaMag(), pickData.getMtbPartitaMag().getPartitaMag()))).toList();
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if (matchPickingObject.size() == 1) {
|
|
||||||
// matchPickingObject.get(0).setTempPickData(pickData);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// this.loadMatchedRows(matchPickingObject);
|
|
||||||
|
|
||||||
|
for(PickingObjectDTO pickingObjectDTO : matchPickingObject) {
|
||||||
|
pickingObjectDTO.setTempPickData(pickData);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.loadMatchedRows(matchPickingObject);
|
||||||
onComplete.run();
|
onComplete.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -547,6 +546,8 @@ public class SpedizioneViewModel {
|
|||||||
private void loadMatchedRows(List<PickingObjectDTO> matchedRows) {
|
private void loadMatchedRows(List<PickingObjectDTO> matchedRows) {
|
||||||
if (matchedRows == null || matchedRows.size() == 0) {
|
if (matchedRows == null || matchedRows.size() == 0) {
|
||||||
this.sendError(new NoArtsFoundException());
|
this.sendError(new NoArtsFoundException());
|
||||||
|
} else if (matchedRows.size() == 1) {
|
||||||
|
this.dispatchOrdineRow(matchedRows.get(0));
|
||||||
} else {
|
} else {
|
||||||
List<PickingObjectDTO> pickingList = mPickingList.getValue();
|
List<PickingObjectDTO> pickingList = mPickingList.getValue();
|
||||||
|
|
||||||
@ -559,38 +560,6 @@ public class SpedizioneViewModel {
|
|||||||
this.sendFilterApplied(null);
|
this.sendFilterApplied(null);
|
||||||
this.getPickingList().postValue(pickingList);
|
this.getPickingList().postValue(pickingList);
|
||||||
|
|
||||||
// if (matchedRows.size() == 1) {
|
|
||||||
//
|
|
||||||
// if (matchedRows.get(0).getTempPickData() != null &&
|
|
||||||
// matchedRows.get(0).getTempPickData().getSourceMtbColt() != null) {
|
|
||||||
//
|
|
||||||
//// MtbColt tempSourceMtbColt = matchedRows.get(0).getTempPickData().getSourceMtbColt();
|
|
||||||
//
|
|
||||||
//// if (tempSourceMtbColt.getGestione().equals(matchedRows.get(0).getGestione()) &&
|
|
||||||
//// tempSourceMtbColt.getNumCollo() == matchedRows.get(0).getNumCollo() &&
|
|
||||||
//// tempSourceMtbColt.getSerCollo().equals(matchedRows.get(0).getSerCollo()) &&
|
|
||||||
//// tempSourceMtbColt.getDataColloS().equals(matchedRows.get(0).getDataColloS())) {
|
|
||||||
//
|
|
||||||
// dispatchOrdineRow(matchedRows.get(0));
|
|
||||||
//// } else {
|
|
||||||
//// //Se sto pickando da una UL diversa da quella suggerita allora non te la apro in
|
|
||||||
//// //automatico ma ti mostro il filtro
|
|
||||||
//// applyFilter("");
|
|
||||||
//// refreshOrderBy(false);
|
|
||||||
//// }
|
|
||||||
//
|
|
||||||
// } else if (matchedRows.get(0).isDeactivated()) {
|
|
||||||
// this.sendFilterChanged("");
|
|
||||||
//// applyFilter("");
|
|
||||||
//// refreshOrderBy(false);
|
|
||||||
// } else {
|
|
||||||
// dispatchOrdineRow(matchedRows.get(0));
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// this.sendFilterChanged("");
|
|
||||||
//// applyFilter("");
|
|
||||||
//// refreshOrderBy(false);
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -599,6 +568,7 @@ public class SpedizioneViewModel {
|
|||||||
|
|
||||||
BigDecimal totalQtaOrd = pickingObjectDTO.getSitArtOrdDTO().getQtaOrd();
|
BigDecimal totalQtaOrd = pickingObjectDTO.getSitArtOrdDTO().getQtaOrd();
|
||||||
BigDecimal totalNumCnfOrd = pickingObjectDTO.getSitArtOrdDTO().getNumCnfOrd();
|
BigDecimal totalNumCnfOrd = pickingObjectDTO.getSitArtOrdDTO().getNumCnfOrd();
|
||||||
|
BigDecimal qtaCnfOrd = pickingObjectDTO.getSitArtOrdDTO().getQtaCnfOrd();
|
||||||
|
|
||||||
AtomicBigDecimal numCnfWithdrawRows = new AtomicBigDecimal();
|
AtomicBigDecimal numCnfWithdrawRows = new AtomicBigDecimal();
|
||||||
AtomicBigDecimal qtaColWithdrawRows = new AtomicBigDecimal();
|
AtomicBigDecimal qtaColWithdrawRows = new AtomicBigDecimal();
|
||||||
@ -609,6 +579,9 @@ public class SpedizioneViewModel {
|
|||||||
qtaColWithdrawRows.addAndGet(row.getQtaCol());
|
qtaColWithdrawRows.addAndGet(row.getQtaCol());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
BigDecimal numCnfDaEvadere = pickingObjectDTO.getSitArtOrdDTO().getNumCnfOrd().subtract(numCnfWithdrawRows.getBigDecimalValue());
|
||||||
|
BigDecimal qtaDaEvadere = pickingObjectDTO.getSitArtOrdDTO().getQtaOrd().subtract(qtaColWithdrawRows.getBigDecimalValue());
|
||||||
|
BigDecimal qtaCnfDaEvadere = qtaCnfOrd;
|
||||||
|
|
||||||
BigDecimal numCnfDaPrelevare = null;
|
BigDecimal numCnfDaPrelevare = null;
|
||||||
BigDecimal qtaColDaPrelevare = null;
|
BigDecimal qtaColDaPrelevare = null;
|
||||||
@ -617,21 +590,32 @@ public class SpedizioneViewModel {
|
|||||||
|
|
||||||
BigDecimal totalQtaAvailable = null;
|
BigDecimal totalQtaAvailable = null;
|
||||||
BigDecimal totalNumCnfAvailable = null;
|
BigDecimal totalNumCnfAvailable = null;
|
||||||
|
BigDecimal qtaCnfAvailable = null;
|
||||||
|
|
||||||
|
|
||||||
|
//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 mtbColrToDispatch = 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 (mtbColrToDispatch != null) {
|
||||||
numCnfDaPrelevare = pickingObjectDTO.getSitArtOrdDTO().getNumCnfOrd().subtract(numCnfWithdrawRows.getBigDecimalValue());
|
if(UtilityBigDecimal.lowerThan(mtbColrToDispatch.getQtaCol(), qtaDaEvadere)) {
|
||||||
qtaColDaPrelevare = pickingObjectDTO.getSitArtOrdDTO().getQtaOrd().subtract(qtaColWithdrawRows.getBigDecimalValue());
|
numCnfDaPrelevare = mtbColrToDispatch.getNumCnf();
|
||||||
// qtaCnfDaPrelevare = mtbColrToDispatch.getQtaCnfCollo();
|
qtaColDaPrelevare = mtbColrToDispatch.getQtaCol();
|
||||||
|
qtaCnfDaPrelevare = mtbColrToDispatch.getQtaCnf();
|
||||||
|
} else {
|
||||||
|
numCnfDaPrelevare = numCnfDaEvadere;
|
||||||
|
qtaColDaPrelevare = qtaDaEvadere;
|
||||||
|
qtaCnfDaPrelevare = qtaCnfDaEvadere;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
totalQtaAvailable = mtbColrToDispatch.getQtaCol();
|
totalQtaAvailable = mtbColrToDispatch.getQtaCol();
|
||||||
totalNumCnfAvailable = mtbColrToDispatch.getNumCnf();
|
totalNumCnfAvailable = mtbColrToDispatch.getNumCnf();
|
||||||
|
qtaCnfAvailable = mtbColrToDispatch.getQtaCnf();
|
||||||
|
|
||||||
|
|
||||||
if (UtilityBigDecimal.lowerThan(numCnfDaPrelevare, BigDecimal.ZERO))
|
if (UtilityBigDecimal.lowerThan(numCnfDaPrelevare, BigDecimal.ZERO))
|
||||||
@ -640,9 +624,20 @@ public class SpedizioneViewModel {
|
|||||||
if (UtilityBigDecimal.lowerThan(qtaColDaPrelevare, BigDecimal.ZERO))
|
if (UtilityBigDecimal.lowerThan(qtaColDaPrelevare, BigDecimal.ZERO))
|
||||||
qtaColDaPrelevare = BigDecimal.ZERO;
|
qtaColDaPrelevare = BigDecimal.ZERO;
|
||||||
|
|
||||||
}
|
} //Oppure le info del barcode scansionato
|
||||||
|
|
||||||
this.sendOnItemDispatched(pickingObjectDTO.getMtbAart(), totalQtaOrd, totalNumCnfOrd, qtaColDaPrelevare, numCnfDaPrelevare, qtaCnfDaPrelevare, totalQtaAvailable, totalNumCnfAvailable);
|
this.sendOnItemDispatched(
|
||||||
|
pickingObjectDTO.getMtbAart(),
|
||||||
|
totalQtaOrd,
|
||||||
|
totalNumCnfOrd,
|
||||||
|
qtaCnfOrd,
|
||||||
|
qtaColDaPrelevare,
|
||||||
|
numCnfDaPrelevare,
|
||||||
|
qtaCnfDaPrelevare,
|
||||||
|
totalQtaAvailable,
|
||||||
|
totalNumCnfAvailable,
|
||||||
|
qtaCnfAvailable,
|
||||||
|
mCanOverflowOrderQuantity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -667,16 +662,13 @@ public class SpedizioneViewModel {
|
|||||||
mtbColt.generaFiltroOrdineFromDTO(mDefaultFiltroOrdine);
|
mtbColt.generaFiltroOrdineFromDTO(mDefaultFiltroOrdine);
|
||||||
|
|
||||||
ColliMagazzinoRESTConsumer.saveCollo(mtbColt, value -> {
|
ColliMagazzinoRESTConsumer.saveCollo(mtbColt, value -> {
|
||||||
|
|
||||||
mtbColt
|
mtbColt
|
||||||
.setNumCollo(value.getNumCollo())
|
.setNumCollo(value.getNumCollo())
|
||||||
.setDataCollo(value.getDataColloS())
|
.setDataCollo(value.getDataColloS())
|
||||||
.setMtbColr(new ObservableArrayList<>());
|
.setMtbColr(new ObservableArrayList<>());
|
||||||
|
|
||||||
|
|
||||||
this.mCurrentMtbColt = mtbColt;
|
this.mCurrentMtbColt = mtbColt;
|
||||||
|
|
||||||
|
|
||||||
mMtbColtSessionID = this.mColliDataRecoverService.startNewSession(mtbColt, mTestateOrdini);
|
mMtbColtSessionID = this.mColliDataRecoverService.startNewSession(mtbColt, mTestateOrdini);
|
||||||
|
|
||||||
if (onComplete != null) onComplete.run();
|
if (onComplete != null) onComplete.run();
|
||||||
@ -718,7 +710,17 @@ public class SpedizioneViewModel {
|
|||||||
|
|
||||||
void onError(Exception ex);
|
void onError(Exception ex);
|
||||||
|
|
||||||
void onItemDispatched(MtbAart mtbAart, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable);
|
void onItemDispatched(MtbAart mtbAart,
|
||||||
|
BigDecimal totalQtaOrd,
|
||||||
|
BigDecimal totalNumCnfOrd,
|
||||||
|
BigDecimal qtaCnfOrd,
|
||||||
|
BigDecimal totalQtaToBeTaken,
|
||||||
|
BigDecimal totalNumCnfToBeTaken,
|
||||||
|
BigDecimal qtaCnfToBeTaken,
|
||||||
|
BigDecimal totalQtaAvailable,
|
||||||
|
BigDecimal totalNumCnfAvailable,
|
||||||
|
BigDecimal qtaCnfAvailable,
|
||||||
|
boolean canOverflowOrderQuantity);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,10 +1,17 @@
|
|||||||
package it.integry.integrywmsnative.gest.spedizione_new.model;
|
package it.integry.integrywmsnative.gest.spedizione_new.model;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
|
|
||||||
public class PickDataDTO {
|
public class PickDataDTO {
|
||||||
|
|
||||||
private MtbColt sourceMtbColt;
|
private MtbColt sourceMtbColt;
|
||||||
|
private ManualPickDTO manualPickDTO;
|
||||||
|
|
||||||
public MtbColt getSourceMtbColt() {
|
public MtbColt getSourceMtbColt() {
|
||||||
return sourceMtbColt;
|
return sourceMtbColt;
|
||||||
@ -14,4 +21,87 @@ public class PickDataDTO {
|
|||||||
this.sourceMtbColt = sourceMtbColt;
|
this.sourceMtbColt = sourceMtbColt;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ManualPickDTO getManualPickDTO() {
|
||||||
|
return manualPickDTO;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PickDataDTO setManualPickDTO(ManualPickDTO manualPickDTO) {
|
||||||
|
this.manualPickDTO = manualPickDTO;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static PickDataDTO fromEan128(Ean128Model ean128Model) {
|
||||||
|
if (ean128Model == null) return null;
|
||||||
|
|
||||||
|
PickDataDTO pickDataDTO = new PickDataDTO();
|
||||||
|
ManualPickDTO manualPickDTO = new ManualPickDTO();
|
||||||
|
pickDataDTO.setManualPickDTO(manualPickDTO);
|
||||||
|
|
||||||
|
String partitaMag = ean128Model.BatchLot;
|
||||||
|
String dataScad = !UtilityString.isNullOrEmpty(ean128Model.BestBefore) ? ean128Model.BestBefore : ean128Model.Expiry;
|
||||||
|
|
||||||
|
if (!UtilityString.isNullOrEmpty(partitaMag)) {
|
||||||
|
MtbPartitaMag mtbPartitaMag = new MtbPartitaMag()
|
||||||
|
.setPartitaMag(partitaMag)
|
||||||
|
.setDataScad(UtilityDate.recognizeDateWithExceptionHandler(dataScad));
|
||||||
|
|
||||||
|
manualPickDTO.setMtbPartitaMag(mtbPartitaMag);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ean128Model.Count != null && ean128Model.Count > 0) {
|
||||||
|
manualPickDTO.setNumCnf(new BigDecimal(ean128Model.Count));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ean128Model.NetWeightKg != null && ean128Model.NetWeightKg > 0) {
|
||||||
|
manualPickDTO.setQtaTot(new BigDecimal(ean128Model.NetWeightKg));
|
||||||
|
manualPickDTO.setEanPeso(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
return pickDataDTO;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class ManualPickDTO {
|
||||||
|
|
||||||
|
private MtbPartitaMag mtbPartitaMag;
|
||||||
|
private BigDecimal numCnf;
|
||||||
|
private BigDecimal qtaTot;
|
||||||
|
private boolean eanPeso;
|
||||||
|
|
||||||
|
public MtbPartitaMag getMtbPartitaMag() {
|
||||||
|
return mtbPartitaMag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ManualPickDTO setMtbPartitaMag(MtbPartitaMag mtbPartitaMag) {
|
||||||
|
this.mtbPartitaMag = mtbPartitaMag;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getNumCnf() {
|
||||||
|
return numCnf;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ManualPickDTO setNumCnf(BigDecimal numCnf) {
|
||||||
|
this.numCnf = numCnf;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaTot() {
|
||||||
|
return qtaTot;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ManualPickDTO setQtaTot(BigDecimal qtaTot) {
|
||||||
|
this.qtaTot = qtaTot;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isEanPeso() {
|
||||||
|
return eanPeso;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ManualPickDTO setEanPeso(boolean eanPeso) {
|
||||||
|
this.eanPeso = eanPeso;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,7 +49,7 @@ public class ArticoliInColloBottomSheetMtbColrAdapter extends BaseAdapter {
|
|||||||
binding.setMtbColr(mtbColr);
|
binding.setMtbColr(mtbColr);
|
||||||
|
|
||||||
//Setting qty with unt_mis
|
//Setting qty with unt_mis
|
||||||
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())){
|
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())){
|
||||||
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -149,7 +149,7 @@ public class ArticoliInColloBottomSheetViewModel {
|
|||||||
|
|
||||||
//Setting qty with unt_mis
|
//Setting qty with unt_mis
|
||||||
if(clickedItem.getMtbAart() != null) {
|
if(clickedItem.getMtbAart() != null) {
|
||||||
if (clickedItem.getMtbAart().getFlagQtaCnfFissaBoolean()) {
|
if (clickedItem.getMtbAart().isFlagQtaCnfFissaBoolean()) {
|
||||||
mBindings.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getQtaCol()) + (!UtilityString.isNullOrEmpty(clickedItem.getMtbAart().getUntMis()) ? ("" + clickedItem.getMtbAart().getUntMis()) : ""));
|
mBindings.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getQtaCol()) + (!UtilityString.isNullOrEmpty(clickedItem.getMtbAart().getUntMis()) ? ("" + clickedItem.getMtbAart().getUntMis()) : ""));
|
||||||
} else {
|
} else {
|
||||||
mBindings.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getNumCnf()) + " " + mContext.getString(R.string.unt_mis_col));
|
mBindings.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getNumCnf()) + " " + mContext.getString(R.string.unt_mis_col));
|
||||||
|
|||||||
@ -57,7 +57,7 @@ public class DialogBasketLU_Page2_ListAdapter extends RecyclerView.Adapter<Dialo
|
|||||||
holder.bind(mtbColr);
|
holder.bind(mtbColr);
|
||||||
|
|
||||||
//Setting qty with unt_mis
|
//Setting qty with unt_mis
|
||||||
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())){
|
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())){
|
||||||
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
||||||
|
|
||||||
if(mtbColr.getMtbAart() != null) {
|
if(mtbColr.getMtbAart() != null) {
|
||||||
|
|||||||
@ -77,7 +77,7 @@ public class DialogChooseArtsFromListaArtsAdapter extends RecyclerView.Adapter<D
|
|||||||
MtbColr mtbColr = checkableMtbColr.getItem().getMtbColr();
|
MtbColr mtbColr = checkableMtbColr.getItem().getMtbColr();
|
||||||
|
|
||||||
//Setting qty with unt_mis
|
//Setting qty with unt_mis
|
||||||
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().getFlagQtaCnfFissaBoolean())){
|
if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())){
|
||||||
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -346,7 +346,7 @@ public class DialogInputQuantity {
|
|||||||
|
|
||||||
quantityDTO.qtaCnf.set(dto.mtbAart.getQtaCnf().floatValue());
|
quantityDTO.qtaCnf.set(dto.mtbAart.getQtaCnf().floatValue());
|
||||||
|
|
||||||
if(dto.getMtbAart().getFlagQtaCnfFissaBoolean()) {
|
if(dto.getMtbAart().isFlagQtaCnfFissaBoolean()) {
|
||||||
quantityDTO.blockedQtaPerCnf.set(true);
|
quantityDTO.blockedQtaPerCnf.set(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,7 @@
|
|||||||
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
|
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
|
||||||
|
|
||||||
import android.app.Dialog;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.text.InputType;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@ -15,14 +14,11 @@ import androidx.fragment.app.DialogFragment;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbUntMis;
|
||||||
import it.integry.integrywmsnative.databinding.DialogInputQuantityV2Binding;
|
import it.integry.integrywmsnative.databinding.DialogInputQuantityV2Binding;
|
||||||
|
|
||||||
public class DialogInputQuantityV2 extends DialogFragment {
|
public class DialogInputQuantityV2 extends DialogFragment {
|
||||||
|
|
||||||
|
|
||||||
private Dialog mDialog;
|
|
||||||
private Context mContext;
|
|
||||||
|
|
||||||
private DialogInputQuantityV2ViewModel mViewModel;
|
private DialogInputQuantityV2ViewModel mViewModel;
|
||||||
private DialogInputQuantityV2DTO mDialogInputQuantityV2DTO;
|
private DialogInputQuantityV2DTO mDialogInputQuantityV2DTO;
|
||||||
|
|
||||||
@ -47,22 +43,33 @@ public class DialogInputQuantityV2 extends DialogFragment {
|
|||||||
|
|
||||||
bindings.toolbar.setTitle("Inserimento articolo");
|
bindings.toolbar.setTitle("Inserimento articolo");
|
||||||
|
|
||||||
this.mViewModel = new DialogInputQuantityV2ViewModel();
|
this.mViewModel = new DialogInputQuantityV2ViewModel()
|
||||||
|
.setMtbAart(mDialogInputQuantityV2DTO.getMtbAart())
|
||||||
|
.setTotalNumCnfOrd(mDialogInputQuantityV2DTO.getTotalNumCnfOrd())
|
||||||
|
.setTotalQtaOrd(mDialogInputQuantityV2DTO.getTotalQtaOrd())
|
||||||
|
.setQtaCnfOrd(mDialogInputQuantityV2DTO.getQtaCnfOrd())
|
||||||
|
.setTotalNumCnfToBeTaken(mDialogInputQuantityV2DTO.getTotalNumCnfToBeTaken())
|
||||||
|
.setTotalQtaToBeTaken(mDialogInputQuantityV2DTO.getTotalQtaToBeTaken())
|
||||||
|
.setQtaCnfToBeTaken(mDialogInputQuantityV2DTO.getQtaCnfToBeTaken())
|
||||||
|
.setTotalNumCnfAvailable(mDialogInputQuantityV2DTO.getTotalNumCnfAvailable())
|
||||||
|
.setTotalQtaAvailable(mDialogInputQuantityV2DTO.getTotalQtaAvailable())
|
||||||
|
.setCanOverflowOrderQuantity(mDialogInputQuantityV2DTO.isCanOverflowOrderQuantity())
|
||||||
|
.setQtaCnfAvailable(mDialogInputQuantityV2DTO.getQtaCnfAvailable());
|
||||||
|
|
||||||
this.mViewModel.setMtbAart(mDialogInputQuantityV2DTO.getMtbAart());
|
|
||||||
this.mViewModel.setTotalNumCnfOrd(mDialogInputQuantityV2DTO.getTotalNumCnfOrd());
|
|
||||||
this.mViewModel.setTotalQtaOrd(mDialogInputQuantityV2DTO.getTotalQtaOrd());
|
|
||||||
this.mViewModel.setTotalNumCnfToBeTaken(mDialogInputQuantityV2DTO.getTotalNumCnfToBeTaken());
|
|
||||||
this.mViewModel.setTotalQtaToBeTaken(mDialogInputQuantityV2DTO.getTotalQtaToBeTaken());
|
|
||||||
this.mViewModel.setQtaCnfToBeTaken(mDialogInputQuantityV2DTO.getQtaCnfToBeTaken());
|
|
||||||
this.mViewModel.setTotalNumCnfAvailable(mDialogInputQuantityV2DTO.getTotalNumCnfAvailable());
|
|
||||||
this.mViewModel.setTotalQtaAvailable(mDialogInputQuantityV2DTO.getTotalQtaAvailable());
|
|
||||||
|
|
||||||
this.mViewModel.init();
|
|
||||||
|
|
||||||
bindings.setViewmodel(this.mViewModel);
|
bindings.setViewmodel(this.mViewModel);
|
||||||
|
|
||||||
|
MtbUntMis mtbUntMis = mDialogInputQuantityV2DTO.getMtbAart().getMtbUntMis() != null && mDialogInputQuantityV2DTO.getMtbAart().getMtbUntMis().size() > 0 ? mDialogInputQuantityV2DTO.getMtbAart().getMtbUntMis().get(0) : null;
|
||||||
|
if(!(mtbUntMis != null && mtbUntMis.isFlagDig())) {
|
||||||
|
bindings.inputQtaTotText.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_NUMBER_FLAG_DECIMAL);
|
||||||
|
}
|
||||||
|
|
||||||
return bindings.getRoot();
|
return bindings.getRoot();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onStart() {
|
||||||
|
super.onStart();
|
||||||
|
this.mViewModel.init();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,7 @@ public class DialogInputQuantityV2DTO {
|
|||||||
|
|
||||||
private BigDecimal totalQtaOrd;
|
private BigDecimal totalQtaOrd;
|
||||||
private BigDecimal totalNumCnfOrd;
|
private BigDecimal totalNumCnfOrd;
|
||||||
|
private BigDecimal qtaCnfOrd;
|
||||||
|
|
||||||
private BigDecimal totalQtaToBeTaken;
|
private BigDecimal totalQtaToBeTaken;
|
||||||
private BigDecimal totalNumCnfToBeTaken;
|
private BigDecimal totalNumCnfToBeTaken;
|
||||||
@ -17,6 +18,9 @@ public class DialogInputQuantityV2DTO {
|
|||||||
|
|
||||||
private BigDecimal totalQtaAvailable;
|
private BigDecimal totalQtaAvailable;
|
||||||
private BigDecimal totalNumCnfAvailable;
|
private BigDecimal totalNumCnfAvailable;
|
||||||
|
private BigDecimal qtaCnfAvailable;
|
||||||
|
|
||||||
|
private boolean canOverflowOrderQuantity;
|
||||||
|
|
||||||
public MtbAart getMtbAart() {
|
public MtbAart getMtbAart() {
|
||||||
return mtbAart;
|
return mtbAart;
|
||||||
@ -45,6 +49,15 @@ public class DialogInputQuantityV2DTO {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaCnfOrd() {
|
||||||
|
return qtaCnfOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInputQuantityV2DTO setQtaCnfOrd(BigDecimal qtaCnfOrd) {
|
||||||
|
this.qtaCnfOrd = qtaCnfOrd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public BigDecimal getTotalQtaToBeTaken() {
|
public BigDecimal getTotalQtaToBeTaken() {
|
||||||
return totalQtaToBeTaken;
|
return totalQtaToBeTaken;
|
||||||
}
|
}
|
||||||
@ -89,4 +102,22 @@ public class DialogInputQuantityV2DTO {
|
|||||||
this.totalNumCnfAvailable = totalNumCnfAvailable;
|
this.totalNumCnfAvailable = totalNumCnfAvailable;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaCnfAvailable() {
|
||||||
|
return qtaCnfAvailable;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInputQuantityV2DTO setQtaCnfAvailable(BigDecimal qtaCnfAvailable) {
|
||||||
|
this.qtaCnfAvailable = qtaCnfAvailable;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isCanOverflowOrderQuantity() {
|
||||||
|
return canOverflowOrderQuantity;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInputQuantityV2DTO setCanOverflowOrderQuantity(boolean canOverflowOrderQuantity) {
|
||||||
|
this.canOverflowOrderQuantity = canOverflowOrderQuantity;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
|
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
|
||||||
|
|
||||||
import androidx.databinding.Observable;
|
|
||||||
import androidx.databinding.ObservableField;
|
import androidx.databinding.ObservableField;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityObservable;
|
import it.integry.integrywmsnative.core.utility.UtilityObservable;
|
||||||
|
|
||||||
public class DialogInputQuantityV2ViewModel {
|
public class DialogInputQuantityV2ViewModel {
|
||||||
@ -14,6 +14,7 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
|
|
||||||
public BigDecimal totalQtaOrd;
|
public BigDecimal totalQtaOrd;
|
||||||
public BigDecimal totalNumCnfOrd;
|
public BigDecimal totalNumCnfOrd;
|
||||||
|
public BigDecimal qtaCnfOrd;
|
||||||
|
|
||||||
public BigDecimal totalQtaToBeTaken;
|
public BigDecimal totalQtaToBeTaken;
|
||||||
public BigDecimal totalNumCnfToBeTaken;
|
public BigDecimal totalNumCnfToBeTaken;
|
||||||
@ -21,11 +22,13 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
|
|
||||||
public BigDecimal totalQtaAvailable;
|
public BigDecimal totalQtaAvailable;
|
||||||
public BigDecimal totalNumCnfAvailable;
|
public BigDecimal totalNumCnfAvailable;
|
||||||
|
public BigDecimal qtaCnfAvailable;
|
||||||
|
|
||||||
public ObservableField<BigDecimal> currentNumCnf = new ObservableField<>();
|
public ObservableField<BigDecimal> currentNumCnf = new ObservableField<>();
|
||||||
public ObservableField<BigDecimal> currentQtaCnf = new ObservableField<>();
|
public ObservableField<BigDecimal> currentQtaCnf = new ObservableField<>();
|
||||||
public ObservableField<BigDecimal> currentQtaTot = new ObservableField<>();
|
public ObservableField<BigDecimal> currentQtaTot = new ObservableField<>();
|
||||||
|
|
||||||
|
private boolean canOverflowOrderQuantity;
|
||||||
|
|
||||||
|
|
||||||
public void init() {
|
public void init() {
|
||||||
@ -39,13 +42,16 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
|
|
||||||
this.currentQtaTot.set(totalQtaToBeTaken != null ? totalQtaToBeTaken : this.mtbAart.get().getQtaCnf());
|
this.currentQtaTot.set(totalQtaToBeTaken != null ? totalQtaToBeTaken : this.mtbAart.get().getQtaCnf());
|
||||||
UtilityObservable.addPropertyChanged(this.currentQtaTot, this::onCurrentQtaTotChanged);
|
UtilityObservable.addPropertyChanged(this.currentQtaTot, this::onCurrentQtaTotChanged);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void setMtbAart(MtbAart mtbAart) {
|
public DialogInputQuantityV2ViewModel setMtbAart(MtbAart mtbAart) {
|
||||||
this.mtbAart.set(mtbAart);
|
this.mtbAart.set(mtbAart);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DialogInputQuantityV2ViewModel setTotalQtaOrd(BigDecimal totalQtaOrd) {
|
public DialogInputQuantityV2ViewModel setTotalQtaOrd(BigDecimal totalQtaOrd) {
|
||||||
@ -58,6 +64,11 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public DialogInputQuantityV2ViewModel setQtaCnfOrd(BigDecimal qtaCnfOrd) {
|
||||||
|
this.qtaCnfOrd = qtaCnfOrd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public DialogInputQuantityV2ViewModel setTotalQtaToBeTaken(BigDecimal totalQtaToBeTaken) {
|
public DialogInputQuantityV2ViewModel setTotalQtaToBeTaken(BigDecimal totalQtaToBeTaken) {
|
||||||
this.totalQtaToBeTaken = totalQtaToBeTaken;
|
this.totalQtaToBeTaken = totalQtaToBeTaken;
|
||||||
return this;
|
return this;
|
||||||
@ -83,11 +94,25 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public DialogInputQuantityV2ViewModel setQtaCnfAvailable(BigDecimal qtaCnfAvailable) {
|
||||||
|
this.qtaCnfAvailable = qtaCnfAvailable;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInputQuantityV2ViewModel setCanOverflowOrderQuantity(boolean canOverflowOrderQuantity) {
|
||||||
|
this.canOverflowOrderQuantity = canOverflowOrderQuantity;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void onCurrentNumCnfChanged(BigDecimal newValue) {
|
private void onCurrentNumCnfChanged(BigDecimal newValue) {
|
||||||
String a = "";
|
if(newValue == null) return;
|
||||||
|
|
||||||
|
if(UtilityBigDecimal.greaterThan(newValue, totalNumCnfAvailable)) newValue = totalNumCnfAvailable;
|
||||||
|
this.currentQtaTot.set(newValue.multiply(this.currentQtaCnf.get()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onCurrentQtaCnfChanged(BigDecimal newValue) {
|
private void onCurrentQtaCnfChanged(BigDecimal newValue) {
|
||||||
@ -95,6 +120,35 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void onCurrentQtaTotChanged(BigDecimal newValue) {
|
private void onCurrentQtaTotChanged(BigDecimal newValue) {
|
||||||
String a = "";
|
if(newValue == null) return;
|
||||||
|
|
||||||
|
newValue = UtilityBigDecimal.getLowerBetween(newValue, totalNumCnfAvailable);
|
||||||
|
|
||||||
|
//Se è piu' grande della qta da prelevare e non posso aggiungere qta extra allora ricalcolo
|
||||||
|
if(UtilityBigDecimal.greaterThan(newValue, totalQtaOrd) && !canOverflowOrderQuantity) {
|
||||||
|
|
||||||
|
if(mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
||||||
|
//Ricalcolo num cnf
|
||||||
|
|
||||||
|
} else {
|
||||||
|
//Ricalcolo qta cnf
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if(mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
||||||
|
//Ricalcolo num cnf
|
||||||
|
} else {
|
||||||
|
//Ricalcolo qta cnf
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// private BigDecimal retrieveCorrectQtaCnf() {
|
||||||
|
// if(UtilityBigDecimal.greaterThan(totalNumCnfAvailable, BigDecimal.ZERO) && UtilityBigDecimal.greaterThan(totalQtaAvailable, BigDecimal.ZERO)) {
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|||||||
12
app/src/main/res/drawable/ic_photo_camera_black_24dp.xml
Normal file
12
app/src/main/res/drawable/ic_photo_camera_black_24dp.xml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24.0"
|
||||||
|
android:viewportHeight="24.0">
|
||||||
|
<path
|
||||||
|
android:fillColor="#FF000000"
|
||||||
|
android:pathData="M12,12m-3.2,0a3.2,3.2 0,1 1,6.4 0a3.2,3.2 0,1 1,-6.4 0"/>
|
||||||
|
<path
|
||||||
|
android:fillColor="#FF000000"
|
||||||
|
android:pathData="M9,2L7.17,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2h-3.17L15,2L9,2zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5z"/>
|
||||||
|
</vector>
|
||||||
@ -73,6 +73,19 @@
|
|||||||
android:tint="@color/colorPrimaryGray"
|
android:tint="@color/colorPrimaryGray"
|
||||||
android:visibility="@{BuildConfig.DEBUG ? View.VISIBLE : View.GONE}"/>
|
android:visibility="@{BuildConfig.DEBUG ? View.VISIBLE : View.GONE}"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageButton
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:layout_gravity="end"
|
||||||
|
android:background="@drawable/ripple_effect"
|
||||||
|
android:adjustViewBounds="true"
|
||||||
|
android:src="@drawable/ic_photo_camera_black_24dp"
|
||||||
|
android:onClick="@{() -> spedizioneView.startCameraBarcode()}"
|
||||||
|
android:tint="@color/colorPrimaryGray"
|
||||||
|
android:visibility="@{BuildConfig.DEBUG ? View.VISIBLE : View.GONE}"/>
|
||||||
|
|
||||||
</androidx.appcompat.widget.Toolbar>
|
</androidx.appcompat.widget.Toolbar>
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|||||||
@ -382,6 +382,7 @@
|
|||||||
<com.google.android.material.textfield.TextInputEditText
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
android:id="@+id/input_num_cnf_text"
|
android:id="@+id/input_num_cnf_text"
|
||||||
style="@style/TextInputEditText.OutlinePrimary"
|
style="@style/TextInputEditText.OutlinePrimary"
|
||||||
|
app:binding="@{viewmodel.currentNumCnf}"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:hint="@string/num_pcks"
|
android:hint="@string/num_pcks"
|
||||||
@ -404,7 +405,7 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:hint="@string/qty_x_pck"
|
android:hint="@string/qty_x_pck"
|
||||||
android:inputType="number"
|
android:inputType="numberDecimal"
|
||||||
app:binding="@{viewmodel.currentQtaCnf}" />
|
app:binding="@{viewmodel.currentQtaCnf}" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
@ -420,10 +421,11 @@
|
|||||||
<com.google.android.material.textfield.TextInputEditText
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
android:id="@+id/input_qta_tot_text"
|
android:id="@+id/input_qta_tot_text"
|
||||||
style="@style/TextInputEditText.OutlinePrimary"
|
style="@style/TextInputEditText.OutlinePrimary"
|
||||||
|
app:binding="@{viewmodel.currentQtaTot}"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:hint="@string/tot_qty"
|
android:hint="@string/tot_qty"
|
||||||
android:inputType="number" />
|
android:inputType="numberDecimal" />
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user