diff --git a/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java b/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java
index b93a14c6..66f54154 100644
--- a/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java
+++ b/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java
@@ -174,7 +174,8 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr
BottomSheetMtbColrEditModalModule.class,
DialogChooseArtsFromMtbAartListModule.class,
MainSettingsModule.class,
- DialogInfoSituazioneArticoloModule.class
+ DialogInfoSituazioneArticoloModule.class,
+ DialogSelectDocRowsModule.class
})
public interface MainApplicationComponent {
@@ -258,8 +259,6 @@ public interface MainApplicationComponent {
DialogSelectDocInfoComponent.Factory dialogSelectDocInfoNewViewComponent();
- DialogSelectDocRowsComponent.Factory dialogSelectDocRowsComponent();
-
DocInterniEditFormComponent.Factory docInterniEditFormComponent();
InfoAggiuntiveLUDialogComponent.Factory infoAggiuntiveLUDialogComponent();
@@ -294,6 +293,8 @@ public interface MainApplicationComponent {
DialogInfoSituazioneArticoloComponent.Factory dialogInfoSituazioneArticoloComponent();
+ DialogSelectDocRowsComponent.Factory dialogSelectDocRowsNewComponent();
+
void inject(MainApplication mainApplication);
void inject(AppContext mainApplication);
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/NoResultFromCodMartException.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/NoResultFromCodMartException.java
new file mode 100644
index 00000000..581f3811
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/NoResultFromCodMartException.java
@@ -0,0 +1,15 @@
+package it.integry.integrywmsnative.core.exception;
+
+import it.integry.integrywmsnative.R;
+import it.integry.integrywmsnative.core.utility.UtilityResources;
+
+public final class NoResultFromCodMartException extends Exception {
+
+ public NoResultFromCodMartException() {
+ super(UtilityResources.getString(R.string.no_result_from_cod_mart));
+ }
+
+ public NoResultFromCodMartException(String codMart) {
+ super(UtilityResources.getString(R.string.no_result_from_cod_mart) + " (" + codMart + ")");
+ }
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java
index ded07f62..7c06d798 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java
@@ -68,28 +68,6 @@ public class MtbColt extends EntityBase {
private Boolean disablePrint;
private String ragSocCliente;
- public void generaFiltroOrdine() throws Exception {
-
- if (this.gestione == null) {
- throw new Exception("Impossibile creare il filtro dell'ordine se la gestione non è valorizzata");
- }
-
- if (this.dataOrd == null) {
- throw new Exception("Impossibile creare il filtro dell'ordine se la data dell'ordine non è valorizzata");
- }
-
- if (this.numOrd == null) {
- throw new Exception("Impossibile creare il filtro dell'ordine se il numero dell'ordine non è valorizzato");
- }
-
-
- Date dateOrd = UtilityDate.recognizeDate(this.dataOrd);
- String dateYMD = UtilityDate.formatDate(dateOrd, UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH);
-
- this.filtroOrdini = "" + this.gestione + "" + dateYMD + "" + this.numOrd + "";
- }
-
-
private ObservableArrayList mtbColr = new ObservableArrayList<>();
public ObservableArrayList getMtbColr() {
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 4e7cfc1b..d2c4832b 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
@@ -24,6 +24,7 @@ import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.utility.UtilityFirebase;
+import it.integry.integrywmsnative.core.utility.UtilityLogger;
@Singleton
public class SettingsManager {
@@ -108,6 +109,7 @@ public class SettingsManager {
};
RunnableArgs tmpOnFailed = ex -> {
+ UtilityLogger.error(ex);
perfTrace.putAttribute("failed", "true");
if (!(ex instanceof SocketTimeoutException)) onFailed.run(ex);
else
@@ -433,6 +435,12 @@ public class SettingsManager {
} else if (clazz == Integer.class && value.getValue() != null) {
return clazz.cast(Integer.parseInt(value.getValue()));
}
+ } else {
+ if (clazz == Boolean.class) {
+ return clazz.cast(Boolean.FALSE);
+ } else if (clazz == Integer.class) {
+ return clazz.cast(0);
+ }
}
return defaultValue;
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityBarcode.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityBarcode.java
index f5efc173..2d8437da 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityBarcode.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityBarcode.java
@@ -36,6 +36,10 @@ public class UtilityBarcode {
return barcodeScanDTO != null && barcodeScanDTO.getType() == BarcodeType.EAN128;
}
+ public static boolean isCode128(BarcodeScanDTO barcodeScanDTO) {
+ return barcodeScanDTO != null && barcodeScanDTO.getType() == BarcodeType.CODE128;
+ }
+
public static boolean isEtichettaPosizione(BarcodeScanDTO barcodeScanDTO) {
return isEtichettaPosizione(barcodeScanDTO, true);
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java
index 2528f93b..91ea1dc1 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java
@@ -389,7 +389,7 @@ public class AccettazionePickingViewModel {
.distinct()
.toList();
- if (codAnags != null && codAnags.size() == 1) {
+ if (codAnags.size() == 1) {
mtbColt.setCodAnag(codAnags.get(0));
}
@@ -399,7 +399,7 @@ public class AccettazionePickingViewModel {
.distinct()
.toList();
- if (rifOrds != null && rifOrds.size() == 1) {
+ if (rifOrds.size() == 1) {
mtbColt.setRifOrd(rifOrds.get(0));
}
@@ -409,16 +409,9 @@ public class AccettazionePickingViewModel {
.distinct()
.toList();
- if (numDataOrds != null && numDataOrds.size() == 1) {
+ if (numDataOrds.size() == 1) {
mtbColt.setNumOrd(mOrders.get(0).getNumero());
mtbColt.setDataOrd(mOrders.get(0).getData());
-
- try {
- mtbColt.generaFiltroOrdine();
- } catch (Exception ex) {
- this.sendError(ex);
- return;
- }
}
this.mColliMagazzinoRESTConsumer.saveCollo(mtbColt, savedMtbColt -> {
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/DialogChooseRowFromListaDocRowsListModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/DialogChooseRowFromListaDocRowsListModel.java
deleted file mode 100644
index 3c48b2fa..00000000
--- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/DialogChooseRowFromListaDocRowsListModel.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package it.integry.integrywmsnative.gest.contab_doc_interni.dto;
-
-import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColr;
-import it.integry.integrywmsnative.core.di.BindableBoolean;
-
-public class DialogChooseRowFromListaDocRowsListModel {
-
- private String codMart;
- private String descrizione;
- private String qtaOrdReadable;
- private String barcode;
- private boolean isNew;
- private SqlMtbColr originalModel;
- private BindableBoolean checked = new BindableBoolean(false);
-
- public DialogChooseRowFromListaDocRowsListModel() {
- }
-
- public BindableBoolean getChecked() {
- return checked;
- }
-
- public DialogChooseRowFromListaDocRowsListModel setChecked(BindableBoolean checked) {
- this.checked = checked;
- return this;
- }
-
- public void toggleCheck() {
- this.checked.set(!this.checked.get());
- }
-
- public String getCodMart() {
- return codMart;
- }
-
- public DialogChooseRowFromListaDocRowsListModel setCodMart(String codMart) {
- this.codMart = codMart;
- return this;
- }
-
- public String getDescrizione() {
- return descrizione;
- }
-
- public DialogChooseRowFromListaDocRowsListModel setDescrizione(String descrizione) {
- this.descrizione = descrizione;
- return this;
- }
-
- public String getQtaOrdReadable() {
- return qtaOrdReadable;
- }
-
- public DialogChooseRowFromListaDocRowsListModel setQtaOrdReadable(String qtaOrdReadable) {
- this.qtaOrdReadable = qtaOrdReadable;
- return this;
- }
-
- public String getBarcode() {
- return barcode;
- }
-
- public DialogChooseRowFromListaDocRowsListModel setBarcode(String barcode) {
- this.barcode = barcode;
- return this;
- }
-
- public boolean isNew() {
- return isNew;
- }
-
- public DialogChooseRowFromListaDocRowsListModel setNew(boolean aNew) {
- isNew = aNew;
- return this;
- }
-
- public SqlMtbColr getOriginalModel() {
- return originalModel;
- }
-
- public DialogChooseRowFromListaDocRowsListModel setOriginalModel(SqlMtbColr originalModel) {
- this.originalModel = originalModel;
- return this;
- }
-}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java
index 10cef1af..e58bd7b6 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java
@@ -41,6 +41,7 @@ import it.integry.integrywmsnative.core.rest.model.documento.DocumentoArtDTO;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.databinding.ActivityContabDocInterniEditBinding;
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.TipoDocDTO;
+import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsItemListModel;
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsView;
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.ui.DocumentRowsListAdapter;
import it.integry.integrywmsnative.ui.FabMenuCustomAnimations;
@@ -184,7 +185,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
"Ricerca articolo",
null,
"Cod articolo / Barcode",
- barcodeProd -> this.viewModel.loadArticolo(barcodeProd, null), BarcodeManager::enable).show();
+ barcodeProd -> this.viewModel.loadArticoloByCodMart(barcodeProd), BarcodeManager::enable).show();
}
@@ -320,13 +321,22 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
@Override
public void onMultipleRowsFound(List rows, DocumentoArtDTO articolo) {
- DialogSelectDocRowsView.newInstance(rows, (row) -> {
- this.onLoadingEnded();
- if (row != null) {
- this.viewModel.dispatchRowEdit(row, articolo.isFlagTracciabilita(), articolo.isUntMisDigitale());
- }
- }
- ).show(this.getSupportFragmentManager(), "dialogSelectDocRows");
+ List> dataset =
+ Stream.of(rows)
+ .map(x -> new DialogSelectDocRowsItemListModel<>()
+ .setCodMart(x.getCodMart())
+ .setBarcode(x.getCodBarre())
+ .setOriginalModel(x)
+ .setNew(x.getId() < 1)
+ .setDescrizione(x.getDescrizione())
+ .setQtaOrd(BigDecimal.valueOf(x.getQtaCol()))
+ .setUntMisOrd(x.getUntMis()))
+ .toList();
+
+ DialogSelectDocRowsView.newInstance(dataset, data -> {
+ this.viewModel.dispatchRowEdit((SqlMtbColr) data.getOriginalModel(), articolo.isFlagTracciabilita(), articolo.isUntMisDigitale());
+ }, () -> {})
+ .show(this.getSupportFragmentManager(), "dialogSelectDocRowsNew");
}
private MtbColr sqlToEntity(SqlMtbColr sqlMtbColr) {
@@ -358,7 +368,6 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
}
-
public void showInfoArtDialog() {
var listaMtbAart = Stream.of(this.viewModel.getProductsList())
.map(x -> new MtbAart()
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormViewModel.java
index ab16adcd..fea0f8dd 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormViewModel.java
@@ -4,7 +4,6 @@ import androidx.lifecycle.MutableLiveData;
import com.annimon.stream.Stream;
-import org.apache.commons.lang3.StringUtils;
import org.json.JSONException;
import org.json.JSONObject;
@@ -21,6 +20,7 @@ import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
import it.integry.integrywmsnative.core.data_store.db.repository.MtbColrDataSource;
import it.integry.integrywmsnative.core.data_store.db.repository.MtbColtRepository;
import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException;
+import it.integry.integrywmsnative.core.exception.NoResultFromCodMartException;
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
@@ -129,16 +129,28 @@ public class DocInterniEditFormViewModel {
this.listener.onDocumentHoldRequest();
}
- public void loadArticolo(String barcodeProd, Ean128Model ean128Model) {
+ public void loadArticoloByCodMart(String codMart) {
+ var matchedArt = Stream.of(productsList)
+ .filter(x -> x.getCodMart().equalsIgnoreCase(codMart))
+ .findFirst()
+ .orElse(null);
+
+
+ if (matchedArt == null) {
+ this.sendError(new NoResultFromCodMartException(codMart));
+ return;
+ }
+
+
+ loadArticolo(matchedArt, null);
+ }
+
+ public void loadArticoloByBarcode(String barcodeProd, Ean128Model ean128Model) {
DocumentoArtDTO matchedArt;
String usedBarcode = null;
- String leftBarcode = StringUtils.leftPad(barcodeProd, 13, '0');
-
matchedArt = Stream.of(productsList)
- .filter(x -> x.getCodMart().equalsIgnoreCase(barcodeProd) ||
- leftBarcode.equalsIgnoreCase(x.getCodMart()) ||
- x.getBarcode().contains(barcodeProd))
+ .filter(x -> x.getBarcode().contains(barcodeProd))
.findFirst()
.orElse(null);
@@ -151,15 +163,17 @@ public class DocInterniEditFormViewModel {
return;
}
- List rows = this.getRowsForArticolo(matchedArt, usedBarcode);
+ loadArticolo(matchedArt, usedBarcode);
+ }
+
+ private void loadArticolo(DocumentoArtDTO documentoArtDTO, String usedBarcode) {
+ List rows = this.getRowsForArticolo(documentoArtDTO, usedBarcode);
if (rows.size() > 1) {
- this.listener.onMultipleRowsFound(rows, matchedArt);
+ this.listener.onMultipleRowsFound(rows, documentoArtDTO);
} else {
- this.dispatchRowEdit(rows.get(0), matchedArt.isFlagTracciabilita(), matchedArt.isUntMisDigitale());
+ this.dispatchRowEdit(rows.get(0), documentoArtDTO.isFlagTracciabilita(), documentoArtDTO.isUntMisDigitale());
}
-
-
}
private List getRowsForArticolo(DocumentoArtDTO articolo, String barcode) {
@@ -298,12 +312,15 @@ public class DocInterniEditFormViewModel {
}
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO) {
- if (UtilityBarcode.isEanPeso(barcodeScanDTO)) {
+ if(UtilityBarcode.isCode128(barcodeScanDTO)) {
+ this.loadArticoloByCodMart(barcodeScanDTO.getStringValue());
+
+ } else if (UtilityBarcode.isEanPeso(barcodeScanDTO)) {
//Cerco tramite etichetta ean peso
this.executeEtichettaEanPeso(barcodeScanDTO);
} else {
- this.loadArticolo(barcodeScanDTO.getStringValue(), null);
+ this.loadArticoloByBarcode(barcodeScanDTO.getStringValue(), null);
}
}
@@ -311,7 +328,7 @@ public class DocInterniEditFormViewModel {
private void executeEtichettaEanPeso(BarcodeScanDTO barcodeScanDTO) {
try {
Ean13PesoModel ean13PesoModel = Ean13PesoModel.fromBarcode(barcodeScanDTO.getStringValue());
- this.loadArticolo(ean13PesoModel.getPrecode(), ean13PesoModel.toEan128());
+ this.loadArticoloByBarcode(ean13PesoModel.getPrecode(), ean13PesoModel.toEan128());
} catch (Exception ex) {
this.sendError(ex);
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectDocRows/DialogSelectDocRowsComponent.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectDocRows/DialogSelectDocRowsComponent.java
index 29bb8f1c..8e13304f 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectDocRows/DialogSelectDocRowsComponent.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectDocRows/DialogSelectDocRowsComponent.java
@@ -10,7 +10,5 @@ public interface DialogSelectDocRowsComponent {
DialogSelectDocRowsComponent create();
}
-
- void inject(DialogSelectDocRowsView dialogSelectDocInfoView);
-
-}
+ void inject(DialogSelectDocRowsView dialogSelectDocRowsView);
+}
\ No newline at end of file
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectDocRows/DialogSelectDocRowsItemListModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectDocRows/DialogSelectDocRowsItemListModel.java
new file mode 100644
index 00000000..ee2005fa
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectDocRows/DialogSelectDocRowsItemListModel.java
@@ -0,0 +1,90 @@
+package it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows;
+
+import java.math.BigDecimal;
+
+import it.integry.integrywmsnative.core.di.BindableBoolean;
+
+public class DialogSelectDocRowsItemListModel {
+
+ private String codMart;
+ private String descrizione;
+ private BigDecimal qtaOrd;
+ private String untMisOrd;
+ private String barcode;
+ private boolean isNew;
+ private T originalModel;
+ private BindableBoolean checked = new BindableBoolean(false);
+
+
+ public String getCodMart() {
+ return codMart;
+ }
+
+ public DialogSelectDocRowsItemListModel setCodMart(String codMart) {
+ this.codMart = codMart;
+ return this;
+ }
+
+ public String getDescrizione() {
+ return descrizione;
+ }
+
+ public DialogSelectDocRowsItemListModel setDescrizione(String descrizione) {
+ this.descrizione = descrizione;
+ return this;
+ }
+
+ public BigDecimal getQtaOrd() {
+ return qtaOrd;
+ }
+
+ public DialogSelectDocRowsItemListModel setQtaOrd(BigDecimal qtaOrd) {
+ this.qtaOrd = qtaOrd;
+ return this;
+ }
+
+ public String getUntMisOrd() {
+ return untMisOrd;
+ }
+
+ public DialogSelectDocRowsItemListModel setUntMisOrd(String untMisOrd) {
+ this.untMisOrd = untMisOrd;
+ return this;
+ }
+
+ public String getBarcode() {
+ return barcode;
+ }
+
+ public DialogSelectDocRowsItemListModel setBarcode(String barcode) {
+ this.barcode = barcode;
+ return this;
+ }
+
+ public boolean isNew() {
+ return isNew;
+ }
+
+ public DialogSelectDocRowsItemListModel setNew(boolean aNew) {
+ isNew = aNew;
+ return this;
+ }
+
+ public T getOriginalModel() {
+ return originalModel;
+ }
+
+ public DialogSelectDocRowsItemListModel setOriginalModel(T originalModel) {
+ this.originalModel = originalModel;
+ return this;
+ }
+
+ public BindableBoolean getChecked() {
+ return checked;
+ }
+
+ public DialogSelectDocRowsItemListModel setChecked(BindableBoolean checked) {
+ this.checked = checked;
+ return this;
+ }
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectDocRows/DialogSelectDocRowsModule.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectDocRows/DialogSelectDocRowsModule.java
index 499da135..445a5cd9 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectDocRows/DialogSelectDocRowsModule.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectDocRows/DialogSelectDocRowsModule.java
@@ -1,9 +1,14 @@
package it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows;
import dagger.Module;
+import dagger.Provides;
@Module(subcomponents = DialogSelectDocRowsComponent.class)
public class DialogSelectDocRowsModule {
+ @Provides
+ DialogSelectDocRowsViewModel providesDialogSelectDocRowsNewViewModel() {
+ return new DialogSelectDocRowsViewModel();
+ }
-}
+}
\ No newline at end of file
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectDocRows/DialogSelectDocRowsView.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectDocRows/DialogSelectDocRowsView.java
index 4da76842..afe801ea 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectDocRows/DialogSelectDocRowsView.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectDocRows/DialogSelectDocRowsView.java
@@ -1,143 +1,131 @@
package it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows;
+import android.app.Dialog;
+import android.content.Context;
import android.content.DialogInterface;
-import android.graphics.Color;
-import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.databinding.DataBindingUtil;
-import androidx.lifecycle.MutableLiveData;
import com.annimon.stream.Stream;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.ravikoradiya.liveadapter.LiveAdapter;
+import com.ravikoradiya.liveadapter.Type;
import java.util.List;
+import javax.inject.Inject;
+
import it.integry.integrywmsnative.BR;
import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.R;
-import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColr;
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
-import it.integry.integrywmsnative.databinding.DialogChooseRowFromListaDocRowsLayoutBinding;
-import it.integry.integrywmsnative.gest.contab_doc_interni.dto.DialogChooseRowFromListaDocRowsListModel;
-import kotlin.Unit;
+import it.integry.integrywmsnative.databinding.DialogSelectDocRowsBinding;
+import it.integry.integrywmsnative.databinding.DialogSelectDocRowsItemModelBinding;
+/** @noinspection rawtypes*/
public class DialogSelectDocRowsView extends BaseDialogFragment {
- private final RunnableArgs onRowSelected;
- private final List listArts;
- private final MutableLiveData> listModels = new MutableLiveData<>();
- private DialogChooseRowFromListaDocRowsLayoutBinding binding;
- public MutableLiveData selectedRow = new MutableLiveData<>();
- public static DialogSelectDocRowsView newInstance(
- List listArts,
- RunnableArgs onDismiss
- ) {
- return new DialogSelectDocRowsView(listArts, onDismiss);
+ @Inject
+ DialogSelectDocRowsViewModel mViewModel;
+
+ private DialogSelectDocRowsBinding mBindings;
+ private Context mContext;
+
+ private final List> listArts;
+ private final RunnableArgs onConfirm;
+ private final Runnable onAbort;
+
+ //Pass here all external parameters
+ public static DialogSelectDocRowsView newInstance(List> listArts,
+ RunnableArgs onConfirm,
+ Runnable onAbort) {
+ return new DialogSelectDocRowsView(listArts, onConfirm, onAbort);
+ }
+
+ private DialogSelectDocRowsView(List> listArts,
+ RunnableArgs onConfirm,
+ Runnable onAbort) {
+ super();
+
+ this.listArts = listArts;
+ this.onConfirm = onConfirm;
+ this.onAbort = onAbort;
}
- private DialogSelectDocRowsView(List listArts, RunnableArgs onDismiss) {
- super();
- this.onRowSelected = onDismiss;
- this.listArts = listArts;
+ @NonNull
+ @Override
+ public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+ this.mContext = requireContext();
+
+ mBindings = DialogSelectDocRowsBinding.inflate(LayoutInflater.from(this.mContext), null, false);
+ mBindings.setLifecycleOwner(this);
+
+ MainApplication.appComponent
+ .dialogSelectDocRowsNewComponent()
+ .create()
+ .inject(this);
+
+ setCancelable(false);
+
+ var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
+ .setView(mBindings.getRoot())
+ .setCancelable(isCancelable())
+ .setPositiveButton(R.string.confirm, null)
+ .setNegativeButton(R.string.abort, null)
+ .create();
+
+ alertDialog.setCanceledOnTouchOutside(isCancelable());
+ alertDialog.setOnShowListener(this);
+ return alertDialog;
+ }
+
+ @Override
+ public void onShow(DialogInterface dialogInterface) {
+ super.onShow(dialogInterface);
+
+ this.listArts.get(0).getChecked().set(true);
+ this.initRecyclerView();
}
@Override
public void onDismiss(@NonNull DialogInterface dialog) {
super.onDismiss(dialog);
- if (onRowSelected != null) onRowSelected.run(this.selectedRow.getValue());
+
+ final DialogSelectDocRowsItemListModel