Completate implementazioni per resi fornitore
This commit is contained in:
@@ -51,7 +51,7 @@ android {
|
||||
buildTypes {
|
||||
debug {
|
||||
ext.enableCrashlytics = false
|
||||
minifyEnabled true // Abilita la minimizzazione del codice
|
||||
// minifyEnabled true // Abilita la minimizzazione del codice
|
||||
// shrinkResources true // Rimuove risorse non utilizzate
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import androidx.databinding.BindingAdapter;
|
||||
import androidx.databinding.BindingConversion;
|
||||
import androidx.databinding.Observable;
|
||||
import androidx.databinding.ObservableField;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
@@ -476,7 +477,7 @@ public class Converters {
|
||||
|
||||
|
||||
@BindingAdapter(value = {"binding", "parentView", "warningOnOldDates"}, requireAll = false)
|
||||
public static void bindTextInputEditTextDate(TextInputEditText view, final ObservableField<Date> observableDate, BaseDialogFragment parentFragment, boolean warningOnOldDates) {
|
||||
public static void bindTextInputEditTextDate(TextInputEditText view, final ObservableField<Date> observableDate, DialogFragment parentFragment, boolean warningOnOldDates) {
|
||||
Pair<ObservableField<Date>, TextWatcherAdapter> pair = (Pair) view.getTag(R.id.bound_observable);
|
||||
if (pair == null || pair.first != observableDate) {
|
||||
if (pair != null) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package it.integry.integrywmsnative.core.model;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
@@ -9,6 +10,8 @@ import java.util.Objects;
|
||||
|
||||
import it.integry.integrywmsnative.core.exception.DateNotRecognizedException;
|
||||
import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException;
|
||||
import it.integry.integrywmsnative.core.model.key.DtbDocrKey;
|
||||
import it.integry.integrywmsnative.core.model.key.DtbDoctKey;
|
||||
import it.integry.integrywmsnative.core.model.key.MtbColrKey;
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
@@ -84,7 +87,7 @@ public class MtbColr extends EntityBase {
|
||||
@SerializedName("codDtipDoc")
|
||||
private String codDtipDoc;
|
||||
@SerializedName("dataDoc")
|
||||
private String dataDoc;
|
||||
private LocalDate dataDoc;
|
||||
@SerializedName("serDoc")
|
||||
private String serDoc;
|
||||
@SerializedName("numDoc")
|
||||
@@ -186,9 +189,39 @@ public class MtbColr extends EntityBase {
|
||||
}
|
||||
|
||||
public MtbColrKey getKey() {
|
||||
if (UtilityString.isNullOrEmpty(gestione) ||
|
||||
UtilityString.isNullOrEmpty(serCollo) ||
|
||||
getDataColloLD() == null ||
|
||||
numCollo == null ||
|
||||
riga == null)
|
||||
return null;
|
||||
|
||||
return new MtbColrKey(gestione, serCollo, getDataColloLD(), numCollo, riga);
|
||||
}
|
||||
|
||||
public DtbDoctKey getDocumentKey() {
|
||||
if (UtilityString.isNullOrEmpty(codAnagDoc) ||
|
||||
UtilityString.isNullOrEmpty(codDtipDoc) ||
|
||||
UtilityString.isNullOrEmpty(serDoc) ||
|
||||
dataDoc == null ||
|
||||
numDoc == null)
|
||||
return null;
|
||||
|
||||
return new DtbDoctKey(codAnagDoc, codDtipDoc, dataDoc, numDoc, serDoc);
|
||||
}
|
||||
|
||||
public DtbDocrKey getDocumentRowKey() {
|
||||
if (UtilityString.isNullOrEmpty(codAnagDoc) ||
|
||||
UtilityString.isNullOrEmpty(codDtipDoc) ||
|
||||
UtilityString.isNullOrEmpty(serDoc) ||
|
||||
dataDoc == null ||
|
||||
numDoc == null ||
|
||||
idRigaDoc == null)
|
||||
return null;
|
||||
|
||||
return new DtbDocrKey(codAnagDoc, codDtipDoc, dataDoc, numDoc, serDoc, idRigaDoc);
|
||||
}
|
||||
|
||||
public static class Causale {
|
||||
public static final int DEFAULT = 0;
|
||||
public static final int RETTIFICA = 1;
|
||||
@@ -561,11 +594,11 @@ public class MtbColr extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDataDoc() {
|
||||
public LocalDate getDataDoc() {
|
||||
return dataDoc;
|
||||
}
|
||||
|
||||
public MtbColr setDataDoc(String dataDoc) {
|
||||
public MtbColr setDataDoc(LocalDate dataDoc) {
|
||||
this.dataDoc = dataDoc;
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -19,6 +19,8 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.dto.InternalCodAnagsDTO;
|
||||
import it.integry.integrywmsnative.core.model.key.DtbDoctKey;
|
||||
import it.integry.integrywmsnative.core.model.key.MtbColtKey;
|
||||
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
@@ -73,7 +75,7 @@ public class MtbColt extends EntityBase {
|
||||
@SerializedName("dataOrd")
|
||||
private String dataOrd;
|
||||
@SerializedName("dataDoc")
|
||||
private String dataDoc;
|
||||
private LocalDate dataDoc;
|
||||
@SerializedName("oraInizPrep")
|
||||
private String oraInizPrep;
|
||||
@SerializedName("oraFinePrep")
|
||||
@@ -135,6 +137,27 @@ public class MtbColt extends EntityBase {
|
||||
}
|
||||
}
|
||||
|
||||
public MtbColtKey getKey() {
|
||||
if (UtilityString.isNullOrEmpty(gestione) ||
|
||||
UtilityString.isNullOrEmpty(serCollo) ||
|
||||
getDataColloLD() == null ||
|
||||
numCollo == null)
|
||||
return null;
|
||||
|
||||
return new MtbColtKey(gestione, serCollo, getDataColloLD(), numCollo);
|
||||
}
|
||||
|
||||
public DtbDoctKey getDocumentKey() {
|
||||
if (UtilityString.isNullOrEmpty(codAnag) ||
|
||||
UtilityString.isNullOrEmpty(codDtip) ||
|
||||
UtilityString.isNullOrEmpty(serDoc) ||
|
||||
dataDoc == null ||
|
||||
numDoc == null)
|
||||
return null;
|
||||
|
||||
return new DtbDoctKey(codAnag, codDtip, dataDoc, numDoc, serDoc);
|
||||
}
|
||||
|
||||
public MtbColt initDefaultFields(GestioneEnum gestioneEnum) {
|
||||
setGestione(gestioneEnum);
|
||||
setCodMdep(SettingsManager.i().getUserSession().getDepo().getCodMdep());
|
||||
@@ -410,11 +433,11 @@ public class MtbColt extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDataDoc() {
|
||||
public LocalDate getDataDoc() {
|
||||
return dataDoc;
|
||||
}
|
||||
|
||||
public MtbColt setDataDoc(String dataDoc) {
|
||||
public MtbColt setDataDoc(LocalDate dataDoc) {
|
||||
this.dataDoc = dataDoc;
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ public class DtbDoctKey {
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
if (o == null || (getClass() != o.getClass() && !getClass().isAssignableFrom(o.getClass()))) return false;
|
||||
DtbDoctKey that = (DtbDoctKey) o;
|
||||
return Objects.equals(codAnag, that.codAnag) &&
|
||||
Objects.equals(codDtip, that.codDtip) &&
|
||||
@@ -45,6 +45,7 @@ public class DtbDoctKey {
|
||||
Objects.equals(serDoc, that.serDoc);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(codAnag, codDtip, dataDoc, numDoc, serDoc);
|
||||
|
||||
@@ -290,6 +290,8 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
public List<MtbColr> fillMtbAartsOfMtbColrsSynchronized(List<MtbColr> mtbColrs) throws Exception {
|
||||
|
||||
List<String> codMarts = new ArrayList<>(mtbColrs.stream()
|
||||
|
||||
@@ -49,10 +49,14 @@ public class InsertUDCRowRequestDTO {
|
||||
@SerializedName("codDtip")
|
||||
private String codDtip;
|
||||
|
||||
@SerializedName("pesoNettoKg")
|
||||
private BigDecimal pesoNettoKg;
|
||||
@SerializedName("pesoLordoKg")
|
||||
private BigDecimal pesoLordoKg;
|
||||
|
||||
|
||||
@SerializedName("customBarcodeUlIn")
|
||||
private String customBarcodeUlIn;
|
||||
@SerializedName("customCodMdepIn")
|
||||
private String customCodMdepIn;
|
||||
@SerializedName("customPosizioneIn")
|
||||
private String customPosizioneIn;
|
||||
|
||||
@SerializedName("documentReso")
|
||||
private DtbDocrKey documentReso;
|
||||
@@ -220,20 +224,31 @@ public class InsertUDCRowRequestDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPesoNettoKg() {
|
||||
return pesoNettoKg;
|
||||
public String getCustomBarcodeUlIn() {
|
||||
return customBarcodeUlIn;
|
||||
}
|
||||
|
||||
public void setPesoNettoKg(BigDecimal pesoNettoKg) {
|
||||
this.pesoNettoKg = pesoNettoKg;
|
||||
public InsertUDCRowRequestDTO setCustomBarcodeUlIn(String customBarcodeUlIn) {
|
||||
this.customBarcodeUlIn = customBarcodeUlIn;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getPesoLordoKg() {
|
||||
return pesoLordoKg;
|
||||
public String getCustomCodMdepIn() {
|
||||
return customCodMdepIn;
|
||||
}
|
||||
|
||||
public void setPesoLordoKg(BigDecimal pesoLordoKg) {
|
||||
this.pesoLordoKg = pesoLordoKg;
|
||||
public InsertUDCRowRequestDTO setCustomCodMdepIn(String customCodMdepIn) {
|
||||
this.customCodMdepIn = customCodMdepIn;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCustomPosizioneIn() {
|
||||
return customPosizioneIn;
|
||||
}
|
||||
|
||||
public InsertUDCRowRequestDTO setCustomPosizioneIn(String customPosizioneIn) {
|
||||
this.customPosizioneIn = customPosizioneIn;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DtbDocrKey getDocumentReso() {
|
||||
|
||||
@@ -141,7 +141,7 @@ public class UpdatesManager {
|
||||
try {
|
||||
fileDownloader.download();
|
||||
} catch (Exception e) {
|
||||
progressDialogBuilder.dismissAllowingStateLoss();
|
||||
progressDialogBuilder.dismiss();
|
||||
UtilityExceptions.defaultException(context, e);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -5,12 +5,12 @@ import android.os.Handler;
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
|
||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliSpedizioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||
import it.integry.integrywmsnative.gest.picking_resi.rest.PickingResiRESTConsumer;
|
||||
@@ -20,8 +20,8 @@ import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFrag
|
||||
public class PickingResiModule {
|
||||
|
||||
@Provides
|
||||
PickingResiRESTConsumer providesPickingResiRESTConsumer(SystemRESTConsumer systemRESTConsumer, ArticoloRESTConsumer articoloRESTConsumer) {
|
||||
return new PickingResiRESTConsumer(systemRESTConsumer, articoloRESTConsumer);
|
||||
PickingResiRESTConsumer providesPickingResiRESTConsumer(RESTBuilder restBuilder, SystemRESTConsumer systemRESTConsumer, ArticoloRESTConsumer articoloRESTConsumer) {
|
||||
return new PickingResiRESTConsumer(restBuilder, systemRESTConsumer, articoloRESTConsumer);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@@ -33,7 +33,6 @@ public class PickingResiModule {
|
||||
PickingResiViewModel providesPickingResiViewModel(Handler handler,
|
||||
ArticoloRESTConsumer articoloRESTConsumer,
|
||||
ColliDataRecoverService colliDataRecoverService,
|
||||
OrdiniRESTConsumer ordiniRESTConsumer,
|
||||
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
|
||||
ColliSpedizioneRESTConsumer colliSpedizioneRESTConsumer,
|
||||
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
|
||||
@@ -44,7 +43,6 @@ public class PickingResiModule {
|
||||
articoloRESTConsumer,
|
||||
barcodeRESTConsumer,
|
||||
colliDataRecoverService,
|
||||
ordiniRESTConsumer,
|
||||
colliAccettazioneRESTConsumer,
|
||||
colliSpedizioneRESTConsumer,
|
||||
colliMagazzinoRESTConsumer,
|
||||
|
||||
@@ -15,6 +15,7 @@ import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
@@ -33,6 +34,7 @@ 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.observable.ObservableMtbTcol;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||
@@ -54,6 +56,7 @@ import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.gest.picking_resi.exceptions.DocumentsLoadException;
|
||||
import it.integry.integrywmsnative.gest.picking_resi.rest.PickingResiRESTConsumer;
|
||||
import it.integry.integrywmsnative.gest.picking_resi.rest.WithdrawableDtbDocr;
|
||||
import it.integry.integrywmsnative.gest.picking_resi.rest.dto.ScaricoUdcInDocumentDTO;
|
||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.NotCurrentYearLUException;
|
||||
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
||||
|
||||
@@ -72,6 +75,7 @@ public class PickingResiViewModel {
|
||||
private String mDefaultCodMdepOfLU;
|
||||
|
||||
private final Handler mHandler;
|
||||
private final ArticoloRESTConsumer mArticoloRESTConsumer;
|
||||
private final BarcodeRESTConsumer mBarcodeRESTConsumer;
|
||||
private final ColliDataRecoverService mColliDataRecoverService;
|
||||
private final ColliAccettazioneRESTConsumer mColliAccettazioneRESTConsumer;
|
||||
@@ -83,6 +87,7 @@ public class PickingResiViewModel {
|
||||
|
||||
@Inject
|
||||
public PickingResiViewModel(Handler handler,
|
||||
ArticoloRESTConsumer articoloRESTConsumer,
|
||||
BarcodeRESTConsumer barcodeRESTConsumer,
|
||||
ColliDataRecoverService colliDataRecoverService,
|
||||
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
|
||||
@@ -91,6 +96,7 @@ public class PickingResiViewModel {
|
||||
PrinterRESTConsumer printerRESTConsumer,
|
||||
PickingResiRESTConsumer mPickingResiRESTConsumer) {
|
||||
this.mHandler = handler;
|
||||
this.mArticoloRESTConsumer = articoloRESTConsumer;
|
||||
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
|
||||
this.mColliDataRecoverService = colliDataRecoverService;
|
||||
this.mColliAccettazioneRESTConsumer = colliAccettazioneRESTConsumer;
|
||||
@@ -171,6 +177,8 @@ public class PickingResiViewModel {
|
||||
public void closeLU(boolean shouldPrint) throws Exception {
|
||||
if (mCurrentMtbColt == null) return;
|
||||
|
||||
resetMatchedRows();
|
||||
|
||||
var canBeDeleted = mColliMagazzinoRESTConsumer.canULBeDeletedSynchronized(mCurrentMtbColt);
|
||||
|
||||
if (canBeDeleted) {
|
||||
@@ -320,16 +328,53 @@ public class PickingResiViewModel {
|
||||
}
|
||||
|
||||
private void executeEtichettaLU(String SSCC) throws Exception {
|
||||
var mtbColt = mColliMagazzinoRESTConsumer.getBySsccSynchronized(SSCC, true, false);
|
||||
MtbColt mtbColt = null;
|
||||
|
||||
mtbColt = mColliMagazzinoRESTConsumer.getBySsccSynchronized(SSCC, true, false);
|
||||
|
||||
if (mTipologiaReso == Tipologia.VENDITA) {
|
||||
//Leggere i colli in cui ho barcode_ul_out uguale a SSCC scansionato (nel caso di reso da cliente)
|
||||
//per sapere cosa ho venduto di preciso
|
||||
|
||||
var data = mPickingResiRESTConsumer.makeSynchronousRetrieveScarichiUdcInDocument(SSCC, null);
|
||||
|
||||
var mtbAarts = mArticoloRESTConsumer.getByCodMartsSynchronized(data.stream().map(ScaricoUdcInDocumentDTO::getCodMart).collect(Collectors.toUnmodifiableList()));
|
||||
|
||||
mtbColt.setMtbColr(new ObservableArrayList<>());
|
||||
mtbColt.getMtbColr().addAll(data.stream()
|
||||
.map(x -> {
|
||||
MtbColr mtbColr = new MtbColr()
|
||||
.setCodMart(x.getCodMart())
|
||||
.setPartitaMag(x.getPartitaMag())
|
||||
.setCodJcom(x.getCodJcom())
|
||||
.setQtaCol(x.getQtaCol())
|
||||
.setQtaCnf(x.getQtaCnf())
|
||||
.setNumCnf(x.getNumCnf())
|
||||
.setBarcodeUlOut(SSCC)
|
||||
.setSerDoc(x.getSerDoc())
|
||||
.setCodAnagDoc(x.getCodAnag())
|
||||
.setCodDtipDoc(x.getCodDtip())
|
||||
.setNumDoc(x.getNumDoc())
|
||||
.setDataDoc(x.getDataDoc())
|
||||
.setMtbAart(mtbAarts.stream().filter(y -> y.getCodMart().equalsIgnoreCase(x.getCodMart())).findFirst().get());
|
||||
|
||||
mtbColr.setUntMis(mtbColr.getMtbAart().getUntMis());
|
||||
|
||||
return mtbColr;
|
||||
})
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
if (mtbColt != null && mtbColt.getMtbColr() != null && !mtbColt.getMtbColr().isEmpty()) {
|
||||
if (mtbColt.getSegno() != -1) {
|
||||
searchArtFromUL(mtbColt);
|
||||
|
||||
} else
|
||||
throw new InvalidLUException();
|
||||
} else {
|
||||
|
||||
} else
|
||||
throw new NoResultFromBarcodeException(SSCC);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -370,8 +415,10 @@ public class PickingResiViewModel {
|
||||
for (WithdrawableDtbDocr pickingObject : pickingList) {
|
||||
//Da verificare se il controllo per partita deve essere sempre effettuato
|
||||
if (UtilityString.equalsIgnoreCase(x.getCodMart(), pickingObject.getCodMart()) &&
|
||||
UtilityString.equalsIgnoreCase(x.getPartitaMag(), pickingObject.getPartitaMag()) &&
|
||||
UtilityString.equalsIgnoreCase(x.getCodTagl(), pickingObject.getCodTagl()) &&
|
||||
UtilityString.equalsIgnoreCase(x.getCodCol(), pickingObject.getCodCol())) {
|
||||
UtilityString.equalsIgnoreCase(x.getCodCol(), pickingObject.getCodCol()) &&
|
||||
(mTipologiaReso == Tipologia.ACQUISTO || x.getDocumentKey().equals(pickingObject.getKey()))) {
|
||||
|
||||
if (!matchPickingObject.contains(pickingObject)) {
|
||||
matchPickingObject.add(pickingObject);
|
||||
@@ -388,8 +435,10 @@ public class PickingResiViewModel {
|
||||
|
||||
cloneMtbColt.getMtbColr().stream()
|
||||
.filter(x -> !(UtilityString.equalsIgnoreCase(x.getCodMart(), matchedObject.getCodMart()) &&
|
||||
UtilityString.equalsIgnoreCase(x.getPartitaMag(), matchedObject.getPartitaMag()) &&
|
||||
UtilityString.equalsIgnoreCase(x.getCodTagl(), matchedObject.getCodTagl()) &&
|
||||
UtilityString.equalsIgnoreCase(x.getCodCol(), matchedObject.getCodCol())))
|
||||
UtilityString.equalsIgnoreCase(x.getCodCol(), matchedObject.getCodCol())) &&
|
||||
(mTipologiaReso == Tipologia.ACQUISTO || x.getDocumentKey().equals(matchedObject.getKey())))
|
||||
.forEach(cloneMtbColrs::remove);
|
||||
|
||||
cloneMtbColt.setMtbColr(cloneMtbColrs);
|
||||
@@ -457,10 +506,18 @@ public class PickingResiViewModel {
|
||||
BigDecimal totalAvailableQtaCnf;
|
||||
BigDecimal totalAvailableNumCnf;
|
||||
|
||||
BigDecimal initialQtaCol = BigDecimal.ZERO;
|
||||
BigDecimal initialQtaCnf = BigDecimal.ZERO;
|
||||
BigDecimal initialNumCnf = BigDecimal.ZERO;
|
||||
|
||||
if (mtbColrToDispatch != null) {
|
||||
totalAvailableQtaCol = mtbColrToDispatch.getQtaCol();
|
||||
totalAvailableQtaCnf = mtbColrToDispatch.getQtaCnf();
|
||||
totalAvailableNumCnf = mtbColrToDispatch.getNumCnf();
|
||||
|
||||
initialQtaCol = mtbColrToDispatch.getQtaCol();
|
||||
initialQtaCnf = mtbColrToDispatch.getQtaCnf();
|
||||
initialNumCnf = mtbColrToDispatch.getNumCnf();
|
||||
} else {
|
||||
totalAvailableQtaCol = totalQtaDoc;
|
||||
totalAvailableQtaCnf = qtaCnfDoc;
|
||||
@@ -469,9 +526,9 @@ public class PickingResiViewModel {
|
||||
|
||||
var pickedQuantityDTO = this.sendOnItemDispatched(
|
||||
withdrawableDtbDocr.getMtbAart(),
|
||||
totalAvailableNumCnf,
|
||||
totalAvailableQtaCnf,
|
||||
totalAvailableQtaCol,
|
||||
initialNumCnf,
|
||||
initialQtaCnf,
|
||||
initialQtaCol,
|
||||
totalAvailableQtaCol,
|
||||
totalAvailableNumCnf,
|
||||
totalAvailableQtaCnf,
|
||||
@@ -525,12 +582,15 @@ public class PickingResiViewModel {
|
||||
public void saveNewRow(WithdrawableDtbDocr withdrawableDtbDocr, MtbColt refMtbColt, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) throws Exception {
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
var cloneMtbColt = (MtbColt) mCurrentMtbColt.clone();
|
||||
|
||||
InsertUDCRowRequestDTO insertUDCRowRequestDTO = null;
|
||||
InsertUDSRowRequestDTO insertUDSRowRequestDTO = null;
|
||||
|
||||
if (mTipologiaReso == Tipologia.VENDITA) {
|
||||
|
||||
insertUDCRowRequestDTO = new InsertUDCRowRequestDTO()
|
||||
.setTargetMtbColt(mCurrentMtbColt)
|
||||
.setTargetMtbColt(cloneMtbColt)
|
||||
.setCodMart(withdrawableDtbDocr.getMtbAart().getCodMart())
|
||||
.setPartitaMag(partitaMag)
|
||||
.setDataScad(dataScad)
|
||||
@@ -543,7 +603,7 @@ public class PickingResiViewModel {
|
||||
|
||||
} else if (mTipologiaReso == Tipologia.ACQUISTO) {
|
||||
insertUDSRowRequestDTO = new InsertUDSRowRequestDTO()
|
||||
.setTargetMtbColt(mCurrentMtbColt)
|
||||
.setTargetMtbColt(cloneMtbColt)
|
||||
.setCodMart(withdrawableDtbDocr.getMtbAart().getCodMart())
|
||||
.setPartitaMag(partitaMag)
|
||||
.setDataScad(dataScad)
|
||||
@@ -574,6 +634,10 @@ public class PickingResiViewModel {
|
||||
if (mTipologiaReso == Tipologia.ACQUISTO) {
|
||||
insertUDSRowRequestDTO
|
||||
.setSourceMtbColr(mtbColrToDispatch);
|
||||
} else if (mTipologiaReso == Tipologia.VENDITA) {
|
||||
//Nel caso in cui ho scansionato un SSCC che è esistito a magazzino allora forzo il barcode_ul_in
|
||||
//uguale a barcode_ul_out in modo che il servizio lo metta in barcode_ul_in
|
||||
insertUDCRowRequestDTO.setCustomBarcodeUlIn(mtbColrToDispatch.getBarcodeUlOut());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -13,20 +13,27 @@ import javax.inject.Singleton;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.DtbDocr;
|
||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||
import it.integry.integrywmsnative.core.model.key.DtbDoctKey;
|
||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityQuery;
|
||||
import it.integry.integrywmsnative.gest.picking_resi.rest.dto.RetrieveScarichiUdcInDocumentRequestDTO;
|
||||
import it.integry.integrywmsnative.gest.picking_resi.rest.dto.ScaricoUdcInDocumentDTO;
|
||||
|
||||
@Singleton
|
||||
public class PickingResiRESTConsumer {
|
||||
public class PickingResiRESTConsumer extends _BaseRESTConsumer {
|
||||
|
||||
|
||||
private final RESTBuilder restBuilder;
|
||||
private final SystemRESTConsumer mSystemRestConsumer;
|
||||
private final ArticoloRESTConsumer mArticoloRESTConsumer;
|
||||
|
||||
@Inject
|
||||
public PickingResiRESTConsumer(SystemRESTConsumer systemRESTConsumer, ArticoloRESTConsumer articoloRESTConsumer) {
|
||||
public PickingResiRESTConsumer(RESTBuilder restBuilder, SystemRESTConsumer systemRESTConsumer, ArticoloRESTConsumer articoloRESTConsumer) {
|
||||
this.restBuilder = restBuilder;
|
||||
this.mSystemRestConsumer = systemRESTConsumer;
|
||||
this.mArticoloRESTConsumer = articoloRESTConsumer;
|
||||
}
|
||||
@@ -93,4 +100,17 @@ public class PickingResiRESTConsumer {
|
||||
|
||||
}
|
||||
|
||||
|
||||
public List<ScaricoUdcInDocumentDTO> makeSynchronousRetrieveScarichiUdcInDocument(String barcodeUdc, List<DtbDoctKey> documents) throws Exception {
|
||||
var service = restBuilder.getService(PickingResiRESTConsumerService.class);
|
||||
|
||||
var response = service.retrieveScarichiUdcInDocuments(barcodeUdc, new RetrieveScarichiUdcInDocumentRequestDTO()
|
||||
.setDocuments(documents))
|
||||
.execute();
|
||||
|
||||
var data = analyzeAnswer(response, "retrieve-scarichi-udc-in-documents");
|
||||
|
||||
return data.getScarichiUdc() != null ? data.getScarichiUdc() : new ArrayList<>();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package it.integry.integrywmsnative.gest.picking_resi.rest;
|
||||
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import it.integry.integrywmsnative.gest.picking_resi.rest.dto.RetrieveScarichiUdcInDocumentRequestDTO;
|
||||
import it.integry.integrywmsnative.gest.picking_resi.rest.dto.RetrieveScarichiUdcInDocumentResponseDTO;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.Body;
|
||||
import retrofit2.http.POST;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface PickingResiRESTConsumerService {
|
||||
|
||||
@POST("wms/resi-clienti/retrieve-scarichi-udc-in-document")
|
||||
Call<ServiceRESTResponse<RetrieveScarichiUdcInDocumentResponseDTO>> retrieveScarichiUdcInDocuments(
|
||||
@Query("barcodeUdc") String barcodeUdc,
|
||||
@Body RetrieveScarichiUdcInDocumentRequestDTO requestBody
|
||||
);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package it.integry.integrywmsnative.gest.picking_resi.rest.dto;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.key.DtbDoctKey;
|
||||
|
||||
public class RetrieveScarichiUdcInDocumentRequestDTO {
|
||||
|
||||
@SerializedName("documents")
|
||||
private List<DtbDoctKey> documents;
|
||||
|
||||
public List<DtbDoctKey> getDocuments() {
|
||||
return documents;
|
||||
}
|
||||
|
||||
public RetrieveScarichiUdcInDocumentRequestDTO setDocuments(List<DtbDoctKey> documents) {
|
||||
this.documents = documents;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package it.integry.integrywmsnative.gest.picking_resi.rest.dto;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class RetrieveScarichiUdcInDocumentResponseDTO {
|
||||
|
||||
@SerializedName("scarichiUdc")
|
||||
private List<ScaricoUdcInDocumentDTO> scarichiUdc;
|
||||
|
||||
public List<ScaricoUdcInDocumentDTO> getScarichiUdc() {
|
||||
return scarichiUdc;
|
||||
}
|
||||
|
||||
public RetrieveScarichiUdcInDocumentResponseDTO setScarichiUdc(List<ScaricoUdcInDocumentDTO> scarichiUdc) {
|
||||
this.scarichiUdc = scarichiUdc;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
package it.integry.integrywmsnative.gest.picking_resi.rest.dto;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class ScaricoUdcInDocumentDTO {
|
||||
@SerializedName("codAnag")
|
||||
private String codAnag;
|
||||
|
||||
@SerializedName("codDtip")
|
||||
private String codDtip;
|
||||
|
||||
@SerializedName("dataDoc")
|
||||
private LocalDate dataDoc;
|
||||
|
||||
@SerializedName("numDoc")
|
||||
private int numDoc;
|
||||
|
||||
@SerializedName("serDoc")
|
||||
private String serDoc;
|
||||
|
||||
|
||||
@SerializedName("codMart")
|
||||
private String codMart;
|
||||
|
||||
@SerializedName("partitaMag")
|
||||
private String partitaMag;
|
||||
|
||||
@SerializedName("codJcom")
|
||||
private String codJcom;
|
||||
|
||||
|
||||
|
||||
@SerializedName("qtaCol")
|
||||
private BigDecimal qtaCol;
|
||||
|
||||
@SerializedName("qtaCnf")
|
||||
private BigDecimal qtaCnf;
|
||||
|
||||
@SerializedName("numCnf")
|
||||
private BigDecimal numCnf;
|
||||
|
||||
public String getCodAnag() {
|
||||
return codAnag;
|
||||
}
|
||||
|
||||
public ScaricoUdcInDocumentDTO setCodAnag(String codAnag) {
|
||||
this.codAnag = codAnag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodDtip() {
|
||||
return codDtip;
|
||||
}
|
||||
|
||||
public ScaricoUdcInDocumentDTO setCodDtip(String codDtip) {
|
||||
this.codDtip = codDtip;
|
||||
return this;
|
||||
}
|
||||
|
||||
public LocalDate getDataDoc() {
|
||||
return dataDoc;
|
||||
}
|
||||
|
||||
public ScaricoUdcInDocumentDTO setDataDoc(LocalDate dataDoc) {
|
||||
this.dataDoc = dataDoc;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getNumDoc() {
|
||||
return numDoc;
|
||||
}
|
||||
|
||||
public ScaricoUdcInDocumentDTO setNumDoc(int numDoc) {
|
||||
this.numDoc = numDoc;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getSerDoc() {
|
||||
return serDoc;
|
||||
}
|
||||
|
||||
public ScaricoUdcInDocumentDTO setSerDoc(String serDoc) {
|
||||
this.serDoc = serDoc;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodMart() {
|
||||
return codMart;
|
||||
}
|
||||
|
||||
public ScaricoUdcInDocumentDTO setCodMart(String codMart) {
|
||||
this.codMart = codMart;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getPartitaMag() {
|
||||
return partitaMag;
|
||||
}
|
||||
|
||||
public ScaricoUdcInDocumentDTO setPartitaMag(String partitaMag) {
|
||||
this.partitaMag = partitaMag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodJcom() {
|
||||
return codJcom;
|
||||
}
|
||||
|
||||
public ScaricoUdcInDocumentDTO setCodJcom(String codJcom) {
|
||||
this.codJcom = codJcom;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaCol() {
|
||||
return qtaCol;
|
||||
}
|
||||
|
||||
public ScaricoUdcInDocumentDTO setQtaCol(BigDecimal qtaCol) {
|
||||
this.qtaCol = qtaCol;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaCnf() {
|
||||
return qtaCnf;
|
||||
}
|
||||
|
||||
public ScaricoUdcInDocumentDTO setQtaCnf(BigDecimal qtaCnf) {
|
||||
this.qtaCnf = qtaCnf;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getNumCnf() {
|
||||
return numCnf;
|
||||
}
|
||||
|
||||
public ScaricoUdcInDocumentDTO setNumCnf(BigDecimal numCnf) {
|
||||
this.numCnf = numCnf;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -326,6 +326,7 @@ public class ProdDettaglioLineaActivity extends BaseActivity implements ProdDett
|
||||
null,
|
||||
() -> {
|
||||
DialogSimpleMessageView.makeInfoDialog(
|
||||
this,
|
||||
null,
|
||||
Html.fromHtml("Vuoi recuperare del materiale prima di chiudere gli ordini?"),
|
||||
null,
|
||||
|
||||
@@ -123,7 +123,7 @@ public class UltimeConsegneClienteFragment extends BaseFragment implements Ultim
|
||||
|
||||
handler.post(() -> {
|
||||
|
||||
DialogUltimeConsegneFiltroAvanzatoView.newInstance(gtbAnags, filterResult -> {
|
||||
DialogUltimeConsegneFiltroAvanzatoView.newInstance(requireContext(), gtbAnags, filterResult -> {
|
||||
if (filterResult == null || filterResult.isAborted())
|
||||
popMe();
|
||||
|
||||
@@ -132,7 +132,8 @@ public class UltimeConsegneClienteFragment extends BaseFragment implements Ultim
|
||||
refreshConsegne(filterResult.getGtbAnag());
|
||||
});
|
||||
})
|
||||
.show(requireActivity().getSupportFragmentManager(), "dialog-filtro-ultime-consegne");
|
||||
.show();
|
||||
// .show(requireActivity().getSupportFragmentManager(), "dialog-filtro-ultime-consegne");
|
||||
|
||||
});
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -77,6 +77,9 @@ public class UltimeConsegneClienteViewModel {
|
||||
|
||||
var result = this.mUltimeConsegneClienteRESTConsumer.makeSynchronousRetrieveDocumentiFromBarcodeUdcRequest(barcodeUl);
|
||||
|
||||
if(result == null)
|
||||
throw new Exception("Nessun documento trovato per il codice barcode: <b>" + barcodeUl + "</b>");
|
||||
|
||||
var filteredDocumentList = originalDocumentList.stream()
|
||||
.filter(x -> result.stream().anyMatch(y -> x.getDtbDoctKey().equals(y)))
|
||||
.collect(Collectors.toUnmodifiableList());
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
package it.integry.integrywmsnative.gest.ultime_consegne_cliente.dialog;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
@@ -20,31 +18,28 @@ import javax.inject.Inject;
|
||||
|
||||
import it.integry.integrywmsnative.MainApplication;
|
||||
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.GtbAnag;
|
||||
import it.integry.integrywmsnative.databinding.DialogUltimeConsegneFiltroAvanzatoBinding;
|
||||
import it.integry.integrywmsnative.ui.adapter.SimpleAutoCompleteDropdownAdapter;
|
||||
|
||||
public class DialogUltimeConsegneFiltroAvanzatoView extends BaseDialogFragment {
|
||||
public class DialogUltimeConsegneFiltroAvanzatoView extends MaterialAlertDialogBuilder {
|
||||
|
||||
@Inject
|
||||
DialogUltimeConsegneFiltroAvanzatoViewModel mViewModel;
|
||||
|
||||
private DialogUltimeConsegneFiltroAvanzatoBinding mBindings;
|
||||
private Context mContext;
|
||||
private final DialogUltimeConsegneFiltroAvanzatoBinding mBindings;
|
||||
private final Context mContext;
|
||||
private SimpleAutoCompleteDropdownAdapter<String> arrayAdapterRagSoc;
|
||||
|
||||
private final RunnableArgs<Result> onConfirm;
|
||||
|
||||
|
||||
public static DialogUltimeConsegneFiltroAvanzatoView newInstance(final List<GtbAnag> items, RunnableArgs<Result> onConfirm) {
|
||||
return new DialogUltimeConsegneFiltroAvanzatoView(items, onConfirm);
|
||||
public static DialogUltimeConsegneFiltroAvanzatoView newInstance(Context context, final List<GtbAnag> items, RunnableArgs<Result> onConfirm) {
|
||||
return new DialogUltimeConsegneFiltroAvanzatoView(context, items, onConfirm);
|
||||
}
|
||||
|
||||
private DialogUltimeConsegneFiltroAvanzatoView(final List<GtbAnag> items, RunnableArgs<Result> onConfirm) {
|
||||
super();
|
||||
|
||||
public DialogUltimeConsegneFiltroAvanzatoView(@NonNull Context context, final List<GtbAnag> items, RunnableArgs<Result> onConfirm) {
|
||||
super(context);
|
||||
this.mContext = context;
|
||||
this.onConfirm = onConfirm;
|
||||
|
||||
MainApplication.appComponent
|
||||
@@ -52,55 +47,41 @@ public class DialogUltimeConsegneFiltroAvanzatoView extends BaseDialogFragment {
|
||||
.create()
|
||||
.inject(this);
|
||||
mViewModel.init(items);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
this.mContext = requireContext();
|
||||
|
||||
mBindings = DialogUltimeConsegneFiltroAvanzatoBinding.inflate(LayoutInflater.from(this.mContext), null, false);
|
||||
mBindings.setLifecycleOwner(this); // Necessario per LiveData e binding
|
||||
if (mContext instanceof LifecycleOwner) {
|
||||
mBindings.setLifecycleOwner((LifecycleOwner) mContext); // Necessario per LiveData e binding
|
||||
}
|
||||
mBindings.setView(this);
|
||||
mBindings.setViewmodel(mViewModel);
|
||||
|
||||
setCancelable(false);
|
||||
|
||||
var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
|
||||
.setView(mBindings.getRoot())
|
||||
.setCancelable(isCancelable())
|
||||
.setPositiveButton(R.string.ok, (dialog, which) -> onOk())
|
||||
.setNegativeButton(R.string.abort, (dialog, which) -> {
|
||||
setView(mBindings.getRoot());
|
||||
setPositiveButton(R.string.ok, (dialog, which) -> onOk());
|
||||
setNegativeButton(R.string.abort, (dialog, which) -> {
|
||||
if (onConfirm != null) onConfirm.run(Result.aborted());
|
||||
})
|
||||
.setNeutralButton(R.string.reset, (dialog, which) -> {})
|
||||
.create();
|
||||
|
||||
alertDialog.setCanceledOnTouchOutside(isCancelable());
|
||||
alertDialog.setOnShowListener(this); // Rimosso se non specificamente necessario per altro
|
||||
alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
||||
});
|
||||
setNeutralButton(R.string.reset, (dialog, which) -> {
|
||||
});
|
||||
|
||||
this.initDropDowns();
|
||||
|
||||
return alertDialog;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public void onShow(DialogInterface dialogInterface) {
|
||||
super.onShow(dialogInterface);
|
||||
|
||||
var alertDialog = ((AlertDialog) dialogInterface);
|
||||
public AlertDialog create() {
|
||||
AlertDialog alertDialog = super.create();
|
||||
alertDialog.setCanceledOnTouchOutside(false);
|
||||
alertDialog.setOnShowListener(dialogInterface -> {
|
||||
alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
|
||||
|
||||
var neutralButton = alertDialog.getButton(DialogInterface.BUTTON_NEUTRAL);
|
||||
neutralButton.setOnClickListener(view -> {
|
||||
reset();
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dismiss() {
|
||||
if (getDialog() != null) getDialog().dismiss();
|
||||
super.dismiss();
|
||||
});
|
||||
return alertDialog;
|
||||
}
|
||||
|
||||
private void initDropDowns() {
|
||||
@@ -109,7 +90,7 @@ public class DialogUltimeConsegneFiltroAvanzatoView extends BaseDialogFragment {
|
||||
mContext,
|
||||
R.layout.dialog_vendita_filtro_avanzato__single_item, // Assicurati che questo layout sia un semplice TextView
|
||||
mViewModel.getAvailableRagSocsStrings(), // LiveData<List<String>>
|
||||
this // LifecycleOwner
|
||||
(LifecycleOwner) mContext // Assumendo che il contesto sia un LifecycleOwner
|
||||
);
|
||||
mBindings.filledExposedDropdownRagSoc.setAdapter(arrayAdapterRagSoc);
|
||||
|
||||
@@ -136,13 +117,6 @@ public class DialogUltimeConsegneFiltroAvanzatoView extends BaseDialogFragment {
|
||||
onConfirm.run(Result.completed(mViewModel.getRagSocBindable().getValue(), mViewModel.getDataDocBindable().getValue()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
mBindings = null; // Per evitare memory leaks
|
||||
}
|
||||
|
||||
|
||||
public static class Result {
|
||||
private final GtbAnag gtbAnag;
|
||||
private final Date dataDoc;
|
||||
|
||||
@@ -129,7 +129,7 @@ public class UltimiArriviFornitoreFragment extends BaseFragment implements ITitl
|
||||
this.onLoadingEnded();
|
||||
|
||||
handler.post(() -> {
|
||||
DialogUltimeConsegneFiltroAvanzatoView.newInstance(gtbAnags, filterResult -> {
|
||||
DialogUltimeConsegneFiltroAvanzatoView.newInstance(requireContext(), gtbAnags, filterResult -> {
|
||||
if (filterResult == null || filterResult.isAborted())
|
||||
popMe();
|
||||
|
||||
@@ -138,8 +138,7 @@ public class UltimiArriviFornitoreFragment extends BaseFragment implements ITitl
|
||||
refreshArrivi(filterResult.getGtbAnag(), null);
|
||||
resetSelected();
|
||||
});
|
||||
})
|
||||
.show(requireActivity().getSupportFragmentManager(), "dialog-filtro-ultimi-arrivi");
|
||||
});
|
||||
});
|
||||
} catch (Exception e) {
|
||||
this.onError(e);
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
package it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.dialog;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
@@ -20,13 +18,12 @@ import javax.inject.Inject;
|
||||
|
||||
import it.integry.integrywmsnative.MainApplication;
|
||||
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.GtbAnag;
|
||||
import it.integry.integrywmsnative.databinding.DialogUltimiArriviFornitoreFiltroAvanzatoBinding;
|
||||
import it.integry.integrywmsnative.ui.adapter.SimpleAutoCompleteDropdownAdapter;
|
||||
|
||||
public class DialogUltimiArriviFornitoreFiltroAvanzatoView extends BaseDialogFragment {
|
||||
public class DialogUltimiArriviFornitoreFiltroAvanzatoView extends MaterialAlertDialogBuilder {
|
||||
|
||||
@Inject
|
||||
DialogUltimiArriviFornitoreFiltroAvanzatoViewModel mViewModel;
|
||||
@@ -38,13 +35,13 @@ public class DialogUltimiArriviFornitoreFiltroAvanzatoView extends BaseDialogFra
|
||||
private final RunnableArgs<Result> onConfirm;
|
||||
|
||||
|
||||
public static DialogUltimiArriviFornitoreFiltroAvanzatoView newInstance(final List<GtbAnag> items, RunnableArgs<Result> onConfirm) {
|
||||
return new DialogUltimiArriviFornitoreFiltroAvanzatoView(items, onConfirm);
|
||||
public static DialogUltimiArriviFornitoreFiltroAvanzatoView newInstance(Context context, final List<GtbAnag> items, RunnableArgs<Result> onConfirm) {
|
||||
return new DialogUltimiArriviFornitoreFiltroAvanzatoView(context, items, onConfirm);
|
||||
}
|
||||
|
||||
private DialogUltimiArriviFornitoreFiltroAvanzatoView(final List<GtbAnag> items, RunnableArgs<Result> onConfirm) {
|
||||
super();
|
||||
|
||||
private DialogUltimiArriviFornitoreFiltroAvanzatoView(@NonNull Context context, final List<GtbAnag> items, RunnableArgs<Result> onConfirm) {
|
||||
super(context);
|
||||
this.mContext = context;
|
||||
this.onConfirm = onConfirm;
|
||||
|
||||
MainApplication.appComponent
|
||||
@@ -53,59 +50,41 @@ public class DialogUltimiArriviFornitoreFiltroAvanzatoView extends BaseDialogFra
|
||||
.inject(this);
|
||||
|
||||
mViewModel.init(items);
|
||||
}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
this.mContext = requireContext();
|
||||
|
||||
mBindings = DialogUltimiArriviFornitoreFiltroAvanzatoBinding.inflate(LayoutInflater.from(this.mContext), null, false);
|
||||
mBindings.setLifecycleOwner(this);
|
||||
if (mContext instanceof LifecycleOwner) {
|
||||
mBindings.setLifecycleOwner((LifecycleOwner) mContext); // Necessario per LiveData e binding
|
||||
}
|
||||
mBindings.setView(this);
|
||||
mBindings.setViewmodel(mViewModel);
|
||||
|
||||
|
||||
setCancelable(false);
|
||||
|
||||
var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
|
||||
.setView(mBindings.getRoot())
|
||||
.setCancelable(isCancelable())
|
||||
.setPositiveButton(R.string.ok, (dialog, which) -> onOk())
|
||||
.setNegativeButton(R.string.abort, (dialog, which) -> {
|
||||
setView(mBindings.getRoot());
|
||||
setPositiveButton(R.string.ok, (dialog, which) -> onOk());
|
||||
setNegativeButton(R.string.abort, (dialog, which) -> {
|
||||
if (onConfirm != null) onConfirm.run(Result.aborted());
|
||||
})
|
||||
.setNeutralButton(R.string.reset, (dialog, which) -> {})
|
||||
.create();
|
||||
|
||||
|
||||
alertDialog.setCanceledOnTouchOutside(isCancelable());
|
||||
alertDialog.setOnShowListener(this); // Rimosso se non specificamente necessario per altro
|
||||
alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
||||
});
|
||||
setNeutralButton(R.string.reset, (dialog, which) -> {
|
||||
});
|
||||
|
||||
this.initDropDowns();
|
||||
|
||||
return alertDialog;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public void onShow(DialogInterface dialogInterface) {
|
||||
super.onShow(dialogInterface);
|
||||
|
||||
var alertDialog = ((AlertDialog) dialogInterface);
|
||||
public AlertDialog create() {
|
||||
AlertDialog alertDialog = super.create();
|
||||
alertDialog.setCanceledOnTouchOutside(false);
|
||||
alertDialog.setOnShowListener(dialogInterface -> {
|
||||
alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
|
||||
|
||||
var neutralButton = alertDialog.getButton(DialogInterface.BUTTON_NEUTRAL);
|
||||
neutralButton.setOnClickListener(view -> {
|
||||
reset();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void dismiss() {
|
||||
if (getDialog() != null) getDialog().dismiss();
|
||||
super.dismiss();
|
||||
});
|
||||
return alertDialog;
|
||||
}
|
||||
|
||||
private void initDropDowns() {
|
||||
@@ -114,7 +93,7 @@ public class DialogUltimiArriviFornitoreFiltroAvanzatoView extends BaseDialogFra
|
||||
mContext,
|
||||
R.layout.dialog_vendita_filtro_avanzato__single_item, // Assicurati che questo layout sia un semplice TextView
|
||||
mViewModel.getAvailableRagSocsStrings(), // LiveData<List<String>>
|
||||
this // LifecycleOwner
|
||||
(LifecycleOwner) mContext // Assumendo che il contesto sia un LifecycleOwner
|
||||
);
|
||||
mBindings.filledExposedDropdownRagSoc.setAdapter(arrayAdapterRagSoc);
|
||||
|
||||
@@ -139,16 +118,8 @@ public class DialogUltimiArriviFornitoreFiltroAvanzatoView extends BaseDialogFra
|
||||
public void onOk() {
|
||||
if (onConfirm != null)
|
||||
onConfirm.run(Result.completed(mViewModel.getRagSocBindable().getValue(), mViewModel.getDataDocBindable().getValue()));
|
||||
// dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
mBindings = null; // Per evitare memory leaks
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static class Result {
|
||||
private final GtbAnag gtbAnag;
|
||||
|
||||
@@ -1,18 +1,20 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.base;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.text.Spanned;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.widget.LinearLayoutCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.core.content.res.ResourcesCompat;
|
||||
@@ -22,8 +24,6 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import java.util.HashMap;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDialog;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||
import it.integry.integrywmsnative.databinding.DialogBaseBinding;
|
||||
|
||||
@@ -31,7 +31,7 @@ import it.integry.integrywmsnative.databinding.DialogBaseBinding;
|
||||
* Created by GiuseppeS on 22/03/2018.
|
||||
*/
|
||||
|
||||
public class DialogSimpleMessageView extends BaseDialogFragment {
|
||||
public class DialogSimpleMessageView extends MaterialAlertDialogBuilder {
|
||||
|
||||
public enum TYPE {
|
||||
INFO(1),
|
||||
@@ -58,6 +58,7 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
|
||||
}
|
||||
|
||||
|
||||
private final Context mContext;
|
||||
private final TYPE mType;
|
||||
private final String mTitleText;
|
||||
private final Spanned mMessageText;
|
||||
@@ -73,16 +74,16 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
|
||||
private String neutralButtonText;
|
||||
private String negativeButtonText;
|
||||
|
||||
private AlertDialog dialog;
|
||||
|
||||
private DialogBaseBinding mBindings;
|
||||
|
||||
public static DialogSimpleMessageView newInstance(@NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) {
|
||||
return new DialogSimpleMessageView(type, titleText, messageText, hashmapContent, onPositiveClick, onNegativeClick, rNeutralButtonString, onNeutralClick);
|
||||
public static DialogSimpleMessageView newInstance(@NonNull Context context, @NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) {
|
||||
return new DialogSimpleMessageView(context, type, titleText, messageText, hashmapContent, onPositiveClick, onNegativeClick, rNeutralButtonString, onNeutralClick);
|
||||
}
|
||||
|
||||
private DialogSimpleMessageView(@NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) {
|
||||
super();
|
||||
|
||||
private DialogSimpleMessageView(@NonNull Context context, @NonNull TYPE type, @NonNull String titleText, @NonNull Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick, Runnable onNegativeClick, @StringRes Integer rNeutralButtonString, Runnable onNeutralClick) {
|
||||
super(context);
|
||||
this.mContext = context;
|
||||
this.mType = type;
|
||||
this.mTitleText = titleText;
|
||||
this.mMessageText = messageText;
|
||||
@@ -91,73 +92,94 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
|
||||
this.mOnNegativeClick = onNegativeClick;
|
||||
this.mRNeutralButtonString = rNeutralButtonString;
|
||||
this.mOnNeutralClick = onNeutralClick;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
DialogBaseBinding bindings = DialogBaseBinding.inflate(LayoutInflater.from(context), null, false);
|
||||
|
||||
UtilityDialog.setTo90PercentWidth(this.requireContext(), this);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
mBindings = DialogBaseBinding.inflate(LayoutInflater.from(requireContext()), null, false);
|
||||
|
||||
mBindings.setView(this);
|
||||
mBindings.setLifecycleOwner(this);
|
||||
setCancelable(false);
|
||||
|
||||
this.initContent();
|
||||
this.initContent(bindings);
|
||||
|
||||
var alertDialogBuilder = new MaterialAlertDialogBuilder(requireContext())
|
||||
.setView(mBindings.getRoot())
|
||||
.setCancelable(isCancelable());
|
||||
setView(bindings.getRoot());
|
||||
|
||||
if (isPositiveVisible())
|
||||
alertDialogBuilder.setPositiveButton(getPositiveButtonText(), (dialog, which) -> {
|
||||
setPositiveButton(getPositiveButtonText(), (dialog, which) -> {
|
||||
if (this.mOnPositiveClick != null) this.mOnPositiveClick.run();
|
||||
});
|
||||
|
||||
if (isNeutralVisible())
|
||||
alertDialogBuilder.setNeutralButton(getNeutralButtonText(), (dialog, which) -> {
|
||||
this.mOnNeutralClick.run();
|
||||
setNeutralButton(getNeutralButtonText(), (dialog, which) -> {
|
||||
if (this.mOnNeutralClick != null) this.mOnNeutralClick.run();
|
||||
});
|
||||
|
||||
if (isNegativeVisible())
|
||||
alertDialogBuilder.setNegativeButton(getNegativeButtonText(), (dialog, which) -> {
|
||||
this.mOnNegativeClick.run();
|
||||
setNegativeButton(getNegativeButtonText(), (dialog, which) -> {
|
||||
if (this.mOnNegativeClick != null) this.mOnNegativeClick.run();
|
||||
});
|
||||
|
||||
var alertDialog = alertDialogBuilder.create();
|
||||
alertDialog.setCanceledOnTouchOutside(isCancelable());
|
||||
return alertDialog;
|
||||
}
|
||||
|
||||
private void initContent() {
|
||||
@NonNull
|
||||
@Override
|
||||
public AlertDialog create() {
|
||||
dialog = super.create();
|
||||
// dialog.setCanceledOnTouchOutside(isCancelable());
|
||||
dialog.setOnShowListener(d -> {
|
||||
if (mContext instanceof Activity) {
|
||||
Dialog dialogToShow = (Dialog) d;
|
||||
if (dialogToShow.getWindow() != null) {
|
||||
DisplayMetrics displayMetrics = new DisplayMetrics();
|
||||
((Activity) mContext).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
|
||||
int displayWidth = displayMetrics.widthPixels;
|
||||
WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
|
||||
layoutParams.copyFrom(dialogToShow.getWindow().getAttributes());
|
||||
int dialogWindowWidth = (int) (displayWidth * 0.9f);
|
||||
layoutParams.width = dialogWindowWidth;
|
||||
dialogToShow.getWindow().setAttributes(layoutParams);
|
||||
}
|
||||
}
|
||||
});
|
||||
return dialog;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AlertDialog show() {
|
||||
if (dialog == null) {
|
||||
dialog = create();
|
||||
}
|
||||
if (!dialog.isShowing()) {
|
||||
dialog.show();
|
||||
}
|
||||
return dialog;
|
||||
}
|
||||
|
||||
public void dismiss() {
|
||||
if (dialog != null && dialog.isShowing()) {
|
||||
dialog.dismiss();
|
||||
}
|
||||
}
|
||||
|
||||
private void initContent(DialogBaseBinding mBindings) {
|
||||
int colorBackgroundTitle = -1;
|
||||
Drawable titleIconRes = switch (mType) {
|
||||
case INFO -> {
|
||||
colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.colorPrimary);
|
||||
yield ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_info_78dp, null);
|
||||
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.colorPrimary);
|
||||
yield ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_info_78dp, null);
|
||||
}
|
||||
case SUCCESS -> {
|
||||
colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.green_300);
|
||||
yield ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_done_white_24dp, null);
|
||||
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.green_300);
|
||||
yield ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_done_white_24dp, null);
|
||||
}
|
||||
case WARNING -> {
|
||||
colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.yellow_600);
|
||||
yield ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_warning_white_24dp, null);
|
||||
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.yellow_600);
|
||||
yield ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_warning_white_24dp, null);
|
||||
}
|
||||
case ERROR -> {
|
||||
colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.red_300);
|
||||
yield ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_mood_bad_24dp, null);
|
||||
colorBackgroundTitle = ContextCompat.getColor(mContext, R.color.red_300);
|
||||
yield ResourcesCompat.getDrawable(mContext.getResources(), R.drawable.ic_mood_bad_24dp, null);
|
||||
}
|
||||
};
|
||||
|
||||
this.positiveButtonText = requireContext().getText(mOnNegativeClick != null ? R.string.yes : R.string.ok).toString();
|
||||
this.negativeButtonText = requireContext().getText(R.string.no).toString();
|
||||
this.positiveButtonText = mContext.getText(mOnNegativeClick != null ? R.string.yes : R.string.ok).toString();
|
||||
this.negativeButtonText = mContext.getText(R.string.no).toString();
|
||||
|
||||
//Title VIEW
|
||||
mBindings.titleText.setText(mTitleText);
|
||||
@@ -177,7 +199,7 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
|
||||
String currentKey = mHashmapContent.keySet().toArray()[i].toString();
|
||||
String currentValue = mHashmapContent.get(currentKey);
|
||||
|
||||
RelativeLayout singleMapContent = (RelativeLayout) LayoutInflater.from(requireContext()).inflate(R.layout.dialog_custom_content_hashmap_viewmodel, hashMapContainer);
|
||||
View singleMapContent = LayoutInflater.from(mContext).inflate(R.layout.dialog_custom_content_hashmap_viewmodel, hashMapContainer, false);
|
||||
((TextView) singleMapContent.findViewById(R.id.dialog_content_hashmap_key)).setText(currentKey);
|
||||
((TextView) singleMapContent.findViewById(R.id.dialog_content_hashmap_value)).setText(currentValue);
|
||||
|
||||
@@ -189,8 +211,6 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public boolean isPositiveVisible() {
|
||||
return mOnPositiveClick != null || (!isNeutralVisible() && !isNegativeVisible());
|
||||
}
|
||||
@@ -209,7 +229,7 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
|
||||
}
|
||||
|
||||
public String getNeutralButtonText() {
|
||||
return mRNeutralButtonString != null && mRNeutralButtonString != -1 ? requireContext().getText(mRNeutralButtonString).toString() : null;
|
||||
return mRNeutralButtonString != null && mRNeutralButtonString != -1 ? mContext.getText(mRNeutralButtonString).toString() : null;
|
||||
}
|
||||
|
||||
public String getNegativeButtonText() {
|
||||
@@ -231,8 +251,8 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
|
||||
if (mOnNegativeClick != null) mOnNegativeClick.run();
|
||||
}
|
||||
|
||||
public static DialogSimpleMessageView makeInfoDialog(String titleText, Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick) {
|
||||
return newInstance(TYPE.INFO,
|
||||
public static DialogSimpleMessageView makeInfoDialog(Context context, String titleText, Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick) {
|
||||
return newInstance(context, TYPE.INFO,
|
||||
titleText,
|
||||
messageText,
|
||||
hashmapContent,
|
||||
@@ -241,8 +261,8 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
|
||||
}
|
||||
|
||||
|
||||
public static DialogSimpleMessageView makeInfoDialog(String titleText, Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick, Runnable onNegativeClick) {
|
||||
return newInstance(TYPE.INFO,
|
||||
public static DialogSimpleMessageView makeInfoDialog(Context context, String titleText, Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick, Runnable onNegativeClick) {
|
||||
return newInstance(context, TYPE.INFO,
|
||||
titleText,
|
||||
messageText,
|
||||
hashmapContent,
|
||||
@@ -251,8 +271,8 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
|
||||
}
|
||||
|
||||
|
||||
public static DialogSimpleMessageView makeSuccessDialog(String titleText, Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick) {
|
||||
return newInstance(TYPE.SUCCESS,
|
||||
public static DialogSimpleMessageView makeSuccessDialog(Context context, String titleText, Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick) {
|
||||
return newInstance(context, TYPE.SUCCESS,
|
||||
titleText,
|
||||
messageText,
|
||||
hashmapContent,
|
||||
@@ -261,8 +281,8 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
|
||||
}
|
||||
|
||||
|
||||
public static DialogSimpleMessageView makeWarningDialog(Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick, Runnable onNegativeClick) {
|
||||
return newInstance(TYPE.WARNING,
|
||||
public static DialogSimpleMessageView makeWarningDialog(Context context, Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick, Runnable onNegativeClick) {
|
||||
return newInstance(context, TYPE.WARNING,
|
||||
UtilityResources.getString(R.string.warning),
|
||||
messageText,
|
||||
hashmapContent,
|
||||
@@ -273,8 +293,8 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
|
||||
}
|
||||
|
||||
|
||||
public static DialogSimpleMessageView makeWarningDialog(Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick) {
|
||||
return newInstance(TYPE.WARNING,
|
||||
public static DialogSimpleMessageView makeWarningDialog(Context context, Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick) {
|
||||
return newInstance(context, TYPE.WARNING,
|
||||
UtilityResources.getString(R.string.warning),
|
||||
messageText,
|
||||
hashmapContent,
|
||||
@@ -282,9 +302,9 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
|
||||
null, -1, null);
|
||||
}
|
||||
|
||||
public static DialogSimpleMessageView makeErrorDialog(Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick) {
|
||||
public static DialogSimpleMessageView makeErrorDialog(Context context, Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick) {
|
||||
|
||||
return newInstance(TYPE.ERROR,
|
||||
return newInstance(context, TYPE.ERROR,
|
||||
UtilityResources.getString(R.string.ops),
|
||||
messageText,
|
||||
hashmapContent,
|
||||
@@ -292,9 +312,9 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
|
||||
null, -1, null);
|
||||
}
|
||||
|
||||
public static DialogSimpleMessageView makeErrorDialog(Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick, @StringRes int rNeutralButtonString, Runnable onNeutralClick) {
|
||||
public static DialogSimpleMessageView makeErrorDialog(Context context, Spanned messageText, HashMap<String, String> hashmapContent, Runnable onPositiveClick, @StringRes int rNeutralButtonString, Runnable onNeutralClick) {
|
||||
|
||||
return newInstance(TYPE.ERROR,
|
||||
return newInstance(context, TYPE.ERROR,
|
||||
UtilityResources.getString(R.string.ops),
|
||||
messageText,
|
||||
hashmapContent,
|
||||
|
||||
@@ -193,7 +193,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:textColor="@android:color/black"
|
||||
android:text="@{Html.fromHtml(context.getString(R.string.doc_testata, view.mtbColt.getNumDoc(), view.mtbColt.getDataDoc()))}"
|
||||
android:text="@{Html.fromHtml(@string/doc_testata(view.mtbColt.numDoc, UtilityDate.formatDate(view.mtbColt.dataDoc, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)))}"
|
||||
tools:text="n. 123 del 29/03/2023" />
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
|
||||
@@ -81,8 +81,7 @@
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?attr/textAppearanceSubtitle1"
|
||||
android:minHeight="?attr/listPreferredItemHeightSmall"
|
||||
app:binding="@{viewmodel.dataDocBindable}"
|
||||
app:parentView="@{view}" />
|
||||
/>
|
||||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
|
||||
@@ -37,5 +37,7 @@
|
||||
<item name="materialCalendarTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar</item>
|
||||
|
||||
<item name="bottomSheetDialogTheme">@style/CustomBottomSheetDialog</item>
|
||||
|
||||
<item name="android:windowActivityTransitions">true</item>
|
||||
</style>
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user