From 4e95f4f9c9a38907c8aa72b99f183f95d6ba2351 Mon Sep 17 00:00:00 2001 From: MarcoE Date: Mon, 16 Sep 2024 09:32:36 +0200 Subject: [PATCH] =?UTF-8?q?Aggiunto=20dialog=20per=20il=20suggerimento=20d?= =?UTF-8?q?ei=20lotti=20gi=C3=A0=20esistenti=20nei=20documenti=20interni?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MainApplicationComponent.java | 4 + .../dto/RetrieveLottiDTO.java | 37 ++++++ .../contab_doc_interni/dto/TipoDocDTO.java | 10 ++ .../edit_form/DocInterniEditFormActivity.java | 26 ++++ .../DocInterniEditFormViewModel.java | 12 +- .../DialogSelectLottiComponent.java | 14 ++ .../DialogSelectLottiItemListModel.java | 54 ++++++++ .../selectLotti/DialogSelectLottiModule.java | 14 ++ .../selectLotti/DialogSelectLottiView.java | 123 ++++++++++++++++++ .../DialogSelectLottiViewModel.java | 5 + .../rest/DocInterniRESTConsumer.java | 20 +++ .../rest/DocInterniRESTConsumerService.java | 8 ++ .../main/res/layout/dialog_select_lotti.xml | 43 ++++++ .../dialog_select_lotti__item_model.xml | 79 +++++++++++ 14 files changed, 448 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/RetrieveLottiDTO.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiComponent.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiItemListModel.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiModule.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiView.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiViewModel.java create mode 100644 app/src/main/res/layout/dialog_select_lotti.xml create mode 100644 app/src/main/res/layout/dialog_select_lotti__item_model.xml diff --git a/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java b/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java index 40a6eb59..13acc45b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java @@ -29,6 +29,8 @@ import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.DocInterniE import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.DocInterniEditFormModule; import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsComponent; import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsModule; +import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectLotti.DialogSelectLottiComponent; +import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectLotti.DialogSelectLottiModule; import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleComponent; import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleModule; import it.integry.integrywmsnative.gest.inventario.ElencoInventariComponent; @@ -186,6 +188,7 @@ import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracc DialogSelectDocInfoModule.class, DocInterniEditFormModule.class, DialogSelectDocRowsModule.class, + DialogSelectLottiModule.class, DialogAskClienteModule.class, DialogEditArticoloModule.class, DialogPrintOrderSSCCListModule.class, @@ -332,6 +335,7 @@ public interface MainApplicationComponent { DialogInfoSituazioneArticoloComponent.Factory dialogInfoSituazioneArticoloComponent(); DialogSelectDocRowsComponent.Factory dialogSelectDocRowsNewComponent(); + DialogSelectLottiComponent.Factory dialogSelectLottiComponent(); DialogSelectArtToOrderComponent.Factory dialogSelectArtToOrderNewComponent(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/RetrieveLottiDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/RetrieveLottiDTO.java new file mode 100644 index 00000000..48a72886 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/RetrieveLottiDTO.java @@ -0,0 +1,37 @@ +package it.integry.integrywmsnative.gest.contab_doc_interni.dto; + +import java.util.Date; + +public class RetrieveLottiDTO { + + private String codProd; + private String partitaMag; + private Date dataScad; + + public String getCodProd() { + return codProd; + } + + public RetrieveLottiDTO setCodProd(String codProd) { + this.codProd = codProd; + return this; + } + + public String getPartitaMag() { + return partitaMag; + } + + public RetrieveLottiDTO setPartitaMag(String partitaMag) { + this.partitaMag = partitaMag; + return this; + } + + public Date getDataScad() { + return dataScad; + } + + public RetrieveLottiDTO setDataScad(Date dataScad) { + this.dataScad = dataScad; + return this; + } +} \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/TipoDocDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/TipoDocDTO.java index 9bdc17a5..e039c42e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/TipoDocDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/TipoDocDTO.java @@ -8,6 +8,7 @@ public class TipoDocDTO { private String gestioneDoc; private boolean flagChkTracciabilita; private boolean requireNote = false; + private boolean suggestLotti; public String getCodDtip() { return codDtip; @@ -62,4 +63,13 @@ public class TipoDocDTO { this.flagChkTracciabilita = flagChkTracciabilita; return this; } + + public boolean isSuggestLotti() { + return suggestLotti; + } + + public TipoDocDTO setSuggestLotti(boolean suggestLotti) { + this.suggestLotti = suggestLotti; + 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 df254bd2..818c5109 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 @@ -42,6 +42,8 @@ import it.integry.integrywmsnative.gest.contab_doc_interni.dto.DocInterniSetupDT 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.dialog.selectLotti.DialogSelectLottiItemListModel; +import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectLotti.DialogSelectLottiView; import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.ui.DocumentRowsListAdapter; import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalView; import it.integry.integrywmsnative.view.dialogs.DialogCommon; @@ -302,6 +304,30 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter .setFlagDig(isUntMisDig ? "S" : "N"); mtbAart.setMtbUntMis(Collections.singletonList(mtbUntMis)); + if (this.viewModel.getTipoDoc().isSuggestLotti()) { + this.viewModel.retrieveLotti(row.getCodMart(), lotti -> { + var dataSet = + Stream.of(lotti) + .map(x -> new DialogSelectLottiItemListModel<>() + .setPartitaMag(x.getPartitaMag()) + .setDataScad(UtilityDate.toLocalDate(x.getDataScad())) + .setOriginalModel(x) + ) + .toList(); + + DialogSelectLottiView.newInstance(dataSet, data -> { + row.setPartitaMag(data.getPartitaMag()); + row.setDataScad(data.getDataScad()); + + openInputQuantity(mtbAart, row, flagTracciabilita); + }, () -> {}).show(this.getSupportFragmentManager(), "dialogSelectLotti");; + }); + } else { + openInputQuantity(mtbAart, row, flagTracciabilita); + } + } + + private void openInputQuantity(MtbAart mtbAart, SqlMtbColr row, boolean flagTracciabilita) { DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO() .setMtbAart(mtbAart) .setInitialNumCnf(BigDecimal.valueOf(row.getNumCnf())) 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 c8133c7e..5bc2e564 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 @@ -19,6 +19,7 @@ import it.integry.integrywmsnative.core.data_store.db.repository.MtbColrDataSour 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.expansion.RunnableArgs; 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; @@ -32,6 +33,7 @@ import it.integry.integrywmsnative.gest.contab_doc_interni.dto.CheckFornitoreDTO import it.integry.integrywmsnative.gest.contab_doc_interni.dto.ColloDTO; import it.integry.integrywmsnative.gest.contab_doc_interni.dto.DocInterniSetupDTO; import it.integry.integrywmsnative.gest.contab_doc_interni.dto.FornitoreDTO; +import it.integry.integrywmsnative.gest.contab_doc_interni.dto.RetrieveLottiDTO; import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO; import it.integry.integrywmsnative.gest.contab_doc_interni.dto.TipoDocDTO; import it.integry.integrywmsnative.gest.contab_doc_interni.rest.DocInterniRESTConsumer; @@ -126,7 +128,7 @@ public class DocInterniEditFormViewModel { } public void loadArticoloByCodMartOrBarcode(String codMart) { - if(productsList == null) { + if (productsList == null) { this.sendError(new NoResultFromCodMartException(codMart)); return; } @@ -372,6 +374,10 @@ public class DocInterniEditFormViewModel { } } + public void retrieveLotti(String codProd, RunnableArgs> onComplete) { + docInterniRESTConsumer.retrieveLotti(codProd, onComplete, this::sendError); + } + public void deleteRow(SqlMtbColr sqlMtbColr) { mtbColrRepository.delete(sqlMtbColr, this::fetchDocumentRows, this::sendError); } @@ -397,6 +403,10 @@ public class DocInterniEditFormViewModel { return this; } + public TipoDocDTO getTipoDoc() { + return tipoDoc; + } + public boolean isNotesMandatory() { return this.tipoDoc != null && this.tipoDoc.isRequireNote(); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiComponent.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiComponent.java new file mode 100644 index 00000000..a9fba546 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiComponent.java @@ -0,0 +1,14 @@ +package it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectLotti; + +import dagger.Subcomponent; + +@Subcomponent +public interface DialogSelectLottiComponent { + + @Subcomponent.Factory + interface Factory { + DialogSelectLottiComponent create(); + } + + void inject(DialogSelectLottiView dialogSelectLottiView); +} \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiItemListModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiItemListModel.java new file mode 100644 index 00000000..30c23c15 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiItemListModel.java @@ -0,0 +1,54 @@ +package it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectLotti; + +import java.time.LocalDate; + +import it.integry.integrywmsnative.core.di.BindableBoolean; +import it.integry.integrywmsnative.core.utility.UtilityDate; + +public class DialogSelectLottiItemListModel { + + private String partitaMag; + private LocalDate dataScad; + private T originalModel; + private BindableBoolean checked = new BindableBoolean(false); + + public String getPartitaMag() { + return partitaMag; + } + + public DialogSelectLottiItemListModel setPartitaMag(String partitaMag) { + this.partitaMag = partitaMag; + return this; + } + + public LocalDate getDataScad() { + return dataScad; + } + + public String getDataScadText() { + return UtilityDate.formatDate(this.dataScad, UtilityDate.COMMONS_DATE_FORMATS.DMY_SLASH); + } + + public DialogSelectLottiItemListModel setDataScad(LocalDate dataScad) { + this.dataScad = dataScad; + return this; + } + + public T getOriginalModel() { + return originalModel; + } + + public DialogSelectLottiItemListModel setOriginalModel(T originalModel) { + this.originalModel = originalModel; + return this; + } + + public BindableBoolean getChecked() { + return checked; + } + + public DialogSelectLottiItemListModel 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/selectLotti/DialogSelectLottiModule.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiModule.java new file mode 100644 index 00000000..f66deab7 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiModule.java @@ -0,0 +1,14 @@ +package it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectLotti; + +import dagger.Module; +import dagger.Provides; + +@Module(subcomponents = DialogSelectLottiComponent.class) +public class DialogSelectLottiModule { + + @Provides + DialogSelectLottiViewModel providesDialogSelectLottiViewModel() { + return new DialogSelectLottiViewModel(); + } + +} \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiView.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiView.java new file mode 100644 index 00000000..18a4c9ff --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiView.java @@ -0,0 +1,123 @@ +package it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectLotti; + +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.os.Bundle; +import android.view.LayoutInflater; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +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.expansion.BaseDialogFragment; +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.databinding.DialogSelectLottiBinding; +import it.integry.integrywmsnative.databinding.DialogSelectLottiItemModelBinding; + +/** + * @noinspection rawtypes + */ +public class DialogSelectLottiView extends BaseDialogFragment { + @Inject + DialogSelectLottiViewModel mViewModel; + + private DialogSelectLottiBinding mBindings; + private Context mContext; + + private final List> listLotti; + private final RunnableArgs onConfirm; + private final Runnable onAbort; + + public static DialogSelectLottiView newInstance(List> listLotti, + RunnableArgs onConfirm, + Runnable onAbort) { + return new DialogSelectLottiView(listLotti, onConfirm, onAbort); + } + + private DialogSelectLottiView(List> listLotti, + RunnableArgs onConfirm, + Runnable onAbort) { + super(); + + this.listLotti = listLotti; + this.onConfirm = onConfirm; + this.onAbort = onAbort; + } + + @NonNull + @Override + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + this.mContext = requireContext(); + + mBindings = DialogSelectLottiBinding.inflate(LayoutInflater.from(this.mContext), null, false); + mBindings.setLifecycleOwner(this); + + MainApplication.appComponent + .dialogSelectLottiComponent() + .create() + .inject(this); + + setCancelable(false); + + var alertDialog = new MaterialAlertDialogBuilder(this.mContext) + .setView(mBindings.getRoot()) + .setCancelable(isCancelable()) + .setPositiveButton(R.string.confirm, (dialog, which) -> { + final DialogSelectLottiItemListModel selectedItem = Stream.of(listLotti) + .filter(x -> x.getChecked().get()) + .findFirstOrElse(null); + if (selectedItem != null) + this.onConfirm.run(selectedItem); + }) + .setNegativeButton(R.string.abort, (dialog, which) -> { + if (this.onAbort != null) this.onAbort.run(); + }) + .create(); + + alertDialog.setCanceledOnTouchOutside(isCancelable()); + alertDialog.setOnShowListener(this); + return alertDialog; + } + + @Override + public void onShow(DialogInterface dialogInterface) { + super.onShow(dialogInterface); + + this.listLotti.get(0).getChecked().set(true); + this.initRecyclerView(); + } + + private void initRecyclerView() { + var itemType = new Type(R.layout.dialog_select_lotti__item_model, BR.row); + itemType.areContentsTheSame(DialogSelectLottiItemListModel::equals); + itemType.onClick(x -> { + resetChecks(); + x.getBinding().getRow().getChecked().set(true); + + return null; + }); + + new LiveAdapter(listLotti) + .map(DialogSelectLottiItemListModel.class, itemType) + .into(this.mBindings.itemList); + } + + private void resetChecks() { + for (var item : listLotti) { + item.getChecked().set(false); + } + } + +} \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiViewModel.java new file mode 100644 index 00000000..04ec8824 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/dialog/selectLotti/DialogSelectLottiViewModel.java @@ -0,0 +1,5 @@ +package it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectLotti; + +public class DialogSelectLottiViewModel { + +} \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/rest/DocInterniRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/rest/DocInterniRESTConsumer.java index a51de127..d9bb33a5 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/rest/DocInterniRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/rest/DocInterniRESTConsumer.java @@ -1,5 +1,9 @@ package it.integry.integrywmsnative.gest.contab_doc_interni.rest; +import androidx.annotation.NonNull; + +import java.util.List; + import javax.inject.Singleton; import it.integry.integrywmsnative.core.exception.RestException; @@ -9,6 +13,7 @@ import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import it.integry.integrywmsnative.gest.contab_doc_interni.dto.DocInterniSetupDTO; +import it.integry.integrywmsnative.gest.contab_doc_interni.dto.RetrieveLottiDTO; import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO; import retrofit2.Call; import retrofit2.Callback; @@ -38,6 +43,21 @@ public class DocInterniRESTConsumer extends _BaseRESTConsumer { }); } + public void retrieveLotti(String codProd, RunnableArgs> onComplete, RunnableArgs onFailed) { + DocInterniRESTConsumerService service = RESTBuilder.getService(DocInterniRESTConsumerService.class); + service.retrieveLotti(codProd) + .enqueue(new Callback<>() { + @Override + public void onResponse(@NonNull Call>> call, @NonNull Response>> response) { + analyzeAnswer(response, "retrieveLotti", onComplete, onFailed); + } + + @Override + public void onFailure(@NonNull Call>> call, @NonNull Throwable t) { + onFailed.run(new RestException(t.getMessage())); + } + }); + } public void saveDoc(SaveDTO saveDTO, Runnable onComplete, RunnableArgs onFailed) { magazzinoRESTConsumer.saveTerminalinoWMS(saveDTO, onComplete, onFailed); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/rest/DocInterniRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/rest/DocInterniRESTConsumerService.java index 03ac0727..5c2798bd 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/rest/DocInterniRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/rest/DocInterniRESTConsumerService.java @@ -1,9 +1,14 @@ package it.integry.integrywmsnative.gest.contab_doc_interni.rest; +import java.util.List; + import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; +import it.integry.integrywmsnative.core.rest.model.documento.RetrieveDocumentoArtsResponseDTO; import it.integry.integrywmsnative.gest.contab_doc_interni.dto.DocInterniSetupDTO; +import it.integry.integrywmsnative.gest.contab_doc_interni.dto.RetrieveLottiDTO; import retrofit2.Call; import retrofit2.http.GET; +import retrofit2.http.Query; public interface DocInterniRESTConsumerService { @@ -11,4 +16,7 @@ public interface DocInterniRESTConsumerService { @GET("getDocInterniSetup") Call> getSetupDocInterni(); + @GET("wms/documento/retrieveLotti") + Call>> retrieveLotti( + @Query("codProd") String codProd); } diff --git a/app/src/main/res/layout/dialog_select_lotti.xml b/app/src/main/res/layout/dialog_select_lotti.xml new file mode 100644 index 00000000..6055b875 --- /dev/null +++ b/app/src/main/res/layout/dialog_select_lotti.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_select_lotti__item_model.xml b/app/src/main/res/layout/dialog_select_lotti__item_model.xml new file mode 100644 index 00000000..af077969 --- /dev/null +++ b/app/src/main/res/layout/dialog_select_lotti__item_model.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file