diff --git a/app/build.gradle b/app/build.gradle index 2bbc9ecd..e9a55006 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 308 - def appVersionName = '1.29.4' + def appVersionCode = 309 + def appVersionName = '1.29.5' signingConfigs { release { @@ -83,6 +83,7 @@ android { lint { abortOnError false } + namespace 'it.integry.integrywmsnative' } @@ -106,21 +107,25 @@ dependencies { implementation 'com.google.android.gms:play-services-basement:18.1.0' - implementation 'androidx.appcompat:appcompat:1.4.1' + implementation 'androidx.appcompat:appcompat:1.5.1' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'com.google.android.material:material:1.6.1' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.recyclerview:recyclerview:1.2.1' - implementation 'androidx.preference:preference-ktx:1.2.0' + + implementation('androidx.preference:preference-ktx:1.2.0') { + exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel' + exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx' + } + implementation "androidx.slidingpanelayout:slidingpanelayout:1.2.0" implementation 'com.squareup.okhttp3:okhttp:4.9.1' implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation 'com.annimon:stream:1.2.2' implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1' - implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' - implementation 'androidx.lifecycle:lifecycle-common-java8:2.5.1' +// implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' implementation 'org.apache.commons:commons-text:1.9' //MVVM diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 72c1b25c..38e73666 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,6 +1,5 @@ - + diff --git a/app/src/main/java/it/integry/integrywmsnative/MainApplicationModule.java b/app/src/main/java/it/integry/integrywmsnative/MainApplicationModule.java index 130336d4..33a0d4a4 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainApplicationModule.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainApplicationModule.java @@ -17,6 +17,7 @@ import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.CommessaRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.DepositoRESTConsumer; +import it.integry.integrywmsnative.core.rest.consumers.DocumentiRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.EntityRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.GiacenzaRESTConsumer; @@ -207,4 +208,10 @@ public class MainApplicationModule { return new ProductionLinesRESTConsumer(); } + @Provides + @Singleton + DocumentiRESTConsumer provideDocumentiRESTConsumer() { + return new DocumentiRESTConsumer(); + } + } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java index 3492a787..c0123045 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseActivity.java @@ -49,7 +49,7 @@ public class BaseActivity extends AppCompatActivity { public void onError(Exception ex) { this.runOnUiThread(() -> { this.closeProgress(); - UtilityExceptions.defaultException(this, ex, mCurrentProgress); + UtilityExceptions.defaultException(this, ex); BarcodeManager.enable(); }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseFragment.java b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseFragment.java index a6f5dd6a..b3ac95dc 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseFragment.java @@ -84,7 +84,7 @@ public abstract class BaseFragment extends Fragment { public void onError(Exception ex) { requireActivity().runOnUiThread(() -> { this.closeProgress(); - UtilityExceptions.defaultException(getActivity(), ex, mCurrentProgress); + UtilityExceptions.defaultException(getActivity(), ex); BarcodeManager.enable(); }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/DtbDoct.java b/app/src/main/java/it/integry/integrywmsnative/core/model/DtbDoct.java new file mode 100644 index 00000000..238ce134 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/DtbDoct.java @@ -0,0 +1,1142 @@ +package it.integry.integrywmsnative.core.model; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +public class DtbDoct { + + public static final String ENTITY = "dtb_doct"; + + private String codAnag; + private String codDtip; + private Date dataDoc; + private Integer numDoc; + private String serDoc; + private BigDecimal acconto; + private String activityId; + private String annotazioni; + private String aspettoBeni; + private BigDecimal cambio; + private String causaleTrasp; + private String codAbi; + private String codAuto; + private String codBanc; + private String codBancAzi; + private String codCab; + private String codDivi; + private String codDtipVal; + private String codFornTd; + private String codJcom; + private String codJfas; + private String codMdep; + private String codPaga; + private String codProd; + private String codVage; + private String codVage2; + private String codVdes; + private String codVvet; + private String codVvet2; + private String codVzon; + private String compilatoDa; + private String userName; + private String controllatoDa; + private Date dataChkDoc; + private Date dataDocVal; + private Date dataInizTrasp; + private Date dataIns; + private Date dataOrd; + private Date dataReg; + private Date dataRifScad; + private Date dataUltMod; + private String descrizionePaga; + private String flagPrzScontati; + private String gestione; + private Integer kmPercorsi; + private String listino; + private String mezzo; + private String modificatoDa; + private BigDecimal nettoMerce; + private Integer numCmov; + private String numColli; + private Integer numDocVal; + private Integer numOrd; + private String numVettura; + private String oraInizTrasp; + private String partitaMag; + private String peso; + private String porto; + private String previstaFat; + private BigDecimal qtaProd; + private BigDecimal rapConvProd; + private String rifOrd; + private BigDecimal sconto1; + private BigDecimal sconto2; + private BigDecimal sconto3; + private BigDecimal sconto4; + private String serDocVal; + private String termCons; + private String tipoAnag; + private BigDecimal totImponib; + private BigDecimal totIva; + private BigDecimal totMerce; + private BigDecimal totOmaggi; + private BigDecimal totProvvig; + private String untMisProd; + private String idViaggio; + private String numDocForn; + private String generaMovCont; + private String targa; + private Integer postiPallet; + private BigDecimal tempMedia; + private Date dataCons; + private BigDecimal nolo; + private BigDecimal nolo2; + private String conducente; + private String iban; + private String mrn; + private String explodeKit; + private String flagPrzIva; + private String flagCheckPlafond; + private String tipoEmissione; + private String setDataDecorrenza2DataRic; + private BigDecimal totSpese; + private String chkArtListino; + private Date dataCmov; + private String reso; + private Integer numCmovAutofattura; + private Object dtbTipi; + private Object vtbClie; + private List jrlSchmacDoc; + private List arlSchaccDoc; + private List dtbDocr; + private List dtbDocs; + private List mtbColt; + private List drlDocAttached; + private List dtbDocCarat; + private List ctbScad; + private Object ctbMovt; + private List ctbMovi; + private List costi; + private List ntbDoct; + private List dtbDoctBolle; + private Object dtbInum; + + + public String getCodAnag() { + return codAnag; + } + + public DtbDoct setCodAnag(String codAnag) { + this.codAnag = codAnag; + return this; + } + + public String getCodDtip() { + return codDtip; + } + + public DtbDoct setCodDtip(String codDtip) { + this.codDtip = codDtip; + return this; + } + + public Date getDataDoc() { + return dataDoc; + } + + public DtbDoct setDataDoc(Date dataDoc) { + this.dataDoc = dataDoc; + return this; + } + + public Integer getNumDoc() { + return numDoc; + } + + public DtbDoct setNumDoc(Integer numDoc) { + this.numDoc = numDoc; + return this; + } + + public String getSerDoc() { + return serDoc; + } + + public DtbDoct setSerDoc(String serDoc) { + this.serDoc = serDoc; + return this; + } + + public BigDecimal getAcconto() { + return acconto; + } + + public DtbDoct setAcconto(BigDecimal acconto) { + this.acconto = acconto; + return this; + } + + public String getActivityId() { + return activityId; + } + + public DtbDoct setActivityId(String activityId) { + this.activityId = activityId; + return this; + } + + public String getAnnotazioni() { + return annotazioni; + } + + public DtbDoct setAnnotazioni(String annotazioni) { + this.annotazioni = annotazioni; + return this; + } + + public String getAspettoBeni() { + return aspettoBeni; + } + + public DtbDoct setAspettoBeni(String aspettoBeni) { + this.aspettoBeni = aspettoBeni; + return this; + } + + public BigDecimal getCambio() { + return cambio; + } + + public DtbDoct setCambio(BigDecimal cambio) { + this.cambio = cambio; + return this; + } + + public String getCausaleTrasp() { + return causaleTrasp; + } + + public DtbDoct setCausaleTrasp(String causaleTrasp) { + this.causaleTrasp = causaleTrasp; + return this; + } + + public String getCodAbi() { + return codAbi; + } + + public DtbDoct setCodAbi(String codAbi) { + this.codAbi = codAbi; + return this; + } + + public String getCodAuto() { + return codAuto; + } + + public DtbDoct setCodAuto(String codAuto) { + this.codAuto = codAuto; + return this; + } + + public String getCodBanc() { + return codBanc; + } + + public DtbDoct setCodBanc(String codBanc) { + this.codBanc = codBanc; + return this; + } + + public String getCodBancAzi() { + return codBancAzi; + } + + public DtbDoct setCodBancAzi(String codBancAzi) { + this.codBancAzi = codBancAzi; + return this; + } + + public String getCodCab() { + return codCab; + } + + public DtbDoct setCodCab(String codCab) { + this.codCab = codCab; + return this; + } + + public String getCodDivi() { + return codDivi; + } + + public DtbDoct setCodDivi(String codDivi) { + this.codDivi = codDivi; + return this; + } + + public String getCodDtipVal() { + return codDtipVal; + } + + public DtbDoct setCodDtipVal(String codDtipVal) { + this.codDtipVal = codDtipVal; + return this; + } + + public String getCodFornTd() { + return codFornTd; + } + + public DtbDoct setCodFornTd(String codFornTd) { + this.codFornTd = codFornTd; + return this; + } + + public String getCodJcom() { + return codJcom; + } + + public DtbDoct setCodJcom(String codJcom) { + this.codJcom = codJcom; + return this; + } + + public String getCodJfas() { + return codJfas; + } + + public DtbDoct setCodJfas(String codJfas) { + this.codJfas = codJfas; + return this; + } + + public String getCodMdep() { + return codMdep; + } + + public DtbDoct setCodMdep(String codMdep) { + this.codMdep = codMdep; + return this; + } + + public String getCodPaga() { + return codPaga; + } + + public DtbDoct setCodPaga(String codPaga) { + this.codPaga = codPaga; + return this; + } + + public String getCodProd() { + return codProd; + } + + public DtbDoct setCodProd(String codProd) { + this.codProd = codProd; + return this; + } + + public String getCodVage() { + return codVage; + } + + public DtbDoct setCodVage(String codVage) { + this.codVage = codVage; + return this; + } + + public String getCodVage2() { + return codVage2; + } + + public DtbDoct setCodVage2(String codVage2) { + this.codVage2 = codVage2; + return this; + } + + public String getCodVdes() { + return codVdes; + } + + public DtbDoct setCodVdes(String codVdes) { + this.codVdes = codVdes; + return this; + } + + public String getCodVvet() { + return codVvet; + } + + public DtbDoct setCodVvet(String codVvet) { + this.codVvet = codVvet; + return this; + } + + public String getCodVvet2() { + return codVvet2; + } + + public DtbDoct setCodVvet2(String codVvet2) { + this.codVvet2 = codVvet2; + return this; + } + + public String getCodVzon() { + return codVzon; + } + + public DtbDoct setCodVzon(String codVzon) { + this.codVzon = codVzon; + return this; + } + + public String getCompilatoDa() { + return compilatoDa; + } + + public DtbDoct setCompilatoDa(String compilatoDa) { + this.compilatoDa = compilatoDa; + return this; + } + + public String getUserName() { + return userName; + } + + public DtbDoct setUserName(String userName) { + this.userName = userName; + return this; + } + + public String getControllatoDa() { + return controllatoDa; + } + + public DtbDoct setControllatoDa(String controllatoDa) { + this.controllatoDa = controllatoDa; + return this; + } + + public Date getDataChkDoc() { + return dataChkDoc; + } + + public DtbDoct setDataChkDoc(Date dataChkDoc) { + this.dataChkDoc = dataChkDoc; + return this; + } + + public Date getDataDocVal() { + return dataDocVal; + } + + public DtbDoct setDataDocVal(Date dataDocVal) { + this.dataDocVal = dataDocVal; + return this; + } + + public Date getDataInizTrasp() { + return dataInizTrasp; + } + + public DtbDoct setDataInizTrasp(Date dataInizTrasp) { + this.dataInizTrasp = dataInizTrasp; + return this; + } + + public Date getDataIns() { + return dataIns; + } + + public DtbDoct setDataIns(Date dataIns) { + this.dataIns = dataIns; + return this; + } + + public Date getDataOrd() { + return dataOrd; + } + + public DtbDoct setDataOrd(Date dataOrd) { + this.dataOrd = dataOrd; + return this; + } + + public Date getDataReg() { + return dataReg; + } + + public DtbDoct setDataReg(Date dataReg) { + this.dataReg = dataReg; + return this; + } + + public Date getDataRifScad() { + return dataRifScad; + } + + public DtbDoct setDataRifScad(Date dataRifScad) { + this.dataRifScad = dataRifScad; + return this; + } + + public Date getDataUltMod() { + return dataUltMod; + } + + public DtbDoct setDataUltMod(Date dataUltMod) { + this.dataUltMod = dataUltMod; + return this; + } + + public String getDescrizionePaga() { + return descrizionePaga; + } + + public DtbDoct setDescrizionePaga(String descrizionePaga) { + this.descrizionePaga = descrizionePaga; + return this; + } + + public String getFlagPrzScontati() { + return flagPrzScontati; + } + + public DtbDoct setFlagPrzScontati(String flagPrzScontati) { + this.flagPrzScontati = flagPrzScontati; + return this; + } + + public String getGestione() { + return gestione; + } + + public DtbDoct setGestione(String gestione) { + this.gestione = gestione; + return this; + } + + public Integer getKmPercorsi() { + return kmPercorsi; + } + + public DtbDoct setKmPercorsi(Integer kmPercorsi) { + this.kmPercorsi = kmPercorsi; + return this; + } + + public String getListino() { + return listino; + } + + public DtbDoct setListino(String listino) { + this.listino = listino; + return this; + } + + public String getMezzo() { + return mezzo; + } + + public DtbDoct setMezzo(String mezzo) { + this.mezzo = mezzo; + return this; + } + + public String getModificatoDa() { + return modificatoDa; + } + + public DtbDoct setModificatoDa(String modificatoDa) { + this.modificatoDa = modificatoDa; + return this; + } + + public BigDecimal getNettoMerce() { + return nettoMerce; + } + + public DtbDoct setNettoMerce(BigDecimal nettoMerce) { + this.nettoMerce = nettoMerce; + return this; + } + + public Integer getNumCmov() { + return numCmov; + } + + public DtbDoct setNumCmov(Integer numCmov) { + this.numCmov = numCmov; + return this; + } + + public String getNumColli() { + return numColli; + } + + public DtbDoct setNumColli(String numColli) { + this.numColli = numColli; + return this; + } + + public Integer getNumDocVal() { + return numDocVal; + } + + public DtbDoct setNumDocVal(Integer numDocVal) { + this.numDocVal = numDocVal; + return this; + } + + public Integer getNumOrd() { + return numOrd; + } + + public DtbDoct setNumOrd(Integer numOrd) { + this.numOrd = numOrd; + return this; + } + + public String getNumVettura() { + return numVettura; + } + + public DtbDoct setNumVettura(String numVettura) { + this.numVettura = numVettura; + return this; + } + + public String getOraInizTrasp() { + return oraInizTrasp; + } + + public DtbDoct setOraInizTrasp(String oraInizTrasp) { + this.oraInizTrasp = oraInizTrasp; + return this; + } + + public String getPartitaMag() { + return partitaMag; + } + + public DtbDoct setPartitaMag(String partitaMag) { + this.partitaMag = partitaMag; + return this; + } + + public String getPeso() { + return peso; + } + + public DtbDoct setPeso(String peso) { + this.peso = peso; + return this; + } + + public String getPorto() { + return porto; + } + + public DtbDoct setPorto(String porto) { + this.porto = porto; + return this; + } + + public String getPrevistaFat() { + return previstaFat; + } + + public DtbDoct setPrevistaFat(String previstaFat) { + this.previstaFat = previstaFat; + return this; + } + + public BigDecimal getQtaProd() { + return qtaProd; + } + + public DtbDoct setQtaProd(BigDecimal qtaProd) { + this.qtaProd = qtaProd; + return this; + } + + public BigDecimal getRapConvProd() { + return rapConvProd; + } + + public DtbDoct setRapConvProd(BigDecimal rapConvProd) { + this.rapConvProd = rapConvProd; + return this; + } + + public String getRifOrd() { + return rifOrd; + } + + public DtbDoct setRifOrd(String rifOrd) { + this.rifOrd = rifOrd; + return this; + } + + public BigDecimal getSconto1() { + return sconto1; + } + + public DtbDoct setSconto1(BigDecimal sconto1) { + this.sconto1 = sconto1; + return this; + } + + public BigDecimal getSconto2() { + return sconto2; + } + + public DtbDoct setSconto2(BigDecimal sconto2) { + this.sconto2 = sconto2; + return this; + } + + public BigDecimal getSconto3() { + return sconto3; + } + + public DtbDoct setSconto3(BigDecimal sconto3) { + this.sconto3 = sconto3; + return this; + } + + public BigDecimal getSconto4() { + return sconto4; + } + + public DtbDoct setSconto4(BigDecimal sconto4) { + this.sconto4 = sconto4; + return this; + } + + public String getSerDocVal() { + return serDocVal; + } + + public DtbDoct setSerDocVal(String serDocVal) { + this.serDocVal = serDocVal; + return this; + } + + public String getTermCons() { + return termCons; + } + + public DtbDoct setTermCons(String termCons) { + this.termCons = termCons; + return this; + } + + public String getTipoAnag() { + return tipoAnag; + } + + public DtbDoct setTipoAnag(String tipoAnag) { + this.tipoAnag = tipoAnag; + return this; + } + + public BigDecimal getTotImponib() { + return totImponib; + } + + public DtbDoct setTotImponib(BigDecimal totImponib) { + this.totImponib = totImponib; + return this; + } + + public BigDecimal getTotIva() { + return totIva; + } + + public DtbDoct setTotIva(BigDecimal totIva) { + this.totIva = totIva; + return this; + } + + public BigDecimal getTotMerce() { + return totMerce; + } + + public DtbDoct setTotMerce(BigDecimal totMerce) { + this.totMerce = totMerce; + return this; + } + + public BigDecimal getTotOmaggi() { + return totOmaggi; + } + + public DtbDoct setTotOmaggi(BigDecimal totOmaggi) { + this.totOmaggi = totOmaggi; + return this; + } + + public BigDecimal getTotProvvig() { + return totProvvig; + } + + public DtbDoct setTotProvvig(BigDecimal totProvvig) { + this.totProvvig = totProvvig; + return this; + } + + public String getUntMisProd() { + return untMisProd; + } + + public DtbDoct setUntMisProd(String untMisProd) { + this.untMisProd = untMisProd; + return this; + } + + public String getIdViaggio() { + return idViaggio; + } + + public DtbDoct setIdViaggio(String idViaggio) { + this.idViaggio = idViaggio; + return this; + } + + public String getNumDocForn() { + return numDocForn; + } + + public DtbDoct setNumDocForn(String numDocForn) { + this.numDocForn = numDocForn; + return this; + } + + public String getGeneraMovCont() { + return generaMovCont; + } + + public DtbDoct setGeneraMovCont(String generaMovCont) { + this.generaMovCont = generaMovCont; + return this; + } + + public String getTarga() { + return targa; + } + + public DtbDoct setTarga(String targa) { + this.targa = targa; + return this; + } + + public Integer getPostiPallet() { + return postiPallet; + } + + public DtbDoct setPostiPallet(Integer postiPallet) { + this.postiPallet = postiPallet; + return this; + } + + public BigDecimal getTempMedia() { + return tempMedia; + } + + public DtbDoct setTempMedia(BigDecimal tempMedia) { + this.tempMedia = tempMedia; + return this; + } + + public Date getDataCons() { + return dataCons; + } + + public DtbDoct setDataCons(Date dataCons) { + this.dataCons = dataCons; + return this; + } + + public BigDecimal getNolo() { + return nolo; + } + + public DtbDoct setNolo(BigDecimal nolo) { + this.nolo = nolo; + return this; + } + + public BigDecimal getNolo2() { + return nolo2; + } + + public DtbDoct setNolo2(BigDecimal nolo2) { + this.nolo2 = nolo2; + return this; + } + + public String getConducente() { + return conducente; + } + + public DtbDoct setConducente(String conducente) { + this.conducente = conducente; + return this; + } + + public String getIban() { + return iban; + } + + public DtbDoct setIban(String iban) { + this.iban = iban; + return this; + } + + public String getMrn() { + return mrn; + } + + public DtbDoct setMrn(String mrn) { + this.mrn = mrn; + return this; + } + + public String getExplodeKit() { + return explodeKit; + } + + public DtbDoct setExplodeKit(String explodeKit) { + this.explodeKit = explodeKit; + return this; + } + + public String getFlagPrzIva() { + return flagPrzIva; + } + + public DtbDoct setFlagPrzIva(String flagPrzIva) { + this.flagPrzIva = flagPrzIva; + return this; + } + + public String getFlagCheckPlafond() { + return flagCheckPlafond; + } + + public DtbDoct setFlagCheckPlafond(String flagCheckPlafond) { + this.flagCheckPlafond = flagCheckPlafond; + return this; + } + + public String getTipoEmissione() { + return tipoEmissione; + } + + public DtbDoct setTipoEmissione(String tipoEmissione) { + this.tipoEmissione = tipoEmissione; + return this; + } + + public String getSetDataDecorrenza2DataRic() { + return setDataDecorrenza2DataRic; + } + + public DtbDoct setSetDataDecorrenza2DataRic(String setDataDecorrenza2DataRic) { + this.setDataDecorrenza2DataRic = setDataDecorrenza2DataRic; + return this; + } + + public BigDecimal getTotSpese() { + return totSpese; + } + + public DtbDoct setTotSpese(BigDecimal totSpese) { + this.totSpese = totSpese; + return this; + } + + public String getChkArtListino() { + return chkArtListino; + } + + public DtbDoct setChkArtListino(String chkArtListino) { + this.chkArtListino = chkArtListino; + return this; + } + + public Date getDataCmov() { + return dataCmov; + } + + public DtbDoct setDataCmov(Date dataCmov) { + this.dataCmov = dataCmov; + return this; + } + + public String getReso() { + return reso; + } + + public DtbDoct setReso(String reso) { + this.reso = reso; + return this; + } + + public Integer getNumCmovAutofattura() { + return numCmovAutofattura; + } + + public DtbDoct setNumCmovAutofattura(Integer numCmovAutofattura) { + this.numCmovAutofattura = numCmovAutofattura; + return this; + } + + public Object getDtbTipi() { + return dtbTipi; + } + + public DtbDoct setDtbTipi(Object dtbTipi) { + this.dtbTipi = dtbTipi; + return this; + } + + public Object getVtbClie() { + return vtbClie; + } + + public DtbDoct setVtbClie(Object vtbClie) { + this.vtbClie = vtbClie; + return this; + } + + public List getJrlSchmacDoc() { + return jrlSchmacDoc; + } + + public DtbDoct setJrlSchmacDoc(List jrlSchmacDoc) { + this.jrlSchmacDoc = jrlSchmacDoc; + return this; + } + + public List getArlSchaccDoc() { + return arlSchaccDoc; + } + + public DtbDoct setArlSchaccDoc(List arlSchaccDoc) { + this.arlSchaccDoc = arlSchaccDoc; + return this; + } + + public List getDtbDocr() { + return dtbDocr; + } + + public DtbDoct setDtbDocr(List dtbDocr) { + this.dtbDocr = dtbDocr; + return this; + } + + public List getDtbDocs() { + return dtbDocs; + } + + public DtbDoct setDtbDocs(List dtbDocs) { + this.dtbDocs = dtbDocs; + return this; + } + + public List getMtbColt() { + return mtbColt; + } + + public DtbDoct setMtbColt(List mtbColt) { + this.mtbColt = mtbColt; + return this; + } + + public List getDrlDocAttached() { + return drlDocAttached; + } + + public DtbDoct setDrlDocAttached(List drlDocAttached) { + this.drlDocAttached = drlDocAttached; + return this; + } + + public List getDtbDocCarat() { + return dtbDocCarat; + } + + public DtbDoct setDtbDocCarat(List dtbDocCarat) { + this.dtbDocCarat = dtbDocCarat; + return this; + } + + public List getCtbScad() { + return ctbScad; + } + + public DtbDoct setCtbScad(List ctbScad) { + this.ctbScad = ctbScad; + return this; + } + + public Object getCtbMovt() { + return ctbMovt; + } + + public DtbDoct setCtbMovt(Object ctbMovt) { + this.ctbMovt = ctbMovt; + return this; + } + + public List getCtbMovi() { + return ctbMovi; + } + + public DtbDoct setCtbMovi(List ctbMovi) { + this.ctbMovi = ctbMovi; + return this; + } + + public List getCosti() { + return costi; + } + + public DtbDoct setCosti(List costi) { + this.costi = costi; + return this; + } + + public List getNtbDoct() { + return ntbDoct; + } + + public DtbDoct setNtbDoct(List ntbDoct) { + this.ntbDoct = ntbDoct; + return this; + } + + public List getDtbDoctBolle() { + return dtbDoctBolle; + } + + public DtbDoct setDtbDoctBolle(List dtbDoctBolle) { + this.dtbDoctBolle = dtbDoctBolle; + return this; + } + + public Object getDtbInum() { + return dtbInum; + } + + public DtbDoct setDtbInum(Object dtbInum) { + this.dtbInum = dtbInum; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/dto/StatoArticoloDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/model/dto/StatoArticoloDTO.java new file mode 100644 index 00000000..31f5c577 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/dto/StatoArticoloDTO.java @@ -0,0 +1,93 @@ +package it.integry.integrywmsnative.core.model.dto; + +import java.util.Date; + +public class StatoArticoloDTO { + private String codMart; + + private String partitaMag; + + private Date dataScad; + + private Integer ggScadPartita; + + private Integer ggMax; + + private Integer ggScadEffettivi; + + private Integer ggUtili; + + private Integer statoArt; + + public String getCodMart() { + return codMart; + } + + public StatoArticoloDTO setCodMart(String codMart) { + this.codMart = codMart; + return this; + } + + public String getPartitaMag() { + return partitaMag; + } + + public StatoArticoloDTO setPartitaMag(String partitaMag) { + this.partitaMag = partitaMag; + return this; + } + + public Date getDataScad() { + return dataScad; + } + + public StatoArticoloDTO setDataScad(Date dataScad) { + this.dataScad = dataScad; + return this; + } + + public Integer getGgScadPartita() { + return ggScadPartita; + } + + public StatoArticoloDTO setGgScadPartita(Integer ggScadPartita) { + this.ggScadPartita = ggScadPartita; + return this; + } + + public Integer getGgMax() { + return ggMax; + } + + public StatoArticoloDTO setGgMax(Integer ggMax) { + this.ggMax = ggMax; + return this; + } + + public Integer getGgScadEffettivi() { + return ggScadEffettivi; + } + + public StatoArticoloDTO setGgScadEffettivi(Integer ggScadEffettivi) { + this.ggScadEffettivi = ggScadEffettivi; + return this; + } + + public Integer getGgUtili() { + return ggUtili; + } + + public StatoArticoloDTO setGgUtili(Integer ggUtili) { + this.ggUtili = ggUtili; + return this; + } + + public Integer getStatoArt() { + return statoArt; + } + + public StatoArticoloDTO setStatoArt(Integer statoArt) { + this.statoArt = statoArt; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/secondary/StatoPartitaMag.java b/app/src/main/java/it/integry/integrywmsnative/core/model/secondary/StatoPartitaMag.java new file mode 100644 index 00000000..4a6525e1 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/secondary/StatoPartitaMag.java @@ -0,0 +1,26 @@ +package it.integry.integrywmsnative.core.model.secondary; + +public enum StatoPartitaMag { + + IN_SCADENZA(1), + SCADUTO(2), + NON_IN_SCADENZA(3); + + private final int text; + + StatoPartitaMag(int text) { + this.text = text; + } + + public int getText() { + return this.text; + } + + public static StatoPartitaMag from(int text) { + for (StatoPartitaMag b : StatoPartitaMag.values()) { + if (b.text == text) return b; + } + return null; + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java index 7e932711..ff400509 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java @@ -14,6 +14,7 @@ import javax.inject.Singleton; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbGrup; +import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO; import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.utility.UtilityQuery; @@ -32,7 +33,7 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer { public void getByBarcodeProd(String barcodeProd, RunnableArgs> onComplete, RunnableArgs onFailed) { ArticoloRESTConsumerService articoloRESTConsumerService = RESTBuilder.getService(ArticoloRESTConsumerService.class); - articoloRESTConsumerService.getByBarcodeProd(barcodeProd).enqueue(new Callback>() { + articoloRESTConsumerService.getByBarcodeProd(barcodeProd).enqueue(new Callback<>() { @Override public void onResponse(Call> call, Response> response) { analyzeAnswer(response, "getByBarcodeProd", (m) -> { @@ -61,7 +62,7 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer { ArticoloRESTConsumerService articoloRESTConsumer = RESTBuilder.getService(ArticoloRESTConsumerService.class); - articoloRESTConsumer.getByCodMart(joinedCods).enqueue(new Callback>() { + articoloRESTConsumer.getByCodMart(joinedCods).enqueue(new Callback<>() { @Override public void onResponse(Call> call, Response> response) { analyzeAnswer(response, "getByCodMart", (m) -> { @@ -77,11 +78,28 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer { } + public void getStatoPartita(String codMart, String partitaMag, RunnableArgs> onComplete, RunnableArgs onFailed) { + + ArticoloRESTConsumerService articoloRESTConsumer = RESTBuilder.getService(ArticoloRESTConsumerService.class); + articoloRESTConsumer.getStatoPartita(codMart, partitaMag).enqueue(new Callback<>() { + @Override + public void onResponse(Call>> call, Response>> response) { + analyzeAnswer(response, "getStatoPartita", onComplete, onFailed); + } + + @Override + public void onFailure(Call>> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + + } + public void getByCodMart(String codMartToFind, RunnableArgs onComplete, RunnableArgs onFailed) { ArticoloRESTConsumerService articoloRESTConsumer = RESTBuilder.getService(ArticoloRESTConsumerService.class); - articoloRESTConsumer.getByCodMart(codMartToFind).enqueue(new Callback>() { + articoloRESTConsumer.getByCodMart(codMartToFind).enqueue(new Callback<>() { @Override public void onResponse(Call> call, Response> response) { analyzeAnswer(response, "getByCodMart", (m) -> { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumerService.java index adc6cefc..687dbdf7 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumerService.java @@ -1,7 +1,10 @@ package it.integry.integrywmsnative.core.rest.consumers; -import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; +import java.util.List; + import it.integry.integrywmsnative.core.model.MtbAart; +import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO; +import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import retrofit2.Call; import retrofit2.http.GET; import retrofit2.http.POST; @@ -16,4 +19,7 @@ public interface ArticoloRESTConsumerService { @GET("SM2getArticoloByCodMart") Call> getByCodMart(@Query("codMart") String barcodeProd); + @GET("getProductLotStatus") + Call>> getStatoPartita(@Query("codMart") String codMart, @Query("partitaMag") String partitaMag); + } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentiRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentiRESTConsumer.java new file mode 100644 index 00000000..6db6b0d0 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentiRESTConsumer.java @@ -0,0 +1,51 @@ +package it.integry.integrywmsnative.core.rest.consumers; + +import java.util.List; + +import javax.inject.Singleton; + +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.model.DtbDoct; +import it.integry.integrywmsnative.core.rest.RESTBuilder; +import it.integry.integrywmsnative.core.rest.model.LoadColliDTO; +import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; + +@Singleton +public class DocumentiRESTConsumer extends _BaseRESTConsumer { + + + public void createDocsFromColli(List listColli, RunnableArgs> onComplete, RunnableArgs onFailed) { + DocumentiRESTConsumerService documentiRESTConsumerService = RESTBuilder.getService(DocumentiRESTConsumerService.class); + documentiRESTConsumerService.createDocsFromColli(listColli).enqueue(new Callback<>() { + @Override + public void onResponse(Call>> call, Response>> response) { + analyzeAnswer(response, "createDocsFromColli", onComplete, onFailed); + } + + @Override + public void onFailure(Call>> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + } + + public void createDocFromColli(LoadColliDTO loadColliDTO, RunnableArgs onComplete, RunnableArgs onFailed) { + DocumentiRESTConsumerService documentiRESTConsumerService = RESTBuilder.getService(DocumentiRESTConsumerService.class); + documentiRESTConsumerService.createDocFromColli(loadColliDTO).enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "createDocFromColli", onComplete, onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + } + + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentiRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentiRESTConsumerService.java new file mode 100644 index 00000000..5a4d38c5 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentiRESTConsumerService.java @@ -0,0 +1,20 @@ +package it.integry.integrywmsnative.core.rest.consumers; + +import java.util.List; + +import it.integry.integrywmsnative.core.model.DtbDoct; +import it.integry.integrywmsnative.core.rest.model.LoadColliDTO; +import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.POST; + +public interface DocumentiRESTConsumerService { + + @POST("getDatiColliForDocs") + Call>> createDocsFromColli(@Body List listColli); + + @POST("createDocFromColli") + Call> createDocFromColli(@Body LoadColliDTO listColli); + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/LoadColliDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/LoadColliDTO.java new file mode 100644 index 00000000..b3f1cd0c --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/LoadColliDTO.java @@ -0,0 +1,182 @@ +package it.integry.integrywmsnative.core.rest.model; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import it.integry.integrywmsnative.core.model.MtbColt; + +public class LoadColliDTO { + + private String gestione; + private String codDtip; + private String codAnag; + private String codVdes; + private Date dataDoc; + private String serDoc; + private Integer numDoc; + private String codMdep; + private String calcPrz; + private boolean datiOrd; + private Date dataOrd; + private Integer numOrd; + private String flagEvasoForzato; + private Date dataVers; + private String note; + private boolean saveDoc = true; + + private List colli = new ArrayList<>(); + + public String getGestione() { + return gestione; + } + + public LoadColliDTO setGestione(String gestione) { + this.gestione = gestione; + return this; + } + + public String getCodDtip() { + return codDtip; + } + + public LoadColliDTO setCodDtip(String codDtip) { + this.codDtip = codDtip; + return this; + } + + public String getCodAnag() { + return codAnag; + } + + public LoadColliDTO setCodAnag(String codAnag) { + this.codAnag = codAnag; + return this; + } + + public String getCodVdes() { + return codVdes; + } + + public LoadColliDTO setCodVdes(String codVdes) { + this.codVdes = codVdes; + return this; + } + + public Date getDataDoc() { + return dataDoc; + } + + public LoadColliDTO setDataDoc(Date dataDoc) { + this.dataDoc = dataDoc; + return this; + } + + public String getSerDoc() { + return serDoc; + } + + public LoadColliDTO setSerDoc(String serDoc) { + this.serDoc = serDoc; + return this; + } + + public Integer getNumDoc() { + return numDoc; + } + + public LoadColliDTO setNumDoc(Integer numDoc) { + this.numDoc = numDoc; + return this; + } + + public String getCodMdep() { + return codMdep; + } + + public LoadColliDTO setCodMdep(String codMdep) { + this.codMdep = codMdep; + return this; + } + + public String getCalcPrz() { + return calcPrz; + } + + public LoadColliDTO setCalcPrz(String calcPrz) { + this.calcPrz = calcPrz; + return this; + } + + public boolean isDatiOrd() { + return datiOrd; + } + + public LoadColliDTO setDatiOrd(boolean datiOrd) { + this.datiOrd = datiOrd; + return this; + } + + public Date getDataOrd() { + return dataOrd; + } + + public LoadColliDTO setDataOrd(Date dataOrd) { + this.dataOrd = dataOrd; + return this; + } + + public Integer getNumOrd() { + return numOrd; + } + + public LoadColliDTO setNumOrd(Integer numOrd) { + this.numOrd = numOrd; + return this; + } + + public String getFlagEvasoForzato() { + return flagEvasoForzato; + } + + public LoadColliDTO setFlagEvasoForzato(String flagEvasoForzato) { + this.flagEvasoForzato = flagEvasoForzato; + return this; + } + + public Date getDataVers() { + return dataVers; + } + + public LoadColliDTO setDataVers(Date dataVers) { + this.dataVers = dataVers; + return this; + } + + public String getNote() { + return note; + } + + public LoadColliDTO setNote(String note) { + this.note = note; + return this; + } + + public boolean isSaveDoc() { + return saveDoc; + } + + public LoadColliDTO setSaveDoc(boolean saveDoc) { + this.saveDoc = saveDoc; + return this; + } + + public List getColli() { + return colli; + } + + public LoadColliDTO setColli(List colli) { + this.colli = colli; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/OrdineUscitaInevasoDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/OrdineUscitaInevasoDTO.java index 4f3d63a4..b0f71268 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/OrdineUscitaInevasoDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/OrdineUscitaInevasoDTO.java @@ -45,6 +45,8 @@ public class OrdineUscitaInevasoDTO extends OrdineInevasoDTO { private String nomeAgente; private String codJfas; private List availableClassMerc; + private boolean ordTrasf; + public Integer getIdViaggio() { return idViaggio; @@ -56,7 +58,6 @@ public class OrdineUscitaInevasoDTO extends OrdineInevasoDTO { } - public String getListino() { return listino; } @@ -371,6 +372,14 @@ public class OrdineUscitaInevasoDTO extends OrdineInevasoDTO { return this; } + public boolean isOrdTrasf() { + return ordTrasf; + } + + public OrdineUscitaInevasoDTO setOrdTrasf(boolean ordTrasf) { + this.ordTrasf = ordTrasf; + return this; + } @Override public boolean equals(Object o) { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/SitArtOrdDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/SitArtOrdDTO.java index 2c7b0003..3d367c2d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/SitArtOrdDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/SitArtOrdDTO.java @@ -27,6 +27,7 @@ public class SitArtOrdDTO { private String codMsfa; private String descrizioneMsfa; private String untord; + private BigDecimal qtaOmg; private final HashMap extraInfo = new HashMap<>(); @@ -222,4 +223,13 @@ public class SitArtOrdDTO { this.untord = untord; return this; } + + public BigDecimal getQtaOmg() { + return qtaOmg; + } + + public SitArtOrdDTO setQtaOmg(BigDecimal qtaOmg) { + this.qtaOmg = qtaOmg; + return this; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java index 4a0d97c8..8f4f299e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java @@ -50,6 +50,8 @@ public class DBSettingsModel { private boolean flagPickLiberoAllowEmptyDest = false; private boolean flagAskInfoAggiuntiveSpedizione = false; private String filterFornitoreProd; + private String codDtipOrdTrasfV; + private boolean notifyLotStatus = false; public boolean isFlagSpedizioneEnableFakeGiacenza() { return flagSpedizioneEnableFakeGiacenza; @@ -384,4 +386,22 @@ public class DBSettingsModel { this.filterFornitoreProd = filterFornitoreProd; return this; } + + public String getCodDtipOrdTrasfV() { + return codDtipOrdTrasfV; + } + + public DBSettingsModel setCodDtipOrdTrasfV(String codDtipOrdTrasfV) { + this.codDtipOrdTrasfV = codDtipOrdTrasfV; + return this; + } + + public boolean isNotifyLotStatus() { + return notifyLotStatus; + } + + public DBSettingsModel setNotifyLotStatus(boolean notifyLotStatus) { + this.notifyLotStatus = notifyLotStatus; + return this; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java index 2abe5abf..6ad366f1 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java @@ -326,6 +326,14 @@ public class SettingsManager { .setGestName("PICKING") .setSection("SPEDIZIONE") .setKeySection("FLAG_ASK_INFO_AGGIUNTIVE")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SPEDIZIONE") + .setKeySection("COD_DTIP_ORD_TRASF")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SPEDIZIONE") + .setKeySection("FLAG_NOTIFICA_STATO_PARTITA")); String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); GestSetupRESTConsumer.getValues(codMdep, stbGestSetupList, list -> { @@ -357,6 +365,8 @@ public class SettingsManager { dbSettingsModelIstance.setFlagPrintEtichetteOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_CLOSE", Boolean.class)); dbSettingsModelIstance.setFlagAskInfoAggiuntiveSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_ASK_INFO_AGGIUNTIVE", Boolean.class)); dbSettingsModelIstance.setFilterFornitoreProd(getValueFromList(list, "PRODUZIONE", "FILTER_FORNTIORE_PROD", String.class)); + dbSettingsModelIstance.setCodDtipOrdTrasfV(getValueFromList(list, "SPEDIZIONE", "COD_DTIP_ORD_TRASF", String.class)); + dbSettingsModelIstance.setNotifyLotStatus(getValueFromList(list, "SPEDIZIONE", "FLAG_NOTIFICA_STATO_PARTITA", Boolean.class)); String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class); if (notePerdita != null) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/update/UpdatesManager.java b/app/src/main/java/it/integry/integrywmsnative/core/update/UpdatesManager.java index 3ba6afeb..02e7c1e8 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/update/UpdatesManager.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/update/UpdatesManager.java @@ -61,8 +61,8 @@ public class UpdatesManager { String destination = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/"; - var progressDialog = DialogProgressView.newInstance("Download", null, false); - progressDialog.show(mContext.getSupportFragmentManager(), "tag"); + var progressDialogBuilder = new DialogProgressView("Download", null, false); + progressDialogBuilder.show(mContext.getSupportFragmentManager(), "tag"); var fileDownloader = new FileDownloader() @@ -70,13 +70,13 @@ public class UpdatesManager { .setUrlString(downloadURL) .setOnProgressUpdate(progress -> { mContext.runOnUiThread(() -> { - progressDialog.setProgress(progress); + progressDialogBuilder.setProgress(progress); }); }) .setOnDownloadCompleted(destPath -> { mContext.runOnUiThread(() -> { - progressDialog.dismiss(); + progressDialogBuilder.dismiss(); Uri fileLoc; Intent intent; diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java index f26eb245..16151678 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java @@ -15,7 +15,6 @@ import it.integry.integrywmsnative.core.exception.InvalidConnectionException; import it.integry.integrywmsnative.core.exception.InvalidLUException; import it.integry.integrywmsnative.core.exception.InvalidLUGestioneException; import it.integry.integrywmsnative.core.rest.CommonRESTException; -import it.integry.integrywmsnative.view.dialogs.DialogProgressView; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; public class UtilityExceptions { @@ -25,12 +24,6 @@ public class UtilityExceptions { InvalidLUGestioneException.class, InvalidLUException.class }; - - public static void defaultException(Context context, Exception ex, DialogProgressView progressDialog) { - defaultException(context, ex); - if (progressDialog != null && progressDialog.isVisible()) progressDialog.dismiss(); - } - public static void defaultException(Context context, Exception ex) { defaultException(context, ex, false); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityProgress.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityProgress.java index e59ad18b..88197d06 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityProgress.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityProgress.java @@ -7,7 +7,7 @@ import it.integry.integrywmsnative.view.dialogs.DialogProgressView; public class UtilityProgress { public static DialogProgressView createDefaultProgressDialog(FragmentActivity mContext) { - var progress = DialogProgressView.newInstance(); + var progress = DialogProgressView.newInstance(null, null, true); progress.show(mContext.getSupportFragmentManager(), "tag"); return progress; } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java index cf747b03..33ddd09d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java @@ -798,7 +798,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta if (ex instanceof InvalidPesoKGException) { UtilityToast.showToast(ex.getMessage()); } else { - UtilityExceptions.defaultException(this, ex, mCurrentProgress); + UtilityExceptions.defaultException(this, ex); } BarcodeManager.enable(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/main/MainActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/main/MainActivity.java index effe259b..d3e84641 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/main/MainActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/main/MainActivity.java @@ -49,7 +49,7 @@ import it.integry.integrywmsnative.core.utility.UtilityContext; import it.integry.integrywmsnative.databinding.ActivityMainBinding; import it.integry.integrywmsnative.gest.login.LoginActivity; import it.integry.integrywmsnative.gest.settings.MainSettingsFragment; -import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View; +import it.integry.integrywmsnative.view.dialogs.DialogProgressView; public class MainActivity extends BaseActivity implements NavigationView.OnNavigationItemSelectedListener, IPoppableActivity { @@ -71,9 +71,8 @@ public class MainActivity extends BaseActivity @Inject UpdatesManager updatesManager; - @Inject - DialogInputQuantityV2View mDialogInputQuantityV2View; + DialogProgressView mDialogProgressView; @Override protected void onCreate(Bundle savedInstanceState) { @@ -81,6 +80,7 @@ public class MainActivity extends BaseActivity MainApplication.appComponent .mainActivityComponent() + .create() .inject(this); @@ -108,14 +108,6 @@ public class MainActivity extends BaseActivity init(); - -// mDialogInputQuantityV2View -// .setDialogInputQuantityV2DTO(new DialogInputQuantityV2DTO() -// .setMtbAart(new MtbAart() -// .setCodMart("AAAA") -// .setFlagQtaCnfFissa("S"))) -// .show(getSupportFragmentManager(), "tag"); - } private void startLoginActivity() { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java index 135c0c21..dd2d7314 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java @@ -241,18 +241,18 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab private void initGestMenu() { int menuSpanCount = 2; - if(UtilityDimension.getDisplayInchs(this.getActivity()) > 8) menuSpanCount = 4; - else if(UtilityDimension.getDisplayInchs(this.getActivity()) > 6.5) menuSpanCount = 3; + if (UtilityDimension.getDisplayInchs(this.getActivity()) > 8) menuSpanCount = 4; + else if (UtilityDimension.getDisplayInchs(this.getActivity()) > 6.5) menuSpanCount = 3; MenuConfiguration baseMenuConfiguration = new MenuConfiguration(); List menuGroups = baseMenuConfiguration.getGroups(); - for(int i = 0; i < menuGroups.size(); i++) { + for (int i = 0; i < menuGroups.size(); i++) { try { BaseMenuConfiguration.MenuGroup menuGroup = menuGroups.get(i); - if(menuService.isGroupEnabled(menuGroup)) { + if (menuService.isGroupEnabled(menuGroup)) { FragmentMainMenuGroupLayoutBinding groupBinding = DataBindingUtil.inflate(mLayoutInflater, R.layout.fragment_main_menu_group_layout, null, false); @@ -261,8 +261,8 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab List enableMenuItems = new ArrayList<>(); - for(int j = 0; j < menuGroup.getItems().size(); j++) { - if(menuService.isItemEnabled(menuGroup.getItems().get(j))) { + for (int j = 0; j < menuGroup.getItems().size(); j++) { + if (menuService.isItemEnabled(menuGroup.getItems().get(j))) { enableMenuItems.add(menuGroup.getItems().get(j)); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java index 30043550..9f558e1b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java @@ -171,10 +171,10 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme private void initRecyclerView() { mBindings.pickingLiberoMainList.setNestedScrollingEnabled(false); mBindings.pickingLiberoMainList.setHasFixedSize(true); - mBindings.pickingLiberoMainList.setLayoutManager(new LinearLayoutManager(getActivity())); + mBindings.pickingLiberoMainList.setLayoutManager(new LinearLayoutManager(requireActivity())); - SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(getActivity(), SimpleDividerItemDecoration.VERTICAL); - itemDecorator.setDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.divider)); + SimpleDividerItemDecoration itemDecorator = new SimpleDividerItemDecoration(requireActivity(), SimpleDividerItemDecoration.VERTICAL); + itemDecorator.setDrawable(ContextCompat.getDrawable(requireActivity(), R.drawable.divider)); mBindings.pickingLiberoMainList.addItemDecoration(itemDecorator); } @@ -277,7 +277,7 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme if (ex instanceof InvalidPesoKGException) { UtilityToast.showToast(ex.getMessage()); } else { - UtilityExceptions.defaultException(getActivity(), ex, mCurrentProgress); + UtilityExceptions.defaultException(getActivity(), ex); } BarcodeManager.enable(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiActivity.java index e08796cc..075e8628 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiActivity.java @@ -287,7 +287,7 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag if (ex instanceof InvalidPesoKGException) { UtilityToast.showToast(ex.getMessage()); } else { - UtilityExceptions.defaultException(this, ex, mCurrentProgress); + UtilityExceptions.defaultException(this, ex); } BarcodeManager.enable(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java index 1aa73508..60cb2914 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java @@ -63,7 +63,7 @@ import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.Dialo import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View; import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUView; -import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo; +import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNoView; public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFragment, ILifecycleFragment, RettificaGiacenzeViewModel.Listener, BottomSheetMtbColrEditView.Listener { @@ -341,7 +341,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr if (ex instanceof InvalidPesoKGException) { UtilityToast.showToast(ex.getMessage()); } else { - UtilityExceptions.defaultException(requireActivity(), ex, mCurrentProgress); + UtilityExceptions.defaultException(requireActivity(), ex); } } @@ -471,12 +471,12 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr null, R.string.button_ignore_print, onComplete) - .show(getActivity().getSupportFragmentManager(), "tag"); + .show(requireActivity().getSupportFragmentManager(), "tag"); } @Override public void onLUPositionChangeRequest(RunnableArgss onComplete) { - DialogYesNo.make(getActivity(), "Posiziona UL", "Vuoi cambiare la posizione della UL corrente?", result -> { + new DialogYesNoView(null, "Vuoi cambiare la posizione della UL corrente?", result -> { switch (result) { case YES: DialogAskPositionOfLU.makeBase(getActivity(), false, (status, mtbDepoPosizione) -> { @@ -496,7 +496,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr onComplete.run(false, null); break; } - }).show(); + }).show(requireActivity().getSupportFragmentManager(), "tag"); } @Override diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java index 73380d9b..ff9d9ca6 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java @@ -72,13 +72,14 @@ import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPosi import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; +import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArts; import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotView; import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.InfoAggiuntiveLUDialog; -import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPeso; +import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPesoLuView; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View; import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtView; -import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo; +import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNoView; public class SpedizioneActivity extends BaseActivity implements SpedizioneViewModel.Listener, BottomSheetFragmentLUContentViewModel.Listener, BottomSheetFragmentLUContentView.Listener { @@ -196,7 +197,10 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo this.initBarcodeReader(); this.initRecyclerView(); - closeOrderButtonEnabled.set(SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose() || SettingsManager.iDB().isFlagPrintPackingListOnOrderClose()); + closeOrderButtonEnabled.set(SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose() + || SettingsManager.iDB().isFlagPrintPackingListOnOrderClose() + || (this.isOrdTrasf() && !UtilityString.isNullOrEmpty(SettingsManager.iDB().getCodDtipOrdTrasfV())) + ); String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); @@ -220,6 +224,16 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo useQtaOrd); } + private boolean isOrdTrasf() { + + return mTestateOrdini != null && !mTestateOrdini.isEmpty() && Stream.of(mTestateOrdini) + .map(OrdineUscitaInevasoDTO::isOrdTrasf) + .withoutNulls() + .distinctBy(x -> x) + .findFirst() + .get(); + } + @Override public boolean onSupportNavigateUp() { onBackPressed(); @@ -342,6 +356,11 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo spedizioneListModel.setUntMis(x.getMtbAart().getUntMis()); } + BigDecimal qtaOmg = x.getSitArtOrdDTO().getQtaOmg(); + if (qtaOmg != null && qtaOmg.compareTo(BigDecimal.ZERO) > 0) { + spedizioneListModel.setFreeQuantity(String.format(getString(R.string.ord_ven_qta_omaggio), qtaOmg.stripTrailingZeros().toPlainString(), spedizioneListModel.getUntMis())); + } + spedizioneListModel.setOriginalModel(x); spedizioneListModels.add(spedizioneListModel); } else { @@ -703,9 +722,15 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo @Override public void onLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss onComplete) { - DialogInputPeso.make(this, codTcol, netWeightKG, grossWeightKG, (newCodTcol, newNetWeight, newGrossWeight) -> { - onComplete.run(newCodTcol, netWeightKG, grossWeightKG); - }).show(); +// DialogInputPesoView.make(this, codTcol, netWeightKG, grossWeightKG, (newCodTcol, newNetWeight, newGrossWeight) -> { +// onComplete.run(newCodTcol, netWeightKG, grossWeightKG); +// }).show(); + + + new DialogInputPesoLuView(null, new BigDecimal(50), new BigDecimal(55), (newCodTcol, newNetWeight, newGrossWeight) -> { +// onComplete.run(newCodTcol, netWeightKG, grossWeightKG); + }) + .show(getSupportFragmentManager(), "tag"); } @Override @@ -772,25 +797,26 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo } @Override - public void onItemDispatched(PickingObjectDTO pickingObjectDTO, - MtbAart mtbAart, - BigDecimal initialNumCnf, - BigDecimal initialQtaCnf, - BigDecimal initialQtaTot, - BigDecimal totalQtaOrd, - BigDecimal totalNumCnfOrd, - BigDecimal qtaCnfOrd, - BigDecimal totalQtaToBeTaken, - BigDecimal totalNumCnfToBeTaken, - BigDecimal qtaCnfToBeTaken, - BigDecimal totalQtaAvailable, - BigDecimal totalNumCnfAvailable, - BigDecimal qtaCnfAvailable, - String partitaMag, - Date dataScad, - boolean canOverflowOrderQuantity, - boolean canPartitaMagBeChanged, - RunnableArgss onComplete) { + public void onFullItemDispatched(PickingObjectDTO pickingObjectDTO, + MtbAart mtbAart, + BigDecimal initialNumCnf, + BigDecimal initialQtaCnf, + BigDecimal initialQtaTot, + BigDecimal totalQtaOrd, + BigDecimal totalNumCnfOrd, + BigDecimal qtaCnfOrd, + BigDecimal totalQtaToBeTaken, + BigDecimal totalNumCnfToBeTaken, + BigDecimal qtaCnfToBeTaken, + BigDecimal totalQtaAvailable, + BigDecimal totalNumCnfAvailable, + BigDecimal qtaCnfAvailable, + String partitaMag, + Date dataScad, + boolean canOverflowOrderQuantity, + boolean canPartitaMagBeChanged, + RunnableArgss onComplete) { + DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO() .setMtbAart(mtbAart) .setInitialNumCnf(initialNumCnf) @@ -809,7 +835,9 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo .setDataScad(dataScad) .setCanOverflowOrderQuantity(canOverflowOrderQuantity) .setCanLUBeClosed(true) - .setCanPartitaMagBeChanged(canPartitaMagBeChanged); + .setCanPartitaMagBeChanged(canPartitaMagBeChanged) + .setStatoPartitaMag(pickingObjectDTO.getStatoArticoloDTO()) + .setNotifyProductLotStatus(SettingsManager.iDB().isNotifyLotStatus()); if (!mDialogInputQuantityV2View.isVisible()) mDialogInputQuantityV2View @@ -834,7 +862,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo @Override public void onLUPositionChangeRequest(RunnableArgss onComplete) { - DialogYesNo.make(this, "Posiziona UL", "Vuoi cambiare la posizione della UL corrente?", result -> { + new DialogYesNoView(null, "Vuoi cambiare la posizione della UL corrente?", result -> { switch (result) { case YES: DialogAskPositionOfLU.makeBase(this, false, (status, mtbDepoPosizione) -> { @@ -850,7 +878,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo onComplete.run(false, null); break; } - }).show(); + }).show(getSupportFragmentManager(), "tag"); } public void askShouldPrintPackingList(PrintOrderCloseDTO printOrderCloseDTO, RunnableArgs onComplete) { @@ -899,6 +927,18 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo } + @Override + public void onCreateDocsRequest() { + new DialogYesNoView("Chiusura ordine", "Vuoi creare i documenti per gli ordini selezionati?", result -> { + this.mViewmodel.onCreateDocsAnswered(result); + }).show(this.getSupportFragmentManager(), "tag"); + } + + @Override + public void onChooseArtRequest(List artsList, RunnableArgs onComplete) { + DialogChooseArtFromListaArts.make(this, artsList, onComplete).show(); + } + @Override public void onOrderClosed() { this.onLoadingEnded(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneModule.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneModule.java index 8c291afc..307a815c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneModule.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneModule.java @@ -6,6 +6,7 @@ import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; +import it.integry.integrywmsnative.core.rest.consumers.DocumentiRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer; @@ -20,8 +21,8 @@ public class SpedizioneModule { } @Provides - SpedizioneViewModel providesSpedizioneViewModel(ArticoloRESTConsumer articoloRESTConsumer, ColliDataRecoverService colliDataRecoverService, OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, PrinterRESTConsumer printerRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer) { - return new SpedizioneViewModel(articoloRESTConsumer, barcodeRESTConsumer, colliDataRecoverService, ordiniRESTConsumer, colliMagazzinoRESTConsumer, printerRESTConsumer, posizioniRESTConsumer); + SpedizioneViewModel providesSpedizioneViewModel(ArticoloRESTConsumer articoloRESTConsumer, ColliDataRecoverService colliDataRecoverService, OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, PrinterRESTConsumer printerRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer, DocumentiRESTConsumer documentiRESTConsumer) { + return new SpedizioneViewModel(articoloRESTConsumer, barcodeRESTConsumer, colliDataRecoverService, ordiniRESTConsumer, colliMagazzinoRESTConsumer, printerRESTConsumer, posizioniRESTConsumer, documentiRESTConsumer); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java index f6f815d0..5d7af861 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java @@ -23,6 +23,7 @@ import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.class_router.ClassRouter; import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita; import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService; +import it.integry.integrywmsnative.core.exception.EmptyLUException; import it.integry.integrywmsnative.core.exception.InvalidLUException; import it.integry.integrywmsnative.core.exception.NoArtsFoundException; import it.integry.integrywmsnative.core.exception.NoLUFoundException; @@ -45,16 +46,19 @@ import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbPartitaMag; import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.dto.PickDataDTO; +import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.report.ReportType; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; +import it.integry.integrywmsnative.core.rest.consumers.DocumentiRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer; import it.integry.integrywmsnative.core.rest.model.Ean128Model; import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel; +import it.integry.integrywmsnative.core.rest.model.LoadColliDTO; import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO; import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO; import it.integry.integrywmsnative.core.settings.SettingsManager; @@ -70,6 +74,7 @@ import it.integry.integrywmsnative.gest.spedizione.exceptions.OrdersLoadExceptio import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO; import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO; import it.integry.integrywmsnative.gest.spedizione.model.PrintOrderCloseDTO; +import it.integry.integrywmsnative.view.dialogs.DialogConsts; public class SpedizioneViewModel { @@ -98,6 +103,7 @@ public class SpedizioneViewModel { private boolean mIsNewLU; private boolean mEnableQuantityReset; private boolean mUseQtaOrd; + private boolean mIsOrdTrasf = false; private MtbColt mCurrentMtbColt = null; @@ -109,15 +115,10 @@ public class SpedizioneViewModel { private final ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer; private final PrinterRESTConsumer mPrinterRESTConsumer; private final PosizioniRESTConsumer mPosizioneRESTConsumer; + private final DocumentiRESTConsumer mDocumentiRESTConsumer; @Inject - public SpedizioneViewModel(ArticoloRESTConsumer articoloRESTConsumer, - BarcodeRESTConsumer barcodeRESTConsumer, - ColliDataRecoverService colliDataRecoverService, - OrdiniRESTConsumer ordiniRESTConsumer, - ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, - PrinterRESTConsumer printerRESTConsumer, - PosizioniRESTConsumer posizioniRESTConsumer) { + public SpedizioneViewModel(ArticoloRESTConsumer articoloRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, ColliDataRecoverService colliDataRecoverService, OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, PrinterRESTConsumer printerRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer, DocumentiRESTConsumer documentiRESTConsumer) { this.mArticoloRESTConsumer = articoloRESTConsumer; this.mBarcodeRESTConsumer = barcodeRESTConsumer; this.mColliDataRecoverService = colliDataRecoverService; @@ -125,22 +126,11 @@ public class SpedizioneViewModel { this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer; this.mPrinterRESTConsumer = printerRESTConsumer; this.mPosizioneRESTConsumer = posizioniRESTConsumer; + this.mDocumentiRESTConsumer = documentiRESTConsumer; } - public void init(String codMdep, - boolean enableGiacenza, - boolean enableCheckPartitaMag, - boolean shouldAskPesoLU, - boolean canOverflowOrderQuantity, - List pickingList, - List testateOrdini, - List colliRegistrati, - GestioneEnum gestioneCol, - int segnoCol, - Integer defaultCausaleUL, - boolean enableQuantityReset, - boolean useQtaOrd) { + public void init(String codMdep, boolean enableGiacenza, boolean enableCheckPartitaMag, boolean shouldAskPesoLU, boolean canOverflowOrderQuantity, List pickingList, List testateOrdini, List colliRegistrati, GestioneEnum gestioneCol, int segnoCol, Integer defaultCausaleUL, boolean enableQuantityReset, boolean useQtaOrd) { this.sendOnLoadingStarted(); this.mDefaultCodMdep = codMdep; @@ -153,6 +143,7 @@ public class SpedizioneViewModel { this.mDefaultCausaleOfUL = defaultCausaleUL; this.mEnableQuantityReset = enableQuantityReset; this.mUseQtaOrd = useQtaOrd; + this.mIsOrdTrasf = Stream.of(testateOrdini).map(OrdineUscitaInevasoDTO::isOrdTrasf).withoutNulls().distinctBy(x -> x).findFirst().get(); if (enableGiacenza) { mOrdiniRestConsumerService.getSuggestedPickingList(this.mDefaultCodMdep, pickingList, pickingObjectList -> { @@ -174,27 +165,21 @@ public class SpedizioneViewModel { private void getEmptyPickingList(List sitArtOrdList, RunnableArgs> onComplete) { - List codMarts = Stream.of(sitArtOrdList) - .map(x -> x.getCodMart().trim()) - .toList(); + List codMarts = Stream.of(sitArtOrdList).map(x -> x.getCodMart().trim()).toList(); this.mArticoloRESTConsumer.getByCodMarts(codMarts, listMtbAarts -> { - List pickingList = Stream.of(sitArtOrdList) - .map(sitArtOrdDTO -> { - MtbAart mtbAart = null; + List pickingList = Stream.of(sitArtOrdList).map(sitArtOrdDTO -> { + MtbAart mtbAart = null; - for (MtbAart mtbAartItem : listMtbAarts) { - if (mtbAartItem.getCodMart().trim().equalsIgnoreCase(sitArtOrdDTO.getCodMart().trim())) { - mtbAart = mtbAartItem; - break; - } - } + for (MtbAart mtbAartItem : listMtbAarts) { + if (mtbAartItem.getCodMart().trim().equalsIgnoreCase(sitArtOrdDTO.getCodMart().trim())) { + mtbAart = mtbAartItem; + break; + } + } - return new PickingObjectDTO() - .setSitArtOrdDTO(sitArtOrdDTO) - .setMtbAart(mtbAart); - }) - .toList(); + return new PickingObjectDTO().setSitArtOrdDTO(sitArtOrdDTO).setMtbAart(mtbAart); + }).toList(); onComplete.run(pickingList); }, this::sendError); @@ -205,11 +190,7 @@ public class SpedizioneViewModel { if (mDefaultGestioneOfUL == null) { //Definizione della gestione collo di default - List foundGestioni = Stream.of(mTestateOrdini) - .map(OrdineUscitaInevasoDTO::getGestioneEnum) - .withoutNulls() - .distinct() - .toList(); + List foundGestioni = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getGestioneEnum).withoutNulls().distinct().toList(); if (foundGestioni.size() > 1) { return; @@ -222,21 +203,14 @@ public class SpedizioneViewModel { //Definizione del filtro ordine da applicare a tutti i colli generati Stream.of(mTestateOrdini).forEach(x -> { - FiltroOrdineDTO filtro = new FiltroOrdineDTO() - .setDataOrd(x.getDataOrdD()) - .setNumOrd(x.getNumOrd()) - .setGestioneOrd(x.getGestione()) - .setDataCons(x.getDataConsD()); + FiltroOrdineDTO filtro = new FiltroOrdineDTO().setDataOrd(x.getDataOrdD()).setNumOrd(x.getNumOrd()).setGestioneOrd(x.getGestione()).setDataCons(x.getDataConsD()); if (!mDefaultFiltroOrdine.contains(filtro)) mDefaultFiltroOrdine.add(filtro); }); //Definizione del codAnag - List foundCodAnag = Stream.of(mTestateOrdini) - .map(OrdineUscitaInevasoDTO::getCodAnagOrd) - .distinctBy(x -> x) - .toList(); + List foundCodAnag = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getCodAnagOrd).distinctBy(x -> x).toList(); if (foundCodAnag != null && foundCodAnag.size() == 1) { mDefaultCodAnagOfUL = foundCodAnag.get(0); @@ -244,10 +218,7 @@ public class SpedizioneViewModel { //Definizione del codAnag - List foundRagSoc = Stream.of(mTestateOrdini) - .map(OrdineUscitaInevasoDTO::getRagSocOrd) - .distinctBy(x -> x) - .toList(); + List foundRagSoc = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getRagSocOrd).distinctBy(x -> x).toList(); if (foundRagSoc != null && foundRagSoc.size() == 1) { mDefaultRagSocOfUL = foundRagSoc.get(0); @@ -255,10 +226,7 @@ public class SpedizioneViewModel { //Definizione del rifOrd - List foundRifOrd = Stream.of(mTestateOrdini) - .map(OrdineUscitaInevasoDTO::getRifOrd) - .distinctBy(x -> x) - .toList(); + List foundRifOrd = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getRifOrd).distinctBy(x -> x).toList(); if (foundRifOrd != null && foundRifOrd.size() == 1) { mDefaultRifOrdOfUL = foundRifOrd.get(0); @@ -266,11 +234,7 @@ public class SpedizioneViewModel { //Definizione del numOrd - List foundNumOrd = Stream.of(mTestateOrdini) - .map(OrdineUscitaInevasoDTO::getNumOrd) - .withoutNulls() - .distinctBy(x -> x) - .toList(); + List foundNumOrd = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getNumOrd).withoutNulls().distinctBy(x -> x).toList(); if (foundNumOrd != null && foundNumOrd.size() == 1) { mDefaultNumOrdOfUL = foundNumOrd.get(0); @@ -278,11 +242,7 @@ public class SpedizioneViewModel { //Definizione del dataOrd - List foundDataOrd = Stream.of(mTestateOrdini) - .map(OrdineUscitaInevasoDTO::getDataOrdD) - .withoutNulls() - .distinctBy(x -> x) - .toList(); + List foundDataOrd = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getDataOrdD).withoutNulls().distinctBy(x -> x).toList(); if (foundDataOrd != null && foundDataOrd.size() == 1) { mDefaultDataOrdOfUL = foundDataOrd.get(0); @@ -290,10 +250,7 @@ public class SpedizioneViewModel { //Definizione del codJfas - List foundCodJfas = Stream.of(mTestateOrdini) - .map(OrdineUscitaInevasoDTO::getCodJfas) - .distinctBy(x -> x) - .toList(); + List foundCodJfas = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getCodJfas).distinctBy(x -> x).toList(); if (foundCodJfas != null && foundCodJfas.size() == 1) { mDefaultCodJFasOfUL = foundCodJfas.get(0); @@ -302,6 +259,15 @@ public class SpedizioneViewModel { } } + private void onOrderClosedPrintingDone() { + if (this.mIsOrdTrasf && !UtilityString.isNullOrEmpty(SettingsManager.iDB().getCodDtipOrdTrasfV())) { + this.sendCreateDocsRequest(); + } else { + this.sendOnOrderClosed(); + } + + } + private void sendOnLoadingStarted() { if (this.mListener != null) mListener.onLoadingStarted(); } @@ -310,6 +276,11 @@ public class SpedizioneViewModel { if (this.mListener != null) mListener.onCloseOrderPrintRequest(onComplete); } + private void sendCreateDocsRequest() { + if (this.mListener != null) mListener.onCreateDocsRequest(); + } + + private void sendOnOrderClosed() { if (this.mListener != null) mListener.onOrderClosed(); } @@ -355,44 +326,9 @@ public class SpedizioneViewModel { if (this.mListener != null) mListener.onMtbColrDeleteRequest(onComplete); } - private void sendOnItemDispatched(PickingObjectDTO pickingObjectDTO, - MtbAart mtbAart, - BigDecimal initialNumCnf, - BigDecimal initialQtaCnf, - BigDecimal initialQtaTot, - BigDecimal totalQtaOrd, - BigDecimal totalNumCnfOrd, - BigDecimal qtaCnfOrd, - BigDecimal totalQtaToBeTaken, - BigDecimal totalNumCnfToBeTaken, - BigDecimal qtaCnfToBeTaken, - BigDecimal totalQtaAvailable, - BigDecimal totalNumCnfAvailable, - BigDecimal qtaCnfAvailable, - String partitaMag, - Date dataScad, - boolean canOverflowOrderQuantity, - boolean canBatchLotBeChanged, - RunnableArgss onComplete) { - if (this.mListener != null) mListener.onItemDispatched(pickingObjectDTO, - mtbAart, - initialNumCnf, - initialQtaCnf, - initialQtaTot, - totalQtaOrd, - totalNumCnfOrd, - qtaCnfOrd, - totalQtaToBeTaken, - totalNumCnfToBeTaken, - qtaCnfToBeTaken, - totalQtaAvailable, - totalNumCnfAvailable, - qtaCnfAvailable, - partitaMag, - dataScad, - canOverflowOrderQuantity, - canBatchLotBeChanged, - onComplete); + private void sendOnFullItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, Date dataScad, boolean canOverflowOrderQuantity, boolean canBatchLotBeChanged, RunnableArgss onComplete) { + if (this.mListener != null) + mListener.onFullItemDispatched(pickingObjectDTO, mtbAart, initialNumCnf, initialQtaCnf, initialQtaTot, totalQtaOrd, totalNumCnfOrd, qtaCnfOrd, totalQtaToBeTaken, totalNumCnfToBeTaken, qtaCnfToBeTaken, totalQtaAvailable, totalNumCnfAvailable, qtaCnfAvailable, partitaMag, dataScad, canOverflowOrderQuantity, canBatchLotBeChanged, onComplete); } private void sendOnRowSaved() { @@ -483,10 +419,7 @@ public class SpedizioneViewModel { } private void processBarcodeNotOpenedLU(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) { - this.createNewLU( - null, - null, - () -> processBarcodeAlreadyOpenedLU(barcodeScanDTO, onComplete)); + this.createNewLU(null, null, () -> processBarcodeAlreadyOpenedLU(barcodeScanDTO, onComplete)); } private void processBarcodeAlreadyOpenedLU(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) { @@ -524,19 +457,14 @@ public class SpedizioneViewModel { try { numCollo = UtilityBarcode.getNumColloFromULAnonima(barcodeScanDTO.getStringValue()); - this.createNewLU(numCollo, - CommonConst.Config.DEFAULT_ANONYMOUS_UL_SERIE, onComplete); + this.createNewLU(numCollo, CommonConst.Config.DEFAULT_ANONYMOUS_UL_SERIE, onComplete); } catch (Exception ex) { this.sendError(ex); } } } else { - this.createNewLU( - null, - null, - () -> searchArtFromUL(mtbColt, onComplete) - ); + this.createNewLU(null, null, () -> searchArtFromUL(mtbColt, onComplete)); } }, this::sendError); @@ -559,7 +487,7 @@ public class SpedizioneViewModel { if (mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) { searchArtFromUL(mtbColt, onComplete); } else { - this.sendError(new NoArtsFoundException()); + this.sendError(new EmptyLUException()); } }, this::sendError); @@ -587,7 +515,7 @@ public class SpedizioneViewModel { searchArtFromUL(mtbColt, onComplete); } else this.sendError(new InvalidLUException()); } else { - this.sendError(new NoArtsFoundException()); + this.sendError(new EmptyLUException()); } }, this::sendError); @@ -644,7 +572,11 @@ public class SpedizioneViewModel { this.mArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> { if (mtbAartList != null && mtbAartList.size() > 0) { - this.searchArtFromAnag(mtbAartList.get(0), pickData, onComplete); + if (mtbAartList.size() == 1) { + this.searchArtFromAnag(mtbAartList.get(0), pickData, onComplete); + } else { + mListener.onChooseArtRequest(mtbAartList, art -> this.searchArtFromAnag(art, pickData, onComplete)); + } } else { this.sendError(new NoResultFromBarcodeException(finalBarcodeProd)); } @@ -659,55 +591,39 @@ public class SpedizioneViewModel { if (mEnableGiacenza) { - Stream.of(pickingList) - .forEach(pickingObjectDTO -> { - if (Stream.of(pickingObjectDTO.getMtbColts()) - .anyMatch(x -> Objects.equals(x.getNumCollo(), scannedUL.getNumCollo()) && - x.getDataColloS().equals(scannedUL.getDataColloS()) && - x.getSerCollo().equalsIgnoreCase(scannedUL.getSerCollo()) && - (scannedUL.getGestioneEnum() == GestioneEnum.ACQUISTO || scannedUL.getGestioneEnum() == GestioneEnum.LAVORAZIONE))) { + Stream.of(pickingList).forEach(pickingObjectDTO -> { + if (Stream.of(pickingObjectDTO.getMtbColts()).anyMatch(x -> Objects.equals(x.getNumCollo(), scannedUL.getNumCollo()) && x.getDataColloS().equals(scannedUL.getDataColloS()) && x.getSerCollo().equalsIgnoreCase(scannedUL.getSerCollo()) && (scannedUL.getGestioneEnum() == GestioneEnum.ACQUISTO || scannedUL.getGestioneEnum() == GestioneEnum.LAVORAZIONE))) { - matchPickingObject.add(pickingObjectDTO); - } - }); + matchPickingObject.add(pickingObjectDTO); + } + }); } //Controllo se nel collo ho degli articoli che corrispondono per codice / taglia / colore / lotto - Stream.of(scannedUL.getMtbColr()) - .filter(x -> !UtilityString.isNullOrEmpty(x.getCodMart())) - .forEach(x -> { + Stream.of(scannedUL.getMtbColr()).filter(x -> !UtilityString.isNullOrEmpty(x.getCodMart())).forEach(x -> { - for (PickingObjectDTO pickingObject : pickingList) { - //Da verificare se il controllo per partita deve essere sempre effettuato - if (UtilityString.equalsIgnoreCase(x.getCodMart(), pickingObject.getSitArtOrdDTO().getCodMart()) && - UtilityString.equalsIgnoreCase(x.getCodTagl(), pickingObject.getSitArtOrdDTO().getCodTagl()) && - UtilityString.equalsIgnoreCase(x.getCodCol(), pickingObject.getSitArtOrdDTO().getCodCol()) && - (!mEnableCheckPartitaMag || UtilityString.equalsIgnoreCase(x.getPartitaMag(), pickingObject.getSitArtOrdDTO().getPartitaMag()) || UtilityString.isNullOrEmpty(pickingObject.getSitArtOrdDTO().getPartitaMag()))) { + for (PickingObjectDTO pickingObject : pickingList) { + //Da verificare se il controllo per partita deve essere sempre effettuato + if (UtilityString.equalsIgnoreCase(x.getCodMart(), pickingObject.getSitArtOrdDTO().getCodMart()) && UtilityString.equalsIgnoreCase(x.getCodTagl(), pickingObject.getSitArtOrdDTO().getCodTagl()) && UtilityString.equalsIgnoreCase(x.getCodCol(), pickingObject.getSitArtOrdDTO().getCodCol()) && (!mEnableCheckPartitaMag || UtilityString.equalsIgnoreCase(x.getPartitaMag(), pickingObject.getSitArtOrdDTO().getPartitaMag()) || UtilityString.isNullOrEmpty(pickingObject.getSitArtOrdDTO().getPartitaMag()))) { - if (!matchPickingObject.contains(pickingObject)) { - matchPickingObject.add(pickingObject); - } - - } + if (!matchPickingObject.contains(pickingObject)) { + matchPickingObject.add(pickingObject); } - }); + + } + } + }); for (PickingObjectDTO matchedObject : matchPickingObject) { MtbColt cloneMtbColt = (MtbColt) scannedUL.clone(); ObservableArrayList cloneMtbColrs = (ObservableArrayList) cloneMtbColt.getMtbColr().clone(); - Stream.of(cloneMtbColt.getMtbColr()) - .filter(x -> !(UtilityString.equalsIgnoreCase(x.getCodMart(), matchedObject.getSitArtOrdDTO().getCodMart()) && - UtilityString.equalsIgnoreCase(x.getCodTagl(), matchedObject.getSitArtOrdDTO().getCodTagl()) && - UtilityString.equalsIgnoreCase(x.getCodCol(), matchedObject.getSitArtOrdDTO().getCodCol()) && - (!mEnableCheckPartitaMag || UtilityString.equalsIgnoreCase(x.getPartitaMag(), matchedObject.getSitArtOrdDTO().getPartitaMag()) || UtilityString.isNullOrEmpty(matchedObject.getSitArtOrdDTO().getPartitaMag())))) - .forEach(cloneMtbColrs::remove); + Stream.of(cloneMtbColt.getMtbColr()).filter(x -> !(UtilityString.equalsIgnoreCase(x.getCodMart(), matchedObject.getSitArtOrdDTO().getCodMart()) && UtilityString.equalsIgnoreCase(x.getCodTagl(), matchedObject.getSitArtOrdDTO().getCodTagl()) && UtilityString.equalsIgnoreCase(x.getCodCol(), matchedObject.getSitArtOrdDTO().getCodCol()) && (!mEnableCheckPartitaMag || UtilityString.equalsIgnoreCase(x.getPartitaMag(), matchedObject.getSitArtOrdDTO().getPartitaMag()) || UtilityString.isNullOrEmpty(matchedObject.getSitArtOrdDTO().getPartitaMag())))).forEach(cloneMtbColrs::remove); cloneMtbColt.setMtbColr(cloneMtbColrs); - PickDataDTO tempPickData = new PickDataDTO() - .setSourceMtbColt(cloneMtbColt); + PickDataDTO tempPickData = new PickDataDTO().setSourceMtbColt(cloneMtbColt); matchedObject.setTempPickData(tempPickData); } @@ -721,14 +637,10 @@ public class SpedizioneViewModel { private void searchArtFromAnag(MtbAart mtbAart, PickDataDTO pickData, Runnable onComplete) { final List pickingList = mPickingList.getValue(); - List matchPickingObject = Stream.of(pickingList) - .filter(x -> UtilityString.equalsIgnoreCase(mtbAart.getCodMart(), x.getSitArtOrdDTO().getCodMart())) - .filter(x -> x.getSitArtOrdDTO().isFlagEnableScanArt()) - .filter(x -> { - 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())); - }) - .toList(); + List matchPickingObject = Stream.of(pickingList).filter(x -> UtilityString.equalsIgnoreCase(mtbAart.getCodMart(), x.getSitArtOrdDTO().getCodMart())).filter(x -> x.getSitArtOrdDTO().isFlagEnableScanArt()).filter(x -> { + 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())); + }).toList(); for (PickingObjectDTO pickingObjectDTO : matchPickingObject) { pickingObjectDTO.setTempPickData(pickData); @@ -750,9 +662,7 @@ public class SpedizioneViewModel { List pickingList = mPickingList.getValue(); - Stream.of(pickingList) - .filter(x -> x != matchedItem) - .forEach(x -> x.setHidden(true)); + Stream.of(pickingList).filter(x -> x != matchedItem).forEach(x -> x.setHidden(true)); this.sendFilterApplied(null); this.getPickingList().postValue(pickingList); @@ -787,29 +697,17 @@ public class SpedizioneViewModel { // MtbColr refMtbColr = refMtbColt != null ? refMtbColt.getMtbColr().get(0) : null; - if (pickingObjectDTO.getTempPickData() != null && - pickingObjectDTO.getTempPickData().getSourceMtbColt() != null && - pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr() != null) { + if (pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getSourceMtbColt() != null && pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr() != null) { List scannedMtbColrs = pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr(); - List availableBatchLots = Stream.of(scannedMtbColrs) - .filter(x -> x.getCodMart().equalsIgnoreCase(pickingObjectDTO.getMtbAart().getCodMart()) && ( - x.getPartitaMag() == null || - UtilityString.isNullOrEmpty(x.getMtbPartitaMag().getDataScadS()) || - UtilityDate.getDateInstance().before(x.getMtbPartitaMag().getDataScadD()) - )) - .distinctBy(MtbColr::getPartitaMag) - .map(x -> x.getPartitaMag() == null ? new MtbPartitaMag().setCodMart(x.getMtbAart().getCodMart()) : x.getMtbPartitaMag()) - .toList(); + List availableBatchLots = Stream.of(scannedMtbColrs).filter(x -> x.getCodMart().equalsIgnoreCase(pickingObjectDTO.getMtbAart().getCodMart()) && (x.getPartitaMag() == null || UtilityString.isNullOrEmpty(x.getMtbPartitaMag().getDataScadS()) || UtilityDate.getDateInstance().before(x.getMtbPartitaMag().getDataScadD()))).distinctBy(MtbColr::getPartitaMag).map(x -> x.getPartitaMag() == null ? new MtbPartitaMag().setCodMart(x.getMtbAart().getCodMart()) : x.getMtbPartitaMag()).toList(); //Controllo se una delle partite combacia con quella che voglio evadere if (refMtbColr != null && refMtbColr.getMtbPartitaMag() != null) { MtbPartitaMag refMtbPartitaMag = refMtbColr.getMtbPartitaMag(); - Optional matchPartitaMag = Stream.of(availableBatchLots) - .filter(availableBatchLot -> refMtbPartitaMag.getPartitaMag().equalsIgnoreCase(availableBatchLot.getPartitaMag())) - .findFirst(); + Optional matchPartitaMag = Stream.of(availableBatchLots).filter(availableBatchLot -> refMtbPartitaMag.getPartitaMag().equalsIgnoreCase(availableBatchLot.getPartitaMag())).findFirst(); if (matchPartitaMag.isPresent()) { availableBatchLots.clear(); @@ -823,31 +721,18 @@ public class SpedizioneViewModel { List tmp = new ArrayList<>(); if (Stream.of(availableBatchLots).anyMatch(x -> !UtilityString.isNullOrEmpty(x.getDataScadS()))) { - tmp.addAll( - Stream.of(availableBatchLots) - .filter(x -> !UtilityString.isNullOrEmpty(x.getDataScadS()) && UtilityDate.getDateInstance().before(x.getDataScadD())) - .sortBy(MtbPartitaMag::getDataScadD) - .toList()); + tmp.addAll(Stream.of(availableBatchLots).filter(x -> !UtilityString.isNullOrEmpty(x.getDataScadS()) && UtilityDate.getDateInstance().before(x.getDataScadD())).sortBy(MtbPartitaMag::getDataScadD).toList()); } if (Stream.of(availableBatchLots).anyMatch(x -> UtilityString.isNullOrEmpty(x.getDataScadS()))) { - tmp.addAll( - Stream.of(availableBatchLots) - .filter(x -> UtilityString.isNullOrEmpty(x.getDataScadS())) - .sortBy(x -> UtilityString.isNull(x.getPartitaMag(), "")) - .toList()); + tmp.addAll(Stream.of(availableBatchLots).filter(x -> UtilityString.isNullOrEmpty(x.getDataScadS())).sortBy(x -> UtilityString.isNull(x.getPartitaMag(), "")).toList()); } this.sendBatchLotSelectionRequest(tmp, selected -> { this.sendOnLoadingEnded(); if (selected != null) { - MtbColr scannedMtbColr = Stream.of(pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr()) - .filter(x -> x.getCodMart().equalsIgnoreCase(pickingObjectDTO.getMtbAart().getCodMart()) && - ((x.getPartitaMag() != null && selected.getPartitaMag() != null && x.getPartitaMag().equalsIgnoreCase(selected.getPartitaMag())) || - (x.getPartitaMag() == null && selected.getPartitaMag() == null))) - .toList() - .get(0); + MtbColr scannedMtbColr = Stream.of(pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr()).filter(x -> x.getCodMart().equalsIgnoreCase(pickingObjectDTO.getMtbAart().getCodMart()) && ((x.getPartitaMag() != null && selected.getPartitaMag() != null && x.getPartitaMag().equalsIgnoreCase(selected.getPartitaMag())) || (x.getPartitaMag() == null && selected.getPartitaMag() == null))).toList().get(0); dispatchOrdineRowOnPostBatchLotSelection(pickingObjectDTO, refMtbColt, refMtbColr, scannedMtbColr, canPartitaMagBeChanged); } @@ -872,11 +757,10 @@ public class SpedizioneViewModel { AtomicBigDecimal numCnfWithdrawRows = new AtomicBigDecimal(); AtomicBigDecimal qtaColWithdrawRows = new AtomicBigDecimal(); - Stream.of(pickingObjectDTO.getWithdrawMtbColrs()) - .forEach(row -> { - numCnfWithdrawRows.addAndGet(row.getNumCnf()); - qtaColWithdrawRows.addAndGet(row.getQtaCol()); - }); + Stream.of(pickingObjectDTO.getWithdrawMtbColrs()).forEach(row -> { + numCnfWithdrawRows.addAndGet(row.getNumCnf()); + qtaColWithdrawRows.addAndGet(row.getQtaCol()); + }); BigDecimal numCnfDaEvadere = pickingObjectDTO.getSitArtOrdDTO().getNumCnfOrd().subtract(numCnfWithdrawRows.getBigDecimalValue()); BigDecimal qtaDaEvadere = pickingObjectDTO.getSitArtOrdDTO().getQtaOrd().subtract(qtaColWithdrawRows.getBigDecimalValue()); @@ -1004,42 +888,88 @@ public class SpedizioneViewModel { } MtbColt finalRefMtbColt = refMtbColt; - this.sendOnItemDispatched( - pickingObjectDTO, - pickingObjectDTO.getMtbAart(), - mUseQtaOrd ? numCnfDaPrelevare : null, - mUseQtaOrd ? qtaCnfDaPrelevare : null, - mUseQtaOrd ? qtaColDaPrelevare : null, - qtaDaEvadere, - numCnfDaEvadere, - qtaCnfDaEvadere, - qtaColDaPrelevare, - numCnfDaPrelevare, - qtaCnfDaPrelevare, - totalQtaAvailable, - totalNumCnfAvailable, - qtaCnfAvailable, - partitaMag, - dataScad, - mCanOverflowOrderQuantity, - canPartitaMagBeChanged, - (pickedQuantityDTO, shouldCloseLU) -> { - this.saveNewRow(pickingObjectDTO, - finalRefMtbColt, - pickedQuantityDTO.getNumCnf(), - pickedQuantityDTO.getQtaCnf(), - pickedQuantityDTO.getQtaTot(), - pickedQuantityDTO.getPartitaMag(), - pickedQuantityDTO.getDataScad(), - shouldCloseLU); - }); + this.onItemDispatched(pickingObjectDTO, pickingObjectDTO.getMtbAart(), mUseQtaOrd ? numCnfDaPrelevare : null, mUseQtaOrd ? qtaCnfDaPrelevare : null, mUseQtaOrd ? qtaColDaPrelevare : null, qtaDaEvadere, numCnfDaEvadere, qtaCnfDaEvadere, qtaColDaPrelevare, numCnfDaPrelevare, qtaCnfDaPrelevare, totalQtaAvailable, totalNumCnfAvailable, qtaCnfAvailable, partitaMag, dataScad, mCanOverflowOrderQuantity, canPartitaMagBeChanged, (pickedQuantityDTO, shouldCloseLU) -> { + this.saveNewRow(pickingObjectDTO, finalRefMtbColt, pickedQuantityDTO.getNumCnf(), pickedQuantityDTO.getQtaCnf(), pickedQuantityDTO.getQtaTot(), pickedQuantityDTO.getPartitaMag(), pickedQuantityDTO.getDataScad(), shouldCloseLU); + }); + } + + public void onItemDispatched(PickingObjectDTO pickingObjectDTO, + MtbAart mtbAart, + BigDecimal initialNumCnf, + BigDecimal initialQtaCnf, + BigDecimal initialQtaTot, + BigDecimal totalQtaOrd, + BigDecimal totalNumCnfOrd, + BigDecimal qtaCnfOrd, + BigDecimal totalQtaToBeTaken, + BigDecimal totalNumCnfToBeTaken, + BigDecimal qtaCnfToBeTaken, + BigDecimal totalQtaAvailable, + BigDecimal totalNumCnfAvailable, + BigDecimal qtaCnfAvailable, + String partitaMag, + Date dataScad, + boolean canOverflowOrderQuantity, + boolean canPartitaMagBeChanged, + RunnableArgss onComplete) { + if (SettingsManager.iDB().isNotifyLotStatus() && !UtilityString.isNullOrEmpty(partitaMag)) { + this.loadProductLotStatus(mtbAart.getCodMart(), partitaMag, (status) -> { + pickingObjectDTO.setStatoArticoloDTO(status); + this.sendOnFullItemDispatched(pickingObjectDTO, + mtbAart, + initialNumCnf, + initialQtaCnf, + initialQtaTot, + totalQtaOrd, + totalNumCnfOrd, + qtaCnfOrd, + totalQtaToBeTaken, + totalNumCnfToBeTaken, + qtaCnfToBeTaken, + totalQtaAvailable, + totalNumCnfAvailable, + qtaCnfAvailable, + partitaMag, + dataScad, + canOverflowOrderQuantity, + canPartitaMagBeChanged, + onComplete); + }); + } else { + this.sendOnFullItemDispatched(pickingObjectDTO, + mtbAart, + initialNumCnf, + initialQtaCnf, + initialQtaTot, + totalQtaOrd, + totalNumCnfOrd, + qtaCnfOrd, + totalQtaToBeTaken, + totalNumCnfToBeTaken, + qtaCnfToBeTaken, + totalQtaAvailable, + totalNumCnfAvailable, + qtaCnfAvailable, + partitaMag, + dataScad, + canOverflowOrderQuantity, + canPartitaMagBeChanged, + onComplete); + } + + + } + + private void loadProductLotStatus(String codMart, String partitaMag, RunnableArgs onComplete) { + this.sendOnLoadingStarted(); + this.mArticoloRESTConsumer.getStatoPartita(codMart, partitaMag, stati -> { + onComplete.run(stati.size() > 0 ? stati.get(0) : null); + }, this::sendError); } public void dispatchExtraItem(MtbAart mtbAart, Ean128Model ean128Model, MtbColr mtbColrToUse) { - PickingObjectDTO pickingObjectDTO = new PickingObjectDTO() - .setMtbAart(mtbAart) - .setTempPickData(PickDataDTO.fromEan128(ean128Model)); + PickingObjectDTO pickingObjectDTO = new PickingObjectDTO().setMtbAart(mtbAart).setTempPickData(PickDataDTO.fromEan128(ean128Model)); BigDecimal numCnfDaPrelevare = null; BigDecimal qtaColDaPrelevare = null; @@ -1059,18 +989,11 @@ public class SpedizioneViewModel { MtbColt refMtbColt = null; if (mtbColrToUse != null) { - refMtbColt = new MtbColt() - .setDataCollo(mtbColrToUse.getDataColloD()) - .setSerCollo(mtbColrToUse.getSerCollo()) - .setNumCollo(mtbColrToUse.getNumCollo()) - .setGestione(mtbColrToUse.getGestione()) - .setMtbColr(new ObservableArrayList<>()); + refMtbColt = new MtbColt().setDataCollo(mtbColrToUse.getDataColloD()).setSerCollo(mtbColrToUse.getSerCollo()).setNumCollo(mtbColrToUse.getNumCollo()).setGestione(mtbColrToUse.getGestione()).setMtbColr(new ObservableArrayList<>()); refMtbColt.getMtbColr().add(mtbColrToUse); - pickingObjectDTO - .setMtbAart(mtbColrToUse.getMtbAart()) - .setTempPickData(new PickDataDTO().setSourceMtbColt(refMtbColt)); + pickingObjectDTO.setMtbAart(mtbColrToUse.getMtbAart()).setTempPickData(new PickDataDTO().setSourceMtbColt(refMtbColt)); if (mtbColrToUse.getMtbAart().isFlagQtaCnfFissaBoolean()) { numCnfDaPrelevare = mtbColrToUse.getNumCnf(); @@ -1143,44 +1066,16 @@ public class SpedizioneViewModel { MtbColt finalRefMtbColt = refMtbColt; - this.sendOnItemDispatched( - pickingObjectDTO, - pickingObjectDTO.getMtbAart(), - initialNumCnf, - initialQtaCnf, - initialQtaTot, - null, - null, - null, - qtaColDaPrelevare, - numCnfDaPrelevare, - qtaCnfDaPrelevare, - totalQtaAvailable, - totalNumCnfAvailable, - qtaCnfAvailable, - partitaMag, - dataScad, - mCanOverflowOrderQuantity, - true, - (pickedQuantityDTO, shouldCloseLU) -> { - this.saveNewRow(pickingObjectDTO, - finalRefMtbColt, - pickedQuantityDTO.getNumCnf(), - pickedQuantityDTO.getQtaCnf(), - pickedQuantityDTO.getQtaTot(), - pickedQuantityDTO.getPartitaMag(), - pickedQuantityDTO.getDataScad(), - shouldCloseLU); - }); + this.onItemDispatched(pickingObjectDTO, pickingObjectDTO.getMtbAart(), initialNumCnf, initialQtaCnf, initialQtaTot, null, null, null, qtaColDaPrelevare, numCnfDaPrelevare, qtaCnfDaPrelevare, totalQtaAvailable, totalNumCnfAvailable, qtaCnfAvailable, partitaMag, dataScad, mCanOverflowOrderQuantity, true, (pickedQuantityDTO, shouldCloseLU) -> { + this.saveNewRow(pickingObjectDTO, finalRefMtbColt, pickedQuantityDTO.getNumCnf(), pickedQuantityDTO.getQtaCnf(), pickedQuantityDTO.getQtaTot(), pickedQuantityDTO.getPartitaMag(), pickedQuantityDTO.getDataScad(), shouldCloseLU); + }); } public void dispatchRowEdit(final MtbColr mtbColrToEdit) { this.sendOnLoadingStarted(); - Optional optionalPickingObjectDTO = Stream.of(this.mPickingList.getValue()) - .filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToEdit)) - .findSingle(); + Optional optionalPickingObjectDTO = Stream.of(this.mPickingList.getValue()).filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToEdit)).findSingle(); PickingObjectDTO pickingObjectDTO = null; @@ -1232,19 +1127,13 @@ public class SpedizioneViewModel { Date dataScad = null; - List mtbColrRifs = mtbColtRif != null && - mtbColtRif.getMtbColr() != null ? mtbColtRif.getMtbColr() : null; + List mtbColrRifs = mtbColtRif != null && mtbColtRif.getMtbColr() != null ? mtbColtRif.getMtbColr() : null; MtbColr mtbColrRif = null; if (mtbColrRifs != null && mtbColrRifs.size() > 0) { //TODO: Da capire se è necessario controllare anche il cod_jcom - Optional optionalMtbColr = Stream.of(mtbColrRifs) - .filter(x -> UtilityString.equalsIgnoreCase(x.getCodMart(), mtbColrToEdit.getCodMart()) && - UtilityString.equalsIgnoreCase(x.getCodCol(), mtbColrToEdit.getCodCol()) && - UtilityString.equalsIgnoreCase(x.getCodTagl(), mtbColrToEdit.getCodTagl()) && - UtilityString.equalsIgnoreCase(x.getPartitaMag(), mtbColrToEdit.getPartitaMag())) - .findSingle(); + Optional optionalMtbColr = Stream.of(mtbColrRifs).filter(x -> UtilityString.equalsIgnoreCase(x.getCodMart(), mtbColrToEdit.getCodMart()) && UtilityString.equalsIgnoreCase(x.getCodCol(), mtbColrToEdit.getCodCol()) && UtilityString.equalsIgnoreCase(x.getCodTagl(), mtbColrToEdit.getCodTagl()) && UtilityString.equalsIgnoreCase(x.getPartitaMag(), mtbColrToEdit.getPartitaMag())).findSingle(); mtbColrRif = optionalMtbColr.isPresent() ? optionalMtbColr.get() : null; } @@ -1280,54 +1169,17 @@ public class SpedizioneViewModel { this.sendOnLoadingEnded(); - this.sendOnItemDispatched( - finalPickingObjectDTO, - mtbColrToEdit.getMtbAart(), - mtbColrToEdit.getNumCnf(), - mtbColrToEdit.getQtaCnf(), - mtbColrToEdit.getQtaCol(), - qtaDaEvadere, - numCnfDaEvadere, - qtaCnfDaEvadere, - qtaColDaPrelevare, - numCnfDaPrelevare, - qtaCnfDaPrelevare, - totalQtaAvailable, - totalNumCnfAvailable, - qtaCnfAvailable, - partitaMag, - dataScad, - mCanOverflowOrderQuantity, - false, - (pickedQuantityDTO, shouldCloseLU) -> { - this.saveEditedRow(mtbColrToEdit, - pickedQuantityDTO.getNumCnf(), - pickedQuantityDTO.getQtaCnf(), - pickedQuantityDTO.getQtaTot(), - pickedQuantityDTO.getPartitaMag(), - pickedQuantityDTO.getDataScad(), - shouldCloseLU); - }); + this.onItemDispatched(finalPickingObjectDTO, mtbColrToEdit.getMtbAart(), mtbColrToEdit.getNumCnf(), mtbColrToEdit.getQtaCnf(), mtbColrToEdit.getQtaCol(), qtaDaEvadere, numCnfDaEvadere, qtaCnfDaEvadere, qtaColDaPrelevare, numCnfDaPrelevare, qtaCnfDaPrelevare, totalQtaAvailable, totalNumCnfAvailable, qtaCnfAvailable, partitaMag, dataScad, mCanOverflowOrderQuantity, false, (pickedQuantityDTO, shouldCloseLU) -> { + this.saveEditedRow(mtbColrToEdit, pickedQuantityDTO.getNumCnf(), pickedQuantityDTO.getQtaCnf(), pickedQuantityDTO.getQtaTot(), pickedQuantityDTO.getPartitaMag(), pickedQuantityDTO.getDataScad(), shouldCloseLU); + }); }); } private void loadRifULFromMtbColr(MtbColr mtbColr, RunnableArgs onComplete) { //Se ho dei riferimenti ad una UL devo leggere la QTA ancora disponibile sulla Ul - if (mtbColr != null && - !UtilityString.isNullOrEmpty(mtbColr.getGestioneRif()) && - !UtilityString.isNullOrEmpty(mtbColr.getSerColloRif()) && - !UtilityString.isNullOrEmpty(mtbColr.getDataColloRifS()) && - mtbColr.getNumColloRif() != null) { + if (mtbColr != null && !UtilityString.isNullOrEmpty(mtbColr.getGestioneRif()) && !UtilityString.isNullOrEmpty(mtbColr.getSerColloRif()) && !UtilityString.isNullOrEmpty(mtbColr.getDataColloRifS()) && mtbColr.getNumColloRif() != null) { - mColliMagazzinoRESTConsumer.getByChiaveCollo( - mtbColr.getGestioneRifEnum(), - mtbColr.getNumColloRif(), - mtbColr.getDataColloRifS(), - mtbColr.getSerColloRif(), - true, - false, - onComplete, - this::sendError); + mColliMagazzinoRESTConsumer.getByChiaveCollo(mtbColr.getGestioneRifEnum(), mtbColr.getNumColloRif(), mtbColr.getDataColloRifS(), mtbColr.getSerColloRif(), true, false, onComplete, this::sendError); } else { onComplete.run(null); @@ -1336,15 +1188,7 @@ public class SpedizioneViewModel { public void createNewLU(Integer customNumCollo, String customSerCollo, Runnable onComplete) { MtbColt mtbColt = new MtbColt(); - mtbColt.initDefaultFields(mDefaultGestioneOfUL) - .setSegno(mDefaultSegnoCol) - .setRifOrd(mDefaultRifOrdOfUL) - .setNumOrd(mDefaultNumOrdOfUL) - .setDataOrdD(mDefaultDataOrdOfUL) - .setCodAnag(mDefaultCodAnagOfUL) - .setCodMdep(mDefaultCodMdep) - .setRagSocCliente(mDefaultRagSocOfUL) - .setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); + mtbColt.initDefaultFields(mDefaultGestioneOfUL).setSegno(mDefaultSegnoCol).setRifOrd(mDefaultRifOrdOfUL).setNumOrd(mDefaultNumOrdOfUL).setDataOrdD(mDefaultDataOrdOfUL).setCodAnag(mDefaultCodAnagOfUL).setCodMdep(mDefaultCodMdep).setRagSocCliente(mDefaultRagSocOfUL).setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); if (mDefaultGestioneOfUL == GestioneEnum.LAVORAZIONE && mDefaultSegnoCol == -1) mtbColt.setPosizione(mDefaultCodJFasOfUL); @@ -1354,10 +1198,7 @@ public class SpedizioneViewModel { mtbColt.generaFiltroOrdineFromDTO(mDefaultFiltroOrdine); mColliMagazzinoRESTConsumer.saveCollo(mtbColt, value -> { - mtbColt - .setNumCollo(value.getNumCollo()) - .setDataCollo(value.getDataColloS()) - .setMtbColr(new ObservableArrayList<>()); + mtbColt.setNumCollo(value.getNumCollo()).setDataCollo(value.getDataColloS()).setMtbColr(new ObservableArrayList<>()); this.mCurrentMtbColt = mtbColt; mMtbColtSessionID = this.mColliDataRecoverService.startNewSession(mtbColt, mTestateOrdini); @@ -1372,34 +1213,16 @@ public class SpedizioneViewModel { public void saveNewRow(PickingObjectDTO pickingObjectDTO, MtbColt refMtbColt, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) { this.sendOnLoadingStarted(); - final MtbColr mtbColr = new MtbColr() - .setCausale(mDefaultCausaleOfUL) - .setCodMart(pickingObjectDTO.getMtbAart().getCodMart()) - .setPartitaMag(partitaMag) - .setDataScadPartita(dataScad) - .setQtaCol(qtaTot) - .setQtaCnf(qtaCnf) - .setNumCnf(numCnf) - .setDescrizione(pickingObjectDTO.getMtbAart().getDescrizioneEstesa()) - .setDatetimeRow(UtilityDate.getDateInstance()); + final MtbColr mtbColr = new MtbColr().setCausale(mDefaultCausaleOfUL).setCodMart(pickingObjectDTO.getMtbAart().getCodMart()).setPartitaMag(partitaMag).setDataScadPartita(dataScad).setQtaCol(qtaTot).setQtaCnf(qtaCnf).setNumCnf(numCnf).setDescrizione(pickingObjectDTO.getMtbAart().getDescrizioneEstesa()).setDatetimeRow(UtilityDate.getDateInstance()); //TODO: Al posto di prelevare la prima riga bisognerebbe controllare se c'è ne una che corrisponde con la partita richiesta - final MtbColr mtbColrToDispatch = pickingObjectDTO.getTempPickData() != null && - pickingObjectDTO.getTempPickData().getSourceMtbColt() != null && - pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr() != null && - pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().size() > 0 ? - pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().get(0) : null; + final MtbColr mtbColrToDispatch = pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getSourceMtbColt() != null && pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr() != null && pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().size() > 0 ? pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().get(0) : null; if (mtbColrToDispatch != null) { if (UtilityString.isNullOrEmpty(mCurrentMtbColt.getCodTcol())) mCurrentMtbColt.setCodTcol(UtilityString.empty2null(pickingObjectDTO.getTempPickData().getSourceMtbColt().getCodTcol())); - mtbColr - .setCodJcom(UtilityString.empty2null(mtbColrToDispatch.getCodJcom())) - .setSerColloRif(UtilityString.empty2null(mtbColrToDispatch.getSerCollo())) - .setNumColloRif(mtbColrToDispatch.getNumCollo()) - .setGestioneRif(UtilityString.empty2null(mtbColrToDispatch.getGestione())) - .setDataColloRif(UtilityString.empty2null(mtbColrToDispatch.getDataColloS())); + mtbColr.setCodJcom(UtilityString.empty2null(mtbColrToDispatch.getCodJcom())).setSerColloRif(UtilityString.empty2null(mtbColrToDispatch.getSerCollo())).setNumColloRif(mtbColrToDispatch.getNumCollo()).setGestioneRif(UtilityString.empty2null(mtbColrToDispatch.getGestione())).setDataColloRif(UtilityString.empty2null(mtbColrToDispatch.getDataColloS())); if (mtbColrToDispatch.getPesoNettoKg() != null) { @@ -1451,38 +1274,21 @@ public class SpedizioneViewModel { boolean finalShouldPrint = shouldPrint; mColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, value -> { - mtbColr - .setDataCollo(value.getDataColloS()) - .setNumCollo(value.getNumCollo()) - .setGestione(value.getGestione()) - .setSerCollo(value.getSerCollo()) - .setRiga(value.getMtbColr().get(value.getMtbColr().size() - 1).getRiga()) - .setUntMis(pickingObjectDTO.getMtbAart().getUntMis()) - .setMtbAart(pickingObjectDTO.getMtbAart()); + mtbColr.setDataCollo(value.getDataColloS()).setNumCollo(value.getNumCollo()).setGestione(value.getGestione()).setSerCollo(value.getSerCollo()).setRiga(value.getMtbColr().get(value.getMtbColr().size() - 1).getRiga()).setUntMis(pickingObjectDTO.getMtbAart().getUntMis()).setMtbAart(pickingObjectDTO.getMtbAart()); if (mEnableGiacenza) { - MtbColr refMtbColr = new MtbColr() - .setCodMart(mtbColr.getCodMart()) - .setPartitaMag(mtbColr.getPartitaMag()) - .setCodTagl(mtbColr.getCodTagl()) - .setCodCol(mtbColr.getCodCol()); + MtbColr refMtbColr = new MtbColr().setCodMart(mtbColr.getCodMart()).setPartitaMag(mtbColr.getPartitaMag()).setCodTagl(mtbColr.getCodTagl()).setCodCol(mtbColr.getCodCol()); if (refMtbColt != null) { - MtbColr originalRefMtbColr = refMtbColt.getMtbColr() != null && - refMtbColt.getMtbColr().size() > 0 ? - refMtbColt.getMtbColr().get(0) : null; + MtbColr originalRefMtbColr = refMtbColt.getMtbColr() != null && refMtbColt.getMtbColr().size() > 0 ? refMtbColt.getMtbColr().get(0) : null; if (originalRefMtbColr != null) { refMtbColr.setId(originalRefMtbColr.getId()); } - refMtbColr - .setNumCollo(refMtbColt.getNumCollo()) - .setDataCollo(refMtbColt.getDataColloS()) - .setSerCollo(refMtbColt.getSerCollo()) - .setGestione(refMtbColt.getGestione()); + refMtbColr.setNumCollo(refMtbColt.getNumCollo()).setDataCollo(refMtbColt.getDataColloS()).setSerCollo(refMtbColt.getSerCollo()).setGestione(refMtbColt.getGestione()); } mtbColr.setRefMtbColr(refMtbColr); } @@ -1505,36 +1311,20 @@ public class SpedizioneViewModel { this.sendOnLoadingStarted(); - MtbColt mtbColt = new MtbColt() - .setNumCollo(mtbColrToUpdate.getNumCollo()) - .setDataCollo(mtbColrToUpdate.getDataColloS()) - .setSerCollo(mtbColrToUpdate.getSerCollo()) - .setGestione(mtbColrToUpdate.getGestione()) - .setMtbColr(new ObservableArrayList<>()); + MtbColt mtbColt = new MtbColt().setNumCollo(mtbColrToUpdate.getNumCollo()).setDataCollo(mtbColrToUpdate.getDataColloS()).setSerCollo(mtbColrToUpdate.getSerCollo()).setGestione(mtbColrToUpdate.getGestione()).setMtbColr(new ObservableArrayList<>()); mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP); final MtbColr mtbColr = (MtbColr) mtbColrToUpdate.clone(); mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT); - mtbColr.setRiga(null) - .setPesoLordoKg(null) - .setPesoNettoKg(null) - .setNumCnf(numCnf.subtract(mtbColrToUpdate.getNumCnf())) - .setQtaCnf(qtaCnf) - .setQtaCol(qtaTot.subtract(mtbColrToUpdate.getQtaCol())) - .setPartitaMag(partitaMag) - .setDataScadPartita(dataScad); + mtbColr.setRiga(null).setPesoLordoKg(null).setPesoNettoKg(null).setNumCnf(numCnf.subtract(mtbColrToUpdate.getNumCnf())).setQtaCnf(qtaCnf).setQtaCol(qtaTot.subtract(mtbColrToUpdate.getQtaCol())).setPartitaMag(partitaMag).setDataScadPartita(dataScad); mtbColt.getMtbColr().add(mtbColr); this.mColliMagazzinoRESTConsumer.saveCollo(mtbColt, (value) -> { - mtbColr.setNumCnf(numCnf) - .setQtaCnf(qtaCnf) - .setQtaCol(qtaTot); + mtbColr.setNumCnf(numCnf).setQtaCnf(qtaCnf).setQtaCol(qtaTot); - Optional pickingObjectDTO = Stream.of(this.mPickingList.getValue()) - .filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToUpdate)) - .findSingle(); + Optional pickingObjectDTO = Stream.of(this.mPickingList.getValue()).filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToUpdate)).findSingle(); if (pickingObjectDTO.isPresent()) { pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToUpdate); @@ -1558,12 +1348,7 @@ public class SpedizioneViewModel { if (canDelete) { this.sendOnLoadingStarted(); - MtbColt mtbColt = new MtbColt() - .setNumCollo(mtbColrToDelete.getNumCollo()) - .setDataCollo(mtbColrToDelete.getDataColloS()) - .setSerCollo(mtbColrToDelete.getSerCollo()) - .setGestione(mtbColrToDelete.getGestione()) - .setMtbColr(new ObservableArrayList<>()); + MtbColt mtbColt = new MtbColt().setNumCollo(mtbColrToDelete.getNumCollo()).setDataCollo(mtbColrToDelete.getDataColloS()).setSerCollo(mtbColrToDelete.getSerCollo()).setGestione(mtbColrToDelete.getGestione()).setMtbColr(new ObservableArrayList<>()); mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP); MtbColr mtbColr = (MtbColr) mtbColrToDelete.clone(); @@ -1572,20 +1357,14 @@ public class SpedizioneViewModel { mtbColr.setOperation(CommonModelConsts.OPERATION.DELETE); } else { mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT); - mtbColr.setQtaCol(mtbColr.getQtaCol().multiply(new BigDecimal(-1))) - .setNumCnf(mtbColr.getNumCnf().multiply(new BigDecimal(-1))) - .setRiga(null) - .setPesoLordoKg(null) - .setPesoNettoKg(null); + mtbColr.setQtaCol(mtbColr.getQtaCol().multiply(new BigDecimal(-1))).setNumCnf(mtbColr.getNumCnf().multiply(new BigDecimal(-1))).setRiga(null).setPesoLordoKg(null).setPesoNettoKg(null); } mtbColt.getMtbColr().add(mtbColr); this.mColliMagazzinoRESTConsumer.saveCollo(mtbColt, (value) -> { - Optional pickingObjectDTO = Stream.of(this.mPickingList.getValue()) - .filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToDelete)) - .findSingle(); + Optional pickingObjectDTO = Stream.of(this.mPickingList.getValue()).filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToDelete)).findSingle(); if (pickingObjectDTO.isPresent()) { pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToDelete); @@ -1628,40 +1407,35 @@ public class SpedizioneViewModel { mCurrentMtbColt.setMtbTCol(null); mCurrentMtbColt.setCodTcol(null); } - mColliMagazzinoRESTConsumer.updateDataFine( - mCurrentMtbColt, () -> distribuisciLU((generatedMtbColts) -> { - if (shouldPrint) - printCollo(generatedMtbColts, () -> this.postCloseOperations(generatedMtbColts)); - else { - postCloseOperations(generatedMtbColts); - } - }), this::sendError); + mColliMagazzinoRESTConsumer.updateDataFine(mCurrentMtbColt, () -> distribuisciLU((generatedMtbColts) -> { + if (shouldPrint) + printCollo(generatedMtbColts, () -> this.postCloseOperations(generatedMtbColts)); + else { + postCloseOperations(generatedMtbColts); + } + }), this::sendError); }); } else { - mColliMagazzinoRESTConsumer.updateDataFine( - mCurrentMtbColt, () -> distribuisciLU((generatedMtbColts) -> { - if (shouldPrint) - printCollo(generatedMtbColts, () -> this.postCloseOperations(generatedMtbColts)); - else { - postCloseOperations(generatedMtbColts); - } - }), this::sendError); + mColliMagazzinoRESTConsumer.updateDataFine(mCurrentMtbColt, () -> distribuisciLU((generatedMtbColts) -> { + if (shouldPrint) + printCollo(generatedMtbColts, () -> this.postCloseOperations(generatedMtbColts)); + else { + postCloseOperations(generatedMtbColts); + } + }), this::sendError); } }; if (mShouldAskPesoLU) { - this.sendLUPesoRequired(mCurrentMtbColt.getCodTcol(), - mCurrentMtbColt.getPesoNettoKg(), - mCurrentMtbColt.getPesoKg(), - (newCodTcol, newNetWeight, newGrossWeight) -> { + this.sendLUPesoRequired(mCurrentMtbColt.getCodTcol(), mCurrentMtbColt.getPesoNettoKg(), mCurrentMtbColt.getPesoKg(), (newCodTcol, newNetWeight, newGrossWeight) -> { - mCurrentMtbColt.setCodTcol(newCodTcol); - mCurrentMtbColt.setPesoNettoKg(newNetWeight); - mCurrentMtbColt.setPesoKg(newGrossWeight); + mCurrentMtbColt.setCodTcol(newCodTcol); + mCurrentMtbColt.setPesoNettoKg(newNetWeight); + mCurrentMtbColt.setPesoKg(newGrossWeight); - saveAction.run(); - }); + saveAction.run(); + }); } else { saveAction.run(); } @@ -1731,13 +1505,7 @@ public class SpedizioneViewModel { for (MtbColr sourceMtbColr : sourceMtbColt.getMtbColr()) { MtbColr cloneMtbColr = (MtbColr) sourceMtbColr.clone(); - cloneMtbColr - .setRiga(null) - .setNumCollo(null) - .setGestione((String) null) - .setDataCollo((String) null) - .setSerCollo(null) - .setCausale(MtbColr.Causale.VERSAMENTO); + cloneMtbColr.setRiga(null).setNumCollo(null).setGestione((String) null).setDataCollo((String) null).setSerCollo(null).setCausale(MtbColr.Causale.VERSAMENTO); cloneMtbColr.setOperation(CommonModelConsts.OPERATION.INSERT); destMtbColt.getMtbColr().add(cloneMtbColr); @@ -1779,10 +1547,7 @@ public class SpedizioneViewModel { } private void singlePrint(MtbColt mtbColtToPrint, Runnable onComplete, RunnableArgs onFailed) { - this.mPrinterRESTConsumer.printCollo( - mtbColtToPrint, - onComplete, - onFailed); + this.mPrinterRESTConsumer.printCollo(mtbColtToPrint, onComplete, onFailed); } @@ -1801,15 +1566,11 @@ public class SpedizioneViewModel { } private void postCloseOperations(List mtbColtList) { - Stream.of(mtbColtList) - .filter(x -> !this.mColliRegistrati.contains(x)) - .forEach(x -> this.mColliRegistrati.add(x)); + Stream.of(mtbColtList).filter(x -> !this.mColliRegistrati.contains(x)).forEach(x -> this.mColliRegistrati.add(x)); if (mTestateOrdini != null) { for (MtbColt mtbColt : mtbColtList) { - Stream.of(mTestateOrdini) - .filter(x -> x.getNumOrd().equals(mtbColt.getNumOrd()) && x.getDataOrdD().equals(mtbColt.getDataOrdD()) && x.getGestioneEnum() == mtbColt.getGestioneEnum()) - .forEach(x -> x.setExistColloBoolean(true)); + Stream.of(mTestateOrdini).filter(x -> x.getNumOrd().equals(mtbColt.getNumOrd()) && x.getDataOrdD().equals(mtbColt.getDataOrdD()) && x.getGestioneEnum() == mtbColt.getGestioneEnum()).forEach(x -> x.setExistColloBoolean(true)); } } @@ -1830,17 +1591,7 @@ public class SpedizioneViewModel { if (pickingObjectDTO.getMtbColts() != null) { - Optional optionalMtbColrReference = Stream.of(pickingObjectDTO.getMtbColts()) - .filter(y -> withdrawMtbColr.getRefMtbColr() != null && - withdrawMtbColr.getRefMtbColr().getNumCollo().equals(y.getNumCollo()) && - withdrawMtbColr.getRefMtbColr().getDataColloD().equals(y.getDataColloD()) && - withdrawMtbColr.getRefMtbColr().getSerCollo().equals(y.getSerCollo()) && - withdrawMtbColr.getRefMtbColr().getGestioneEnum().equals(y.getGestioneEnum()) && - UtilityString.equalsIgnoreCase(withdrawMtbColr.getRefMtbColr().getCodMart(), y.getMtbColr() != null && y.getMtbColr().size() > 0 ? y.getMtbColr().get(0).getCodMart() : null) && - UtilityString.equalsIgnoreCase(withdrawMtbColr.getRefMtbColr().getCodTagl(), y.getMtbColr() != null && y.getMtbColr().size() > 0 ? y.getMtbColr().get(0).getCodTagl() : null) && - UtilityString.equalsIgnoreCase(withdrawMtbColr.getRefMtbColr().getCodCol(), y.getMtbColr() != null && y.getMtbColr().size() > 0 ? y.getMtbColr().get(0).getCodCol() : null)) - .map(y -> y.getMtbColr().get(0)) - .findFirst(); + Optional optionalMtbColrReference = Stream.of(pickingObjectDTO.getMtbColts()).filter(y -> withdrawMtbColr.getRefMtbColr() != null && withdrawMtbColr.getRefMtbColr().getNumCollo().equals(y.getNumCollo()) && withdrawMtbColr.getRefMtbColr().getDataColloD().equals(y.getDataColloD()) && withdrawMtbColr.getRefMtbColr().getSerCollo().equals(y.getSerCollo()) && withdrawMtbColr.getRefMtbColr().getGestioneEnum().equals(y.getGestioneEnum()) && UtilityString.equalsIgnoreCase(withdrawMtbColr.getRefMtbColr().getCodMart(), y.getMtbColr() != null && y.getMtbColr().size() > 0 ? y.getMtbColr().get(0).getCodMart() : null) && UtilityString.equalsIgnoreCase(withdrawMtbColr.getRefMtbColr().getCodTagl(), y.getMtbColr() != null && y.getMtbColr().size() > 0 ? y.getMtbColr().get(0).getCodTagl() : null) && UtilityString.equalsIgnoreCase(withdrawMtbColr.getRefMtbColr().getCodCol(), y.getMtbColr() != null && y.getMtbColr().size() > 0 ? y.getMtbColr().get(0).getCodCol() : null)).map(y -> y.getMtbColr().get(0)).findFirst(); if (optionalMtbColrReference.isPresent()) { @@ -1876,9 +1627,7 @@ public class SpedizioneViewModel { public void resetMatchedRows() { for (PickingObjectDTO pickingObjectDTO : this.mPickingList.getValue()) { - pickingObjectDTO - .setTempPickData(null) - .setHidden(false); + pickingObjectDTO.setTempPickData(null).setHidden(false); } this.mPickingList.postValue(this.mPickingList.getValue()); @@ -1889,35 +1638,30 @@ public class SpedizioneViewModel { this.sendOnLoadingStarted(); if (SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose() || SettingsManager.iDB().isFlagPrintPackingListOnOrderClose()) { this.sendOnCloseOrderPrintRequest(this::onCloseOrderPrintRequest); + } else { + this.onOrderClosedPrintingDone(); } } private void onCloseOrderPrintRequest(PrintOrderCloseDTO dto) { if (!dto.isFlagPrintPackingList() && !dto.isFlagPrintSSCC()) { - this.sendOnOrderClosed(); + onOrderClosedPrintingDone(); return; } List closedOrders = Stream.of(this.mTestateOrdini).map(ord -> { DtbOrdt ordV = new DtbOrdt(); - ordV.setDataOrd(ord.getDataOrdS()) - .setNumOrd(ord.getNumOrd()) - .setGestione(ord.getGestione()) - .setCodAnag(ord.getCodAnagOrd()); + ordV.setDataOrd(ord.getDataOrdS()).setNumOrd(ord.getNumOrd()).setGestione(ord.getGestione()).setCodAnag(ord.getCodAnagOrd()); return ordV; }).toList(); dto.setPrintList(closedOrders); - printClosedOrders(dto, this::sendOnOrderClosed, ex -> this.sendLUPrintError(ex, this::sendOnLoadingEnded)); + printClosedOrders(dto, this::onOrderClosedPrintingDone, ex -> this.sendLUPrintError(ex, this::sendOnLoadingEnded)); } private void printClosedOrders(PrintOrderCloseDTO dto, Runnable onSuccess, RunnableArgs onAbort) { - this.mPrinterRESTConsumer.printClosedOrders( - dto, - SettingsManager.i().getUserSession().getDepo().getCodMdep(), - onSuccess, - onAbort); + this.mPrinterRESTConsumer.printClosedOrders(dto, SettingsManager.i().getUserSession().getDepo().getCodMdep(), onSuccess, onAbort); } private void cyclicPrintPackingList(@NotNull Iterator sourceTestateOrdineVenditaIterator, Runnable onComplete, RunnableArgs onAbort) { @@ -1946,13 +1690,7 @@ public class SpedizioneViewModel { params.put("num_ord", ordineUscitaInevasoDTO.getNumOrd()); params.put("data_ord", UtilityDate.formatDate(ordineUscitaInevasoDTO.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_DASH)); - this.mPrinterRESTConsumer.printReportType( - ReportType.WMS_SPEDIZIONE_PACKING_LIST_ORD, - SettingsManager.i().getUserSession().getDepo().getCodMdep(), - ordineUscitaInevasoDTO.getCodAnagOrd(), - params, - onComplete, - onFailed); + this.mPrinterRESTConsumer.printReportType(ReportType.WMS_SPEDIZIONE_PACKING_LIST_ORD, SettingsManager.i().getUserSession().getDepo().getCodMdep(), ordineUscitaInevasoDTO.getCodAnagOrd(), params, onComplete, onFailed); } @@ -1962,13 +1700,7 @@ public class SpedizioneViewModel { params.put("num_ord", ordineUscitaInevasoDTO.getNumOrd()); params.put("data_ord", UtilityDate.formatDate(ordineUscitaInevasoDTO.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_DASH)); - this.mPrinterRESTConsumer.printReportType( - ReportType.WMS_SPEDIZIONE_ETICHETTE_SSCC_ORD, - SettingsManager.i().getUserSession().getDepo().getCodMdep(), - ordineUscitaInevasoDTO.getCodAnagOrd(), - params, - onComplete, - onFailed); + this.mPrinterRESTConsumer.printReportType(ReportType.WMS_SPEDIZIONE_ETICHETTE_SSCC_ORD, SettingsManager.i().getUserSession().getDepo().getCodMdep(), ordineUscitaInevasoDTO.getCodAnagOrd(), params, onComplete, onFailed); } @@ -1985,6 +1717,31 @@ public class SpedizioneViewModel { return this; } + public void onCreateDocsAnswered(DialogConsts.Results result) { + switch (result) { + case YES: + this.createDocs(); + break; + case NO: + this.sendOnOrderClosed(); + break; + } + } + + private void createDocs() { + + var loadCollidto = new LoadColliDTO(); + var codAnag = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getCodAnagOrd).withoutNulls().distinctBy(x -> x).findFirst().get(); + loadCollidto.setColli(getCreatedMtbColts()); + loadCollidto.setCodDtip(SettingsManager.iDB().getCodDtipOrdTrasfV()); + loadCollidto.setCodMdep(mDefaultCodMdep); + loadCollidto.setCodAnag(codAnag); + loadCollidto.setSaveDoc(true); + loadCollidto.setGestione("L"); + + this.mDocumentiRESTConsumer.createDocFromColli(loadCollidto, doc -> this.sendOnOrderClosed(), this::sendError); + } + public interface Listener extends ILUPrintListener, ILoadingListener, ILUBaseOperationsListener { void onLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss onComplete); @@ -1995,25 +1752,7 @@ public class SpedizioneViewModel { void onError(Exception ex); - void onItemDispatched(PickingObjectDTO pickingObjectDTO, - MtbAart mtbAart, - BigDecimal initialNumCnf, - BigDecimal initialQtaCnf, - BigDecimal initialQtaTot, - BigDecimal totalQtaOrd, - BigDecimal totalNumCnfOrd, - BigDecimal qtaCnfOrd, - BigDecimal totalQtaToBeTaken, - BigDecimal totalNumCnfToBeTaken, - BigDecimal qtaCnfToBeTaken, - BigDecimal totalQtaAvailable, - BigDecimal totalNumCnfAvailable, - BigDecimal qtaCnfAvailable, - String partitaMag, - Date dataScad, - boolean canOverflowOrderQuantity, - boolean canBatchLotBeChanged, - RunnableArgss onComplete); + void onFullItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, Date dataScad, boolean canOverflowOrderQuantity, boolean canBatchLotBeChanged, RunnableArgss onComplete); void onInfoAggiuntiveRequired(MtbColt currentMtbColt, RunnableArgss onComplete); @@ -2023,6 +1762,10 @@ public class SpedizioneViewModel { void onCloseOrderPrintRequest(RunnableArgs onComplete); + void onCreateDocsRequest(); + + void onChooseArtRequest(List artsList, RunnableArgs onComplete); + void onOrderClosed(); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/model/PickingObjectDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/model/PickingObjectDTO.java index 35a5f2d0..c641d2ab 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/model/PickingObjectDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/model/PickingObjectDTO.java @@ -9,6 +9,7 @@ import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.dto.PickDataDTO; +import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO; import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO; public class PickingObjectDTO implements Cloneable { @@ -18,6 +19,7 @@ public class PickingObjectDTO implements Cloneable { private List mtbColts; private PickDataDTO tempPickData; + private StatoArticoloDTO statoArticoloDTO; private MtbColt refMtbColt; private List withdrawMtbColrs = new ArrayList<>(); @@ -100,4 +102,13 @@ public class PickingObjectDTO implements Cloneable { this.withdrawMtbColrs = withdrawMtbColrs; return this; } + + public StatoArticoloDTO getStatoArticoloDTO() { + return statoArticoloDTO; + } + + public PickingObjectDTO setStatoArticoloDTO(StatoArticoloDTO statoArticoloDTO) { + this.statoArticoloDTO = statoArticoloDTO; + return this; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/ui/SpedizioneListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/ui/SpedizioneListAdapter.java index 82847442..34ea056a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/ui/SpedizioneListAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/ui/SpedizioneListAdapter.java @@ -143,6 +143,13 @@ public class SpedizioneListAdapter extends SectionedRecyclerViewAdapter { if (onResetClicked != null) onResetClicked.run(); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogProgressView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogProgressView.java index 810f8b24..be4fabb7 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogProgressView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogProgressView.java @@ -1,18 +1,16 @@ package it.integry.integrywmsnative.view.dialogs; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; +import android.app.Dialog; import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.databinding.DataBindingUtil; import androidx.fragment.app.DialogFragment; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import javax.inject.Singleton; import it.integry.integrywmsnative.R; @@ -29,36 +27,51 @@ public class DialogProgressView extends DialogFragment { private boolean indeterminateProgress; public static DialogProgressView newInstance(String title, String subtitle, boolean indeterminate) { - return new DialogProgressView() - .setIndeterminateProgress(indeterminate) - .setTitle(title) - .setSubtitle(subtitle); + return new DialogProgressView(title, subtitle, indeterminate); } public static DialogProgressView newInstance() { return newInstance(null, null, true); } - @Nullable - @Override - public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_progress, container, false); - - setCancelable(false); - getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); - - mBindings.setTitle(UtilityString.isNullOrEmpty(title) ? requireActivity().getString(R.string.loading) : title); - - mBindings.setSubtitle(subtitle); - mBindings.progressBar.setIndeterminate(isIndeterminateProgress()); - - if(!isIndeterminateProgress()){ - mBindings.progressBar.setMax(100); - } - - return mBindings.getRoot(); + public DialogProgressView(String title, String subtitle, boolean indeterminate) { + this.setTitle(title); + this.setSubtitle(subtitle); + this.setIndeterminateProgress(indeterminate); } + @NonNull + @Override + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + mBindings = DialogProgressBinding.inflate(LayoutInflater.from(requireContext())); + + mBindings.setTitle(UtilityString.isNullOrEmpty(title) ? requireContext().getString(R.string.loading) : title); + if (!UtilityString.isNullOrEmpty(subtitle)) mBindings.setSubtitle(subtitle); + + mBindings.progressBar.setIndeterminate(isIndeterminateProgress()); + if (!isIndeterminateProgress()) mBindings.progressBar.setMax(100); + + return new MaterialAlertDialogBuilder(requireContext()) + .setView(mBindings.getRoot()) + .setCancelable(false) + .create(); + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getSubtitle() { + return subtitle; + } + + public void setSubtitle(String subtitle) { + this.subtitle = subtitle; + } public boolean isIndeterminateProgress() { return indeterminateProgress; @@ -69,17 +82,6 @@ public class DialogProgressView extends DialogFragment { return this; } - - public DialogProgressView setTitle(String title) { - this.title = title; - return this; - } - - public DialogProgressView setSubtitle(String subtitle) { - this.subtitle = subtitle; - return this; - } - public void setProgress(int progress) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { mBindings.progressBar.setProgress(progress, true); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/base/DialogSimpleMessageView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/base/DialogSimpleMessageView.java index 9a0b1dac..e33913e2 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/base/DialogSimpleMessageView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/base/DialogSimpleMessageView.java @@ -1,15 +1,12 @@ package it.integry.integrywmsnative.view.dialogs.base; -import android.content.Context; +import android.app.Dialog; import android.content.res.ColorStateList; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.text.Spanned; import android.view.LayoutInflater; import android.view.View; -import android.view.ViewGroup; import android.widget.RelativeLayout; import android.widget.TextView; @@ -19,7 +16,8 @@ import androidx.annotation.StringRes; import androidx.appcompat.widget.LinearLayoutCompat; import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; -import androidx.databinding.DataBindingUtil; + +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import java.util.HashMap; @@ -66,7 +64,8 @@ public class DialogSimpleMessageView extends BaseDialogFragment { private final HashMap mHashmapContent; private final Runnable mOnPositiveClick; private final Runnable mOnNegativeClick; - private final @StringRes Integer mRNeutralButtonString; + private final @StringRes + Integer mRNeutralButtonString; private final Runnable mOnNeutralClick; @@ -76,13 +75,12 @@ public class DialogSimpleMessageView extends BaseDialogFragment { private DialogBaseBinding mBindings; - private Context mContext; - public static DialogSimpleMessageView newInstance(@NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap hashmapContent , Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) { + public static DialogSimpleMessageView newInstance(@NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap hashmapContent, Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) { return new DialogSimpleMessageView(type, titleText, messageText, hashmapContent, onPositiveClick, onNegativeClick, rNeutralButtonString, onNeutralClick); } - private DialogSimpleMessageView(@NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap hashmapContent , Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) { + private DialogSimpleMessageView(@NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap hashmapContent, Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) { super(); this.mType = type; @@ -99,57 +97,79 @@ public class DialogSimpleMessageView extends BaseDialogFragment { public void onStart() { super.onStart(); - UtilityDialog.setTo90PercentWidth(this.mContext, this); + UtilityDialog.setTo90PercentWidth(this.requireContext(), this); } - @Nullable + @NonNull @Override - public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - this.mContext = getActivity(); - - mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_base, container, false); + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + mBindings = DialogBaseBinding.inflate(LayoutInflater.from(requireContext()), null, false); mBindings.setView(this); mBindings.setLifecycleOwner(this); - getDialog().setCanceledOnTouchOutside(false); - getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + this.initContent(); + var alertDialogBuilder = new MaterialAlertDialogBuilder(requireContext()) + .setView(mBindings.getRoot()) + .setCancelable(false); + + if (isPositiveVisible()) + alertDialogBuilder.setPositiveButton(getPositiveButtonText(), (dialog, which) -> { + this.mOnPositiveClick.run(); + }); + + if (isNeutralVisible()) + alertDialogBuilder.setNeutralButton(getNeutralButtonText(), (dialog, which) -> { + this.mOnNeutralClick.run(); + }); + + if (isNegativeVisible()) + alertDialogBuilder.setNegativeButton(getNegativeButtonText(), (dialog, which) -> { + this.mOnNegativeClick.run(); + }); + + var alertDialog = alertDialogBuilder.create(); + alertDialog.setCanceledOnTouchOutside(false); + return alertDialog; + } + + private void initContent() { int colorBackgroundTitle = -1; Drawable titleIconRes = null; switch (mType) { case INFO: - colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.light_blue_300); - titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_info_78dp, null); + colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.colorPrimary); + titleIconRes = ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_info_78dp, null); break; case SUCCESS: - colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.green_300); - titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_done_white_24dp, null); + colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.green_300); + titleIconRes = ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_done_white_24dp, null); break; case WARNING: - colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.yellow_600); - titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_warning_white_24dp, null); + colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.yellow_600); + titleIconRes = ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_warning_white_24dp, null); break; case ERROR: - colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.red_300); - titleIconRes = ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_mood_bad_24dp, null); + colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.red_300); + titleIconRes = ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_mood_bad_24dp, null); break; } - this.positiveButtonText = mContext.getText(R.string.ok).toString(); - this.negativeButtonText = mContext.getText(R.string.no).toString(); + this.positiveButtonText = requireContext().getText(R.string.ok).toString(); + this.negativeButtonText = requireContext().getText(R.string.no).toString(); //Title VIEW mBindings.titleText.setText(mTitleText); - ColorStateList colorStateList = ColorStateList.valueOf(Color.WHITE); + ColorStateList colorStateList = ColorStateList.valueOf(colorBackgroundTitle); mBindings.titleIcon.setImageTintList(colorStateList); mBindings.titleIcon.setImageDrawable(titleIconRes); - mBindings.titleContainer.setBackgroundColor(colorBackgroundTitle); +// mBindings.titleContainer.setBackgroundColor(colorBackgroundTitle); //Content View mBindings.descriptionText.setText(mMessageText); @@ -161,15 +181,15 @@ public class DialogSimpleMessageView extends BaseDialogFragment { String currentKey = mHashmapContent.keySet().toArray()[i].toString(); String currentValue = mHashmapContent.get(currentKey); - RelativeLayout singleMapContent = (RelativeLayout) inflater.inflate(R.layout.dialog_custom_content_hashmap_viewmodel, hashMapContainer); + RelativeLayout singleMapContent = (RelativeLayout) LayoutInflater.from(requireContext()).inflate(R.layout.dialog_custom_content_hashmap_viewmodel, hashMapContainer); ((TextView) singleMapContent.findViewById(R.id.dialog_content_hashmap_key)).setText(currentKey); ((TextView) singleMapContent.findViewById(R.id.dialog_content_hashmap_value)).setText(currentValue); hashMapContainer.addView(singleMapContent); } + } else { + hashMapContainer.setVisibility(View.GONE); } - - return mBindings.getRoot(); } @@ -191,7 +211,7 @@ public class DialogSimpleMessageView extends BaseDialogFragment { } public String getNeutralButtonText() { - return mRNeutralButtonString != null && mRNeutralButtonString != -1 ? mContext.getText(mRNeutralButtonString).toString() : null; + return mRNeutralButtonString != null && mRNeutralButtonString != -1 ? requireContext().getText(mRNeutralButtonString).toString() : null; } public String getNegativeButtonText() { @@ -200,17 +220,17 @@ public class DialogSimpleMessageView extends BaseDialogFragment { public void onPositiveClick() { dismiss(); - if(mOnPositiveClick != null) mOnPositiveClick.run(); + if (mOnPositiveClick != null) mOnPositiveClick.run(); } public void onNeutralClick() { dismiss(); - if(mOnNeutralClick != null) mOnNeutralClick.run(); + if (mOnNeutralClick != null) mOnNeutralClick.run(); } public void onNegativeClick() { dismiss(); - if(mOnNegativeClick != null) mOnNegativeClick.run(); + if (mOnNegativeClick != null) mOnNegativeClick.run(); } public static DialogSimpleMessageView makeInfoDialog(String titleText, Spanned messageText, HashMap hashmapContent, Runnable onPositiveClick) { diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLU.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLU.java deleted file mode 100644 index f01d1f58..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLU.java +++ /dev/null @@ -1,81 +0,0 @@ -package it.integry.integrywmsnative.view.dialogs.basket_lu; - -import android.app.Dialog; -import android.content.Context; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; -import android.view.LayoutInflater; - -import androidx.databinding.DataBindingUtil; - -import java.util.AbstractMap; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import it.integry.integrywmsnative.R; -import it.integry.integrywmsnative.core.expansion.RunnableArgs; -import it.integry.integrywmsnative.core.model.MtbColt; -import it.integry.integrywmsnative.core.utility.UtilityDialog; -import it.integry.integrywmsnative.databinding.DialogBasketLuBinding; -import it.integry.integrywmsnative.view.dialogs.basket_lu.pages.page1.DialogBasketLU_Page1_ViewModel; -import it.integry.integrywmsnative.view.dialogs.basket_lu.pages.page2.DialogBasketLU_Page2_ViewModel; - -public class DialogBasketLU { - - private Context mContext; - private Dialog mDialog; - private DialogBasketLuBinding mBinding; - - private RunnableArgs mOnComplete; - - public static Dialog make(final Context context, RunnableArgs onComplete) { - return new DialogBasketLU(context, onComplete).mDialog; - } - - - private DialogBasketLU(Context context, RunnableArgs onComplete) { - mContext = context; - mOnComplete = onComplete; - - LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); - mBinding = DataBindingUtil.inflate(inflater, R.layout.dialog_basket_lu, null, false); - - mDialog = new Dialog(context); - - mDialog.setContentView(mBinding.getRoot()); - - mDialog.setCanceledOnTouchOutside(false); - mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); - - UtilityDialog.setTo90PercentWidth(context, mDialog); - - this.initViewPager(); - } - - private void initViewPager() { - List>> views = new ArrayList<>(); - views.add(new AbstractMap.SimpleEntry<>(R.layout.dialog_basket_lu__page1, DialogBasketLU_Page1_ViewModel.class)); - views.add(new AbstractMap.SimpleEntry<>(R.layout.dialog_basket_lu__page2, DialogBasketLU_Page2_ViewModel.class)); - - DialogBasketLU_ViewPagerAdapter viewPagerAdapter = new DialogBasketLU_ViewPagerAdapter(mContext, views); - mBinding.viewpager.setAdapter(viewPagerAdapter); - mBinding.viewpager.beginFakeDrag(); - mBinding.viewpager.addOnPageChangeListener(viewPagerAdapter); - mBinding.viewpager.setEnabled(false); - - - mDialog.setOnShowListener(v -> { - - - viewPagerAdapter.getViewModel(R.layout.dialog_basket_lu__page2).setOnConfirmClickListener(data -> { - MtbColt mtbColt = (MtbColt) data; - - mOnComplete.run(mtbColt); - mDialog.dismiss(); - }); - - }); - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLUView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLUView.java new file mode 100644 index 00000000..389db303 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/basket_lu/DialogBasketLUView.java @@ -0,0 +1,75 @@ +package it.integry.integrywmsnative.view.dialogs.basket_lu; + +import android.app.Dialog; +import android.os.Bundle; +import android.view.LayoutInflater; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + +import java.util.AbstractMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.expansion.BaseDialogFragment; +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.model.MtbColt; +import it.integry.integrywmsnative.databinding.DialogBasketLuBinding; +import it.integry.integrywmsnative.view.dialogs.basket_lu.pages.page1.DialogBasketLU_Page1_ViewModel; +import it.integry.integrywmsnative.view.dialogs.basket_lu.pages.page2.DialogBasketLU_Page2_ViewModel; + +public class DialogBasketLUView extends BaseDialogFragment { + + private final RunnableArgs mOnComplete; + private DialogBasketLuBinding mBindings; + + + + public DialogBasketLUView(RunnableArgs onComplete) { + mOnComplete = onComplete; + } + + @NonNull + @Override + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + mBindings = DialogBasketLuBinding.inflate(LayoutInflater.from(requireContext()), null, false); + + var alertDialog = new MaterialAlertDialogBuilder(requireContext()) + .setView(mBindings.getRoot()) + .setCancelable(false) + .create(); + + alertDialog.setCanceledOnTouchOutside(false); + this.initViewPager(alertDialog); + + return alertDialog; + } + + private void initViewPager(Dialog dialog) { + List>> views = new ArrayList<>(); + views.add(new AbstractMap.SimpleEntry<>(R.layout.dialog_basket_lu__page1, DialogBasketLU_Page1_ViewModel.class)); + views.add(new AbstractMap.SimpleEntry<>(R.layout.dialog_basket_lu__page2, DialogBasketLU_Page2_ViewModel.class)); + + DialogBasketLU_ViewPagerAdapter viewPagerAdapter = new DialogBasketLU_ViewPagerAdapter(requireContext(), views); + mBindings.viewpager.setAdapter(viewPagerAdapter); + mBindings.viewpager.beginFakeDrag(); + mBindings.viewpager.addOnPageChangeListener(viewPagerAdapter); + mBindings.viewpager.setEnabled(false); + + + dialog.setOnShowListener(v -> { + viewPagerAdapter.getViewModel(R.layout.dialog_basket_lu__page2).setOnConfirmClickListener(data -> { + MtbColt mtbColt = (MtbColt) data; + + mOnComplete.run(mtbColt); + dialog.dismiss(); + }); + + }); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArts.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArts.java index 2a30def6..d42fe92a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArts.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromListaArts.java @@ -207,7 +207,10 @@ public class DialogChooseArtsFromListaArts extends BaseDialogFragment { .filter(x -> { String codMart = x.getMtbColr().getMtbAart().getCodMart().toLowerCase(); String descrizioneArt = x.getMtbColr().getMtbAart().getDescrizioneEstesa().toLowerCase(); - String diacod = x.getMtbColr().getMtbAart().getDiacod().toLowerCase(); + String diacod = x.getMtbColr().getMtbAart().getDiacod(); + if (!UtilityString.isNullOrEmpty(diacod)) { + diacod = diacod.toLowerCase(); + } return ((codMart.startsWith(finalNewText) || codMart.endsWith(finalNewText) || @@ -217,10 +220,10 @@ public class DialogChooseArtsFromListaArts extends BaseDialogFragment { descrizioneArt.endsWith(finalNewText) || descrizioneArt.contains(finalNewText) || descrizioneArt.equalsIgnoreCase(finalNewText)) || - (diacod.startsWith(finalNewText) || + (!UtilityString.isNullOrEmpty(diacod) && (diacod.startsWith(finalNewText) || diacod.endsWith(finalNewText) || diacod.contains(finalNewText) || - diacod.equalsIgnoreCase(finalNewText))) && + diacod.equalsIgnoreCase(finalNewText)))) && !x.isHidden(); }) .toList(); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPeso.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPeso.java deleted file mode 100644 index df570d41..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPeso.java +++ /dev/null @@ -1,135 +0,0 @@ -package it.integry.integrywmsnative.view.dialogs.input_peso_lu; - -import android.app.Dialog; -import android.content.Context; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; -import android.view.LayoutInflater; -import android.widget.ArrayAdapter; - -import androidx.databinding.DataBindingUtil; -import androidx.fragment.app.FragmentActivity; - -import com.annimon.stream.Optional; -import com.annimon.stream.Stream; - -import java.math.BigDecimal; -import java.util.List; - -import it.integry.integrywmsnative.R; -import it.integry.integrywmsnative.core.di.BindableString; -import it.integry.integrywmsnative.core.expansion.RunnableArgsss; -import it.integry.integrywmsnative.core.model.MtbTCol; -import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer; -import it.integry.integrywmsnative.core.utility.UtilityExceptions; -import it.integry.integrywmsnative.core.utility.UtilityNumber; -import it.integry.integrywmsnative.core.utility.UtilityProgress; -import it.integry.integrywmsnative.databinding.DialogInputPesoLuBinding; -import it.integry.integrywmsnative.view.dialogs.DialogProgressView; - -public class DialogInputPeso { - - - private final FragmentActivity mContext; - private final DialogInputPesoLuBinding mBindings; - private final DialogInputPesoViewModel mViewModel; - private final Dialog currentDialog; - - private List codTcolList = null; - private ArrayAdapter codTcolArrayAdapter = null; - - public static Dialog make(final FragmentActivity context, String codTcol, BigDecimal netWeight, BigDecimal grossWeight, RunnableArgsss onDialogDismiss) { - return new DialogInputPeso(context, codTcol, netWeight, grossWeight, onDialogDismiss).currentDialog; - } - - - private DialogInputPeso(final FragmentActivity context, String codTcol, BigDecimal netWeight, BigDecimal grossWeight, RunnableArgsss onDialogDismiss) { - this.mContext = context; - - - LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_input_peso_lu, null, false); - - currentDialog = new Dialog(context); - currentDialog.setContentView(mBindings.getRoot()); - - currentDialog.setCanceledOnTouchOutside(false); - currentDialog.setCancelable(false); - currentDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); - - mViewModel = new DialogInputPesoViewModel(); - mViewModel.codTcol.set(codTcol); - mViewModel.netWeight.set(UtilityNumber.decimalToString(netWeight)); - mViewModel.grossWeight.set(UtilityNumber.decimalToString(grossWeight)); - - mBindings.setViewModel(mViewModel); - - mBindings.buttonConfirm.setOnClickListener(v -> { - currentDialog.dismiss(); - - String newCodTcol = null; - - if(mViewModel.codTcol.get() != null) { - Optional newCodTcolOptional = Stream.of(codTcolList) - .filter(x -> (x.getCodTcol() + " - " + x.getDescrizione()).equalsIgnoreCase(mViewModel.codTcol.get())) - .findSingle(); - - if(newCodTcolOptional.isPresent()) newCodTcol = newCodTcolOptional.get().getCodTcol(); - } - - - BigDecimal netWeightDecimal = new BigDecimal(mViewModel.netWeight.get()); - BigDecimal grossWeightDecimal = new BigDecimal(mViewModel.grossWeight.get()); - - onDialogDismiss.run(newCodTcol, netWeightDecimal, grossWeightDecimal); - }); - - - this.init(); - } - - - - - private void init() { - - final DialogProgressView progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); - - MagazzinoRESTConsumer.getTipiColloStatic(codTcols -> { - this.codTcolList = codTcols; - - List codTcolDescriptions = Stream.of(codTcols) - .map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione()) - .toList(); - - if(mViewModel.codTcol.get() != null) { - Optional newCodTcol = Stream.of(codTcols) - .filter(x -> x.getCodTcol().equalsIgnoreCase(mViewModel.codTcol.get())) - .map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione()) - .findSingle(); - - if(newCodTcol.isPresent()) mViewModel.codTcol.set(newCodTcol.get()); - } - - codTcolArrayAdapter = new ArrayAdapter(mContext, R.layout.array_adapter_single_item); - codTcolArrayAdapter.addAll(codTcolDescriptions); - mBindings.filledExposedDropdownCodTcol.setAdapter(codTcolArrayAdapter); - - progressDialog.dismiss(); - - }, ex -> { - UtilityExceptions.defaultException(mContext, ex, progressDialog); - }); - - } - - - public class DialogInputPesoViewModel { - public BindableString codTcol = new BindableString(); - public BindableString netWeight = new BindableString(); - public BindableString grossWeight = new BindableString(); - - } - - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPesoLuView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPesoLuView.java new file mode 100644 index 00000000..a2db677a --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPesoLuView.java @@ -0,0 +1,116 @@ +package it.integry.integrywmsnative.view.dialogs.input_peso_lu; + +import android.app.Dialog; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.widget.ArrayAdapter; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.DialogFragment; + +import com.annimon.stream.Optional; +import com.annimon.stream.Stream; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + +import java.math.BigDecimal; +import java.util.List; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.di.BindableString; +import it.integry.integrywmsnative.core.expansion.RunnableArgsss; +import it.integry.integrywmsnative.core.model.MtbTCol; +import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer; +import it.integry.integrywmsnative.core.utility.UtilityExceptions; +import it.integry.integrywmsnative.core.utility.UtilityNumber; +import it.integry.integrywmsnative.databinding.DialogInputPesoLuBinding; + +public class DialogInputPesoLuView extends DialogFragment { + + private DialogInputPesoLuBinding mBindings; + private RunnableArgsss onDialogDismiss; + + public BindableString codTcol = new BindableString(); + public BindableString netWeight = new BindableString(); + public BindableString grossWeight = new BindableString(); + + + private List codTcolList = null; + private ArrayAdapter codTcolArrayAdapter = null; + + + public DialogInputPesoLuView(String codTcol, BigDecimal netWeight, BigDecimal grossWeight, RunnableArgsss onDialogDismiss) { + this.onDialogDismiss = onDialogDismiss; + + this.codTcol.set(codTcol); + this.netWeight.set(UtilityNumber.decimalToString(netWeight)); + this.grossWeight.set(UtilityNumber.decimalToString(grossWeight)); + } + + @NonNull + @Override + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + mBindings = DialogInputPesoLuBinding.inflate(LayoutInflater.from(requireContext()), null, false); + mBindings.setView(this); + + this.init(); + + var alertDialog = new MaterialAlertDialogBuilder(requireContext()) + .setView(mBindings.getRoot()) + .setCancelable(false) + .setPositiveButton(R.string.confirm, (dialog, which) -> { + String newCodTcol = null; + + if(codTcol.get() != null) { + Optional newCodTcolOptional = Stream.of(codTcolList) + .filter(x -> (x.getCodTcol() + " - " + x.getDescrizione()).equalsIgnoreCase(codTcol.get())) + .findSingle(); + + if(newCodTcolOptional.isPresent()) newCodTcol = newCodTcolOptional.get().getCodTcol(); + } + + + BigDecimal netWeightDecimal = new BigDecimal(netWeight.get()); + BigDecimal grossWeightDecimal = new BigDecimal(grossWeight.get()); + + onDialogDismiss.run(newCodTcol, netWeightDecimal, grossWeightDecimal); + }) + .create(); + alertDialog.setCanceledOnTouchOutside(false); + return alertDialog; + } + + private void init() { + +// final DialogProgressView progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); + + MagazzinoRESTConsumer.getTipiColloStatic(codTcols -> { + this.codTcolList = codTcols; + + List codTcolDescriptions = Stream.of(codTcols) + .map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione()) + .toList(); + + if(codTcol.get() != null) { + Optional newCodTcol = Stream.of(codTcols) + .filter(x -> x.getCodTcol().equalsIgnoreCase(codTcol.get())) + .map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione()) + .findSingle(); + + if(newCodTcol.isPresent()) codTcol.set(newCodTcol.get()); + } + + codTcolArrayAdapter = new ArrayAdapter(requireContext(), R.layout.array_adapter_single_item); + codTcolArrayAdapter.addAll(codTcolDescriptions); + mBindings.filledExposedDropdownCodTcol.setAdapter(codTcolArrayAdapter); + +// progressDialog.dismiss(); + + }, ex -> { + UtilityExceptions.defaultException(requireContext(), ex); + }); + + } + + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2DTO.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2DTO.java index a8e869e8..c02ebc58 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2DTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2DTO.java @@ -5,6 +5,7 @@ import java.util.Date; import it.integry.integrywmsnative.core.expansion.RunnableArgsWithReturn; import it.integry.integrywmsnative.core.model.MtbAart; +import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; public class DialogInputQuantityV2DTO { @@ -40,6 +41,9 @@ public class DialogInputQuantityV2DTO { private boolean isFocusOnStart = true; private boolean canLUBeClosed; private boolean saveOnImeDone = false; + private boolean notifyProductLotStatus = false; + + private StatoArticoloDTO statoPartitaMag; private String partitaMag; private String note; @@ -317,4 +321,22 @@ public class DialogInputQuantityV2DTO { this.saveOnImeDone = saveOnImeDone; return this; } + + public StatoArticoloDTO getStatoPartitaMag() { + return statoPartitaMag; + } + + public DialogInputQuantityV2DTO setStatoPartitaMag(StatoArticoloDTO statoPartitaMag) { + this.statoPartitaMag = statoPartitaMag; + return this; + } + + public boolean isNotifyProductLotStatus() { + return notifyProductLotStatus; + } + + public DialogInputQuantityV2DTO setNotifyProductLotStatus(boolean notifyProductLotStatus) { + this.notifyProductLotStatus = notifyProductLotStatus; + return this; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java index 31ee45f9..b15686ed 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java @@ -40,6 +40,7 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgss; import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbUntMis; +import it.integry.integrywmsnative.core.model.secondary.StatoPartitaMag; import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityFocus; @@ -81,6 +82,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia public ObservableField enabledChangePartitaMag = new ObservableField<>(true); public ObservableField enabledNotes = new ObservableField<>(false); public ObservableField enabledLUCloseButton = new ObservableField<>(true); + public ObservableField showProductLotStatus = new ObservableField<>(false); private final Handler mHandler = new Handler(); @@ -163,6 +165,10 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia mBindings.setView(this); mBindings.setViewmodel(this.mViewModel); + if (mDialogInputQuantityV2DTO.isNotifyProductLotStatus() && mDialogInputQuantityV2DTO.getStatoPartitaMag() != null) { + this.initProductLotStatusNotification(); + } + MtbUntMis mtbUntMis = mDialogInputQuantityV2DTO.getMtbAart().getMtbUntMis() != null && mDialogInputQuantityV2DTO.getMtbAart().getMtbUntMis().size() > 0 ? mDialogInputQuantityV2DTO.getMtbAart().getMtbUntMis().get(0) : null; if (!(mtbUntMis != null && mtbUntMis.isFlagDig())) { mBindings.inputQtaTotText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL); @@ -193,6 +199,28 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia return mBindings.getRoot(); } + private void initProductLotStatusNotification() { + StatoPartitaMag statoPartitaMag = StatoPartitaMag.from(this.mDialogInputQuantityV2DTO.getStatoPartitaMag().getStatoArt()); + if (statoPartitaMag == null) + return; + + this.mBindings.inputDataScadLayout.setEndIconMode(TextInputLayout.END_ICON_CUSTOM); + switch (statoPartitaMag) { + case SCADUTO: + this.mBindings.inputDataScadLayout.setEndIconDrawable(R.drawable.ic_baseline_warning_24); + this.mBindings.inputDataScadLayout.setEndIconTintList(ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.warn_color))); + break; + case IN_SCADENZA: + this.mBindings.inputDataScadLayout.setEndIconDrawable(R.drawable.ic_baseline_warning_24); + this.mBindings.inputDataScadLayout.setEndIconTintList(ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.error_color))); + break; + default: + this.mBindings.inputDataScadLayout.setEndIconDrawable(R.drawable.ic_check_white_24dp); + this.mBindings.inputDataScadLayout.setEndIconTintList(ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.success_color))); + + } + } + @Override public void onDestroyView() { super.onDestroyView(); @@ -425,6 +453,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia this.enabledChangePartitaMag.set(this.mDialogInputQuantityV2DTO.isCanPartitaMagBeChanged()); this.mViewModel.shouldAskDataScad = this.mDialogInputQuantityV2DTO.isDataScadMandatory(); this.enabledNotes.set(this.mDialogInputQuantityV2DTO.isNotesAllowed()); + this.showProductLotStatus.set(SettingsManager.iDB().isNotifyLotStatus()); this.enabledLUCloseButton.set(this.mDialogInputQuantityV2DTO.isCanLUBeClosed()); this.currentTaraArticolo.set(this.mViewModel.getMtbAart().getTaraKg()); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLUView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLUView.java index f43c3fa1..a55dce7d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLUView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLUView.java @@ -2,17 +2,14 @@ package it.integry.integrywmsnative.view.dialogs.scan_or_create_lu; import android.app.Dialog; import android.content.DialogInterface; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.text.SpannableString; import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.databinding.DataBindingUtil; + +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import org.jetbrains.annotations.NotNull; @@ -30,7 +27,7 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgss; import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.databinding.DialogScanOrCreateLuBinding; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; -import it.integry.integrywmsnative.view.dialogs.basket_lu.DialogBasketLU; +import it.integry.integrywmsnative.view.dialogs.basket_lu.DialogBasketLUView; public class DialogScanOrCreateLUView extends BaseDialogFragment implements DialogScanOrCreateLUViewModel.Listener { @@ -40,12 +37,12 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial private DialogScanOrCreateLuBinding mBindings; private int mBarcodeScannerIstanceID; - private RunnableArgss mOnComplete; + private final RunnableArgss mOnComplete; private MtbColt openedMtbColt; - private boolean mShouldCheckResiduo; - private boolean mShouldCheckIfExistDoc; - private boolean mEnableCreation; + private final boolean mShouldCheckResiduo; + private final boolean mShouldCheckIfExistDoc; + private final boolean mEnableCreation; private final BindableBoolean basketEnabled = new BindableBoolean(); private final BindableBoolean creationEnabled = new BindableBoolean(); @@ -73,22 +70,21 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial mEnableCreation = enableCreation; mOnComplete = onComplete; - } - - - @Nullable - @Override - public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - this.initBarcode(); - - mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_scan_or_create_lu, container, false); - mBindings.setLifecycleOwner(this); - mBindings.setView(this); MainApplication.appComponent .dialogScanOrCreateLUComponent() .create() .inject(this); + } + + @NonNull + @Override + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + this.initBarcode(); + + mBindings = DialogScanOrCreateLuBinding.inflate(LayoutInflater.from(requireContext()), null, false); + mBindings.setLifecycleOwner(this); + mBindings.setView(this); this.mViewModel .setListener(this); @@ -97,27 +93,22 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial this.mViewModel.init(mShouldCheckResiduo, mShouldCheckIfExistDoc, mEnableCreation); mBindings.createNewLuButton.setOnClickListener(v -> { + dismiss(); this.mViewModel.createNewLU(); }); mBindings.viewBasket.setOnClickListener(v -> { - DialogBasketLU.make(getActivity(), mtbColt -> { + new DialogBasketLUView(mtbColt -> { onLUOpened(mtbColt, false); - }).show(); + }).show(requireActivity().getSupportFragmentManager(), "tag"); }); - return mBindings.getRoot(); - } - - @NonNull - @Override - public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { - var dialog = super.onCreateDialog(savedInstanceState); - - dialog.setCanceledOnTouchOutside(false); - dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); - - return dialog; + var alertDialog = new MaterialAlertDialogBuilder(requireContext()) + .setView(mBindings.getRoot()) + .setCancelable(false) + .create(); + alertDialog.setCanceledOnTouchOutside(false); + return alertDialog; } @Override diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNo.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNo.java deleted file mode 100644 index 1692625b..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNo.java +++ /dev/null @@ -1,52 +0,0 @@ -package it.integry.integrywmsnative.view.dialogs.yes_no; - -import android.app.Dialog; -import android.content.Context; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; -import android.view.LayoutInflater; - -import androidx.databinding.DataBindingUtil; -import it.integry.integrywmsnative.R; -import it.integry.integrywmsnative.core.expansion.RunnableArgs; -import it.integry.integrywmsnative.databinding.DialogYesNoBinding; -import it.integry.integrywmsnative.view.dialogs.DialogConsts; - -public class DialogYesNo { - - private Dialog currentDialog; - - public static Dialog make(final Context context, final String title, final String description, RunnableArgs onDialogDismiss) { - return new DialogYesNo(context, title, description, onDialogDismiss).currentDialog; - } - - private DialogYesNo(Context context, String title, String description, RunnableArgs onDialogDismiss) { - LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); - DialogYesNoBinding bindings = DataBindingUtil.inflate(inflater, R.layout.dialog_yes_no, null, false); - - currentDialog = new Dialog(context); - - currentDialog.setContentView(bindings.getRoot()); - - currentDialog.setCancelable(false); - currentDialog.setCanceledOnTouchOutside(false); - currentDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); - - bindings.titleText.setText(title); - bindings.descriptionText.setText(description); - - bindings.buttonYes.setOnClickListener(v -> { - onDialogDismiss.run(DialogConsts.Results.YES); - currentDialog.dismiss(); - }); - - bindings.buttonNo.setOnClickListener(v -> { - onDialogDismiss.run(DialogConsts.Results.NO); - currentDialog.dismiss(); - }); - - - } - - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNoView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNoView.java new file mode 100644 index 00000000..40d63adc --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/yes_no/DialogYesNoView.java @@ -0,0 +1,67 @@ +package it.integry.integrywmsnative.view.dialogs.yes_no; + +import android.app.Dialog; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.DialogFragment; + +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.utility.UtilityString; +import it.integry.integrywmsnative.databinding.DialogYesNoBinding; +import it.integry.integrywmsnative.view.dialogs.DialogConsts; + +public class DialogYesNoView extends DialogFragment { + + private final String title; + private final String description; + private final RunnableArgs onDialogDismiss; + + public DialogYesNoView(final String title, final String description, RunnableArgs onDialogDismiss) { + super(); + + this.title = title; + this.description = description; + this.onDialogDismiss = onDialogDismiss; + } + + + @NonNull + @Override + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + var binding = DialogYesNoBinding.inflate(LayoutInflater.from(requireContext())); + binding.executePendingBindings(); + + if(UtilityString.isNullOrEmpty(title)) { + binding.titleText.setVisibility(View.GONE); + binding.descriptionText.setTextAppearance(requireContext(), R.style.TextAppearance_Material3_BodyLarge); + } else { + binding.titleText.setText(title); + binding.titleText.setVisibility(View.VISIBLE); + binding.descriptionText.setTextAppearance(requireContext(), R.style.TextAppearance_Material3_BodyMedium); + } + + binding.descriptionText.setText(description); + + + var alertDialog = new MaterialAlertDialogBuilder(requireContext()) + .setView(binding.getRoot()) + .setCancelable(false) + .setPositiveButton("Ok", (dialog, which) -> { + if (onDialogDismiss != null) onDialogDismiss.run(DialogConsts.Results.YES); + }) + .setNegativeButton("Annulla", (dialog, which) -> { + if (onDialogDismiss != null) onDialogDismiss.run(DialogConsts.Results.NO); + }) + .create(); + + alertDialog.setCanceledOnTouchOutside(false); + return alertDialog; + } +} diff --git a/app/src/main/res/drawable/ic_baseline_warning_24.xml b/app/src/main/res/drawable/ic_baseline_warning_24.xml new file mode 100644 index 00000000..b1726a36 --- /dev/null +++ b/app/src/main/res/drawable/ic_baseline_warning_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout/dialog_base.xml b/app/src/main/res/layout/dialog_base.xml index 2090dcdb..2525d373 100644 --- a/app/src/main/res/layout/dialog_base.xml +++ b/app/src/main/res/layout/dialog_base.xml @@ -17,262 +17,243 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" - android:orientation="vertical" app:cardCornerRadius="12dp" app:cardElevation="0dp"> + android:orientation="vertical" + android:paddingHorizontal="16dp" + android:paddingVertical="16dp"> - + + + + android:gravity="center_horizontal" + tools:text="Title here" /> - - - + - - - - + android:paddingHorizontal="12dp" /> - + + + + + + + + + + + + - + + + + + + + + + + + + - - - + + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + - + + + + + + + + + + + + - + + + + + + + + + + + + + + - + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + - - - - - - - - - - + diff --git a/app/src/main/res/layout/dialog_basket_lu.xml b/app/src/main/res/layout/dialog_basket_lu.xml index d79af1e0..fca3a951 100644 --- a/app/src/main/res/layout/dialog_basket_lu.xml +++ b/app/src/main/res/layout/dialog_basket_lu.xml @@ -1,45 +1,36 @@ - + android:orientation="vertical" + android:paddingStart="8dp" + android:paddingTop="24dp" + android:paddingEnd="8dp" + android:paddingBottom="16dp"> - - + android:gravity="center_horizontal" + android:text="@string/basket" /> - + - - - + - + - \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_basket_lu__mtb_colt_model.xml b/app/src/main/res/layout/dialog_basket_lu__mtb_colt_model.xml index 76990136..a50e5ef3 100644 --- a/app/src/main/res/layout/dialog_basket_lu__mtb_colt_model.xml +++ b/app/src/main/res/layout/dialog_basket_lu__mtb_colt_model.xml @@ -1,10 +1,15 @@ + + + + + - + android:paddingBottom="12dp"> - + android:orientation="horizontal" + app:layout_constraintTop_toTopOf="parent"> - - - - - + android:layout_height="wrap_content" + android:layout_marginHorizontal="12dp" + android:background="@drawable/badge_round_corner" + android:backgroundTint="@color/colorPrimary" + android:layout_gravity="center" + android:paddingLeft="6dp" + android:paddingTop="2dp" + android:paddingRight="6dp" + android:paddingBottom="2dp" + android:text="@{mtbColt.numCollo.toString()}" + android:textColor="@android:color/white" + android:textStyle="bold" + tools:text="22222" /> - @@ -63,25 +60,25 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - - @@ -90,16 +87,17 @@ - - - + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_basket_lu__page1.xml b/app/src/main/res/layout/dialog_basket_lu__page1.xml index 4d435f2d..9bfb9f57 100644 --- a/app/src/main/res/layout/dialog_basket_lu__page1.xml +++ b/app/src/main/res/layout/dialog_basket_lu__page1.xml @@ -45,7 +45,7 @@ android:orientation="vertical" app:layout_constraintGuide_percent="0.85" /> - - + diff --git a/app/src/main/res/layout/dialog_basket_lu__page2.xml b/app/src/main/res/layout/dialog_basket_lu__page2.xml index 1fd84f5c..532d1760 100644 --- a/app/src/main/res/layout/dialog_basket_lu__page2.xml +++ b/app/src/main/res/layout/dialog_basket_lu__page2.xml @@ -106,15 +106,13 @@ diff --git a/app/src/main/res/layout/dialog_input_peso_lu.xml b/app/src/main/res/layout/dialog_input_peso_lu.xml index 9cde4db6..ab314172 100644 --- a/app/src/main/res/layout/dialog_input_peso_lu.xml +++ b/app/src/main/res/layout/dialog_input_peso_lu.xml @@ -1,188 +1,157 @@ - + + + + + + + name="view" + type="it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPesoLuView" /> - - + android:orientation="vertical" + android:paddingHorizontal="16dp" + android:paddingVertical="16dp"> - + + + - - - - + android:gravity="center_horizontal" + android:text="@string/action_insert_weight" /> - - + android:layout_marginTop="16dp" + android:text="@string/dialog_input_peso_lu_description" /> - + + + + android:hint="@string/lu_type"> - - - - - - - - - - - + android:ellipsize="end" + android:imeOptions="actionNext" + android:inputType="textNoSuggestions" + android:nextFocusForward="@id/filled_exposed_dropdown_vettore" + android:singleLine="true" + app:binding="@{view.codTcol}" /> - + + + + + + + + + + + + android:hint="@string/gross_weight" + android:inputType="numberDecimal" + app:binding="@{view.grossWeight}" /> + - - - - - - - + android:hint="@string/net_weight" + android:inputType="numberDecimal" + app:binding="@{view.netWeight}" /> - + + - + - - - - - - - - - - - - - - - - - - - - + diff --git a/app/src/main/res/layout/dialog_progress.xml b/app/src/main/res/layout/dialog_progress.xml index b9d76f88..325fc237 100644 --- a/app/src/main/res/layout/dialog_progress.xml +++ b/app/src/main/res/layout/dialog_progress.xml @@ -3,91 +3,60 @@ - - - - + - - - + + + + + + + + + + + android:orientation="vertical" + android:paddingLeft="24dp" + android:paddingTop="24dp" + android:paddingRight="24dp"> - + android:gravity="center_horizontal" + android:text="@{title}" + tools:text="Loading" /> + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_scan_or_create_lu.xml b/app/src/main/res/layout/dialog_scan_or_create_lu.xml index 5f5539ac..8ebc95f6 100644 --- a/app/src/main/res/layout/dialog_scan_or_create_lu.xml +++ b/app/src/main/res/layout/dialog_scan_or_create_lu.xml @@ -1,200 +1,144 @@ - + - + android:orientation="vertical" + android:paddingHorizontal="16dp" + android:paddingVertical="16dp"> - + + + + android:gravity="center_horizontal" + android:text="@string/title_open_lu" /> - + + - + + - - + android:layout_gravity="center_vertical" + android:layout_marginStart="4dp" + android:layout_marginEnd="12dp" + android:gravity="center_horizontal" + android:text="Scansiona il codice a barre di una UL" /> + - + + + + + + + + + + + + + + + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + android:gravity="center_horizontal" + app:visibility="@{view.basketEnabled}"> - - + android:layout_gravity="center_horizontal" + android:layout_marginVertical="12dp" + android:gravity="center_horizontal" + android:text="OPPURE" + android:textStyle="bold" /> - - - - - - - - - - - - - - - - - - + android:text="@string/button_view_basket_ul" + app:icon="@drawable/ic_black_shopping_cart" + app:iconSize="24dp" /> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_yes_no.xml b/app/src/main/res/layout/dialog_yes_no.xml index 745284ae..bef4c0de 100644 --- a/app/src/main/res/layout/dialog_yes_no.xml +++ b/app/src/main/res/layout/dialog_yes_no.xml @@ -8,101 +8,42 @@ app:cardCornerRadius="12dp" app:cardElevation="0dp"> - + android:orientation="vertical" + android:paddingHorizontal="16dp" + android:paddingVertical="16dp"> - + + + - - - - + android:gravity="center_horizontal" + android:layout_marginBottom="16dp" + android:text="Title here" /> - - - - - - + android:gravity="center_horizontal" + android:text="Description here" /> - - - - - - - - - - - - - - - - - - + diff --git a/app/src/main/res/layout/fragment_main_ordini_uscita.xml b/app/src/main/res/layout/fragment_main_ordini_uscita.xml index d341dd88..cd68b974 100644 --- a/app/src/main/res/layout/fragment_main_ordini_uscita.xml +++ b/app/src/main/res/layout/fragment_main_ordini_uscita.xml @@ -24,9 +24,10 @@ android:background="@android:color/white" tools:context=".gest.vendita.MainVenditaFragment"> - + android:layout_height="match_parent" + android:orientation="vertical"> + android:layout_height="match_parent"/> - + + style="?attr/floatingActionButtonPrimaryStyle" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main_ordini_uscita__list_group_model.xml b/app/src/main/res/layout/fragment_main_ordini_uscita__list_group_model.xml index d23a78a2..a5b55962 100644 --- a/app/src/main/res/layout/fragment_main_ordini_uscita__list_group_model.xml +++ b/app/src/main/res/layout/fragment_main_ordini_uscita__list_group_model.xml @@ -17,6 +17,7 @@ android:layout_height="wrap_content" android:paddingStart="2dp" android:paddingEnd="4dp" + android:paddingVertical="2dp" android:orientation="horizontal"> @@ -24,33 +25,29 @@ + android:layout_height="match_parent" /> - - + android:layout_alignParentEnd="true"> - + diff --git a/app/src/main/res/layout/fragment_main_ordini_uscita__list_model.xml b/app/src/main/res/layout/fragment_main_ordini_uscita__list_model.xml index 054d7c6e..2ee259a8 100644 --- a/app/src/main/res/layout/fragment_main_ordini_uscita__list_model.xml +++ b/app/src/main/res/layout/fragment_main_ordini_uscita__list_model.xml @@ -1,45 +1,32 @@ - - - - + android:enabled="false"/> - - - - - - diff --git a/app/src/main/res/layout/fragment_picking_libero.xml b/app/src/main/res/layout/fragment_picking_libero.xml index 1df81499..66b71f75 100644 --- a/app/src/main/res/layout/fragment_picking_libero.xml +++ b/app/src/main/res/layout/fragment_picking_libero.xml @@ -1,26 +1,23 @@ - + xmlns:fab="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools"> + - - - + - - - - - - - + android:paddingEnd="2dp" + tools:itemCount="3" + tools:listitem="@layout/lista_picking_libero_list_model" /> + app:layout_constraintGuide_percent="0.35" /> + app:layout_constraintRight_toLeftOf="@id/free_picking__suggestion_1__guideline_right" + app:layout_constraintTop_toBottomOf="@id/free_picking__suggestion_1__guideline_top" + app:visibility="@{view.thereIsntAnOpenedUL}"> + android:gravity="center_horizontal" + android:text="@string/free_picking_suggestion_1" + android:textColor="@android:color/black" + android:textSize="18sp" /> + app:layout_constraintRight_toLeftOf="@id/free_picking__suggestion_1__guideline_right" + app:layout_constraintTop_toBottomOf="@id/free_picking__suggestion_1__guideline_top" + app:visibility="@{view.thereIsAnOpenULWithoutRows}"> + android:gravity="center_horizontal" + android:text="@string/free_picking_suggestion_2" + android:textColor="@android:color/black" + android:textSize="18sp" /> - - - - + style="?attr/floatingActionButtonPrimaryStyle" /> - - - + style="?attr/floatingActionButtonSecondaryStyle" /> + + + + + + + + + + + + + + + + + + android:focusable="true" + android:visibility="gone" /> + app:layout_constraintTop_toTopOf="parent" + tools:listitem="@layout/layout_filter_gruppo_merc__list_item" /> diff --git a/app/src/main/res/layout/layout_filter_gruppo_merc__list_item.xml b/app/src/main/res/layout/layout_filter_gruppo_merc__list_item.xml index 5681fe31..2526b9fa 100644 --- a/app/src/main/res/layout/layout_filter_gruppo_merc__list_item.xml +++ b/app/src/main/res/layout/layout_filter_gruppo_merc__list_item.xml @@ -16,21 +16,21 @@ + android:onClick="@{() -> item.selected.toggle()}" + android:orientation="horizontal" + android:gravity="center_vertical" + android:paddingHorizontal="8dp"> - + app:checked="@{item.selected}" /> + android:layout_marginEnd="16dp"> + app:layout_constraintTop_toTopOf="parent" + tools:listitem="@layout/layout_filter_numero_ordine__list_item" /> diff --git a/app/src/main/res/layout/layout_filter_numero_ordine__list_item.xml b/app/src/main/res/layout/layout_filter_numero_ordine__list_item.xml index 20962c9a..fbe25115 100644 --- a/app/src/main/res/layout/layout_filter_numero_ordine__list_item.xml +++ b/app/src/main/res/layout/layout_filter_numero_ordine__list_item.xml @@ -5,7 +5,9 @@ xmlns:tools="http://schemas.android.com/tools"> + + + android:onClick="@{() -> item.selected.toggle()}" + android:orientation="horizontal" + android:gravity="center_vertical" + android:paddingHorizontal="8dp"> - + app:checked="@{item.selected}" /> - + android:text="@{item.originalModel.toString()}" + tools:text="01" /> - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/spedizione_main_list__group_item.xml b/app/src/main/res/layout/spedizione_main_list__group_item.xml index 7fa4bef0..36624fb6 100644 --- a/app/src/main/res/layout/spedizione_main_list__group_item.xml +++ b/app/src/main/res/layout/spedizione_main_list__group_item.xml @@ -32,7 +32,7 @@ android:paddingLeft="6dp" android:paddingRight="6dp" android:textStyle="bold" - style="@style/AppTheme.NewMaterial.Text.Small"/> + style="@style/AppTheme.NewMaterial.Text.Small" /> + tools:text="QTA" /> + android:text=" / " /> + tools:text="QTA" /> + tools:text="cnf" /> + android:visibility="gone" /> @@ -112,7 +112,7 @@ android:textSize="16sp" android:textColor="@android:color/black" style="@style/AppTheme.NewMaterial.Text.Small" - tools:text="DESCRIZIONE"/> + tools:text="DESCRIZIONE" /> - + tools:text="SUB DESCRIZIONE" /> + tools:text="SUB DESCRIZIONE" /> + + @@ -160,12 +167,11 @@ android:layout_marginStart="8dp" android:textStyle="bold" android:layout_alignParentEnd="true" - style="@style/AppTheme.NewMaterial.Text.Small"/> + style="@style/AppTheme.NewMaterial.Text.Small" /> - Crea documento Nessun articolo compatibile trovato UL vuota + %s %s]]> \ No newline at end of file diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml new file mode 100644 index 00000000..c817c91c --- /dev/null +++ b/app/src/main/res/values-night/themes.xml @@ -0,0 +1,31 @@ + + + + diff --git a/app/src/main/res/values/buttons_style.xml b/app/src/main/res/values/buttons_style.xml index 32a7b14e..894166d2 100644 --- a/app/src/main/res/values/buttons_style.xml +++ b/app/src/main/res/values/buttons_style.xml @@ -33,7 +33,7 @@ @color/red_400 - + - - - - diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 00000000..99866d1a --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,31 @@ + + + + diff --git a/barcode_base_android_library/build.gradle b/barcode_base_android_library/build.gradle index 095006a5..de782954 100644 --- a/barcode_base_android_library/build.gradle +++ b/barcode_base_android_library/build.gradle @@ -25,6 +25,7 @@ android { lint { abortOnError false } + namespace 'it.integry.barcode_base_android_library' } @@ -32,7 +33,7 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation 'androidx.appcompat:appcompat:1.4.1' + implementation 'androidx.appcompat:appcompat:1.5.1' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', { diff --git a/barcode_base_android_library/src/main/AndroidManifest.xml b/barcode_base_android_library/src/main/AndroidManifest.xml index f560fa39..94cbbcfc 100644 --- a/barcode_base_android_library/src/main/AndroidManifest.xml +++ b/barcode_base_android_library/src/main/AndroidManifest.xml @@ -1,2 +1 @@ - + diff --git a/build.gradle b/build.gradle index b82a1801..913495f7 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.2.2' + classpath 'com.android.tools.build:gradle:7.3.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.google.gms:google-services:4.3.13' diff --git a/dynamic__base/build.gradle b/dynamic__base/build.gradle index f3cc22f0..e3258b1b 100644 --- a/dynamic__base/build.gradle +++ b/dynamic__base/build.gradle @@ -16,6 +16,7 @@ android { lint { abortOnError false } + namespace 'it.integry.wms.dynamic__base' } diff --git a/dynamic__base/src/main/AndroidManifest.xml b/dynamic__base/src/main/AndroidManifest.xml index b2800bb9..c1b3be0b 100644 --- a/dynamic__base/src/main/AndroidManifest.xml +++ b/dynamic__base/src/main/AndroidManifest.xml @@ -1,6 +1,5 @@ + xmlns:dist="http://schemas.android.com/apk/distribution"> + xmlns:dist="http://schemas.android.com/apk/distribution"> + diff --git a/keyobardemulatorscannerlibrary/build.gradle b/keyobardemulatorscannerlibrary/build.gradle index 5fd8f6ff..d3b26e12 100644 --- a/keyobardemulatorscannerlibrary/build.gradle +++ b/keyobardemulatorscannerlibrary/build.gradle @@ -25,13 +25,14 @@ android { lint { abortOnError false } + namespace 'it.integry.keyobardemulatorscannerlibrary' } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation 'androidx.appcompat:appcompat:1.4.1' + implementation 'androidx.appcompat:appcompat:1.5.1' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', { diff --git a/keyobardemulatorscannerlibrary/src/main/AndroidManifest.xml b/keyobardemulatorscannerlibrary/src/main/AndroidManifest.xml index 71b0d304..94cbbcfc 100644 --- a/keyobardemulatorscannerlibrary/src/main/AndroidManifest.xml +++ b/keyobardemulatorscannerlibrary/src/main/AndroidManifest.xml @@ -1,2 +1 @@ - + diff --git a/pointmobilescannerlibrary/build.gradle b/pointmobilescannerlibrary/build.gradle index bdf939ee..6bf5f17d 100644 --- a/pointmobilescannerlibrary/build.gradle +++ b/pointmobilescannerlibrary/build.gradle @@ -24,12 +24,13 @@ android { lint { abortOnError false } + namespace 'it.integry.pointmobilescannerlibrary' } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') - implementation 'androidx.appcompat:appcompat:1.4.1' + implementation 'androidx.appcompat:appcompat:1.5.1' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test:runner:1.4.0' androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', { diff --git a/pointmobilescannerlibrary/src/main/AndroidManifest.xml b/pointmobilescannerlibrary/src/main/AndroidManifest.xml index e20b179e..91970df2 100644 --- a/pointmobilescannerlibrary/src/main/AndroidManifest.xml +++ b/pointmobilescannerlibrary/src/main/AndroidManifest.xml @@ -1,5 +1,4 @@ - + +