From d9c33dc5f5443614a3d8f417db35fc6555c964bf Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Tue, 7 Mar 2023 17:57:42 +0100 Subject: [PATCH] Vario per Essegrande --- .../consumers/InventarioRESTConsumer.java | 23 ++++++++++--------- .../rest/model/documento/DocumentoArtDTO.java | 21 +++++++---------- .../model/inventario/InventarioArtDTO.java | 20 +++++++++++++++- .../core/settings/DBSettingsModel.java | 10 ++++++++ .../core/settings/SettingsManager.java | 5 ++++ .../edit_form/DocInterniEditFormActivity.java | 13 ++++++++--- .../DocInterniEditFormViewModel.java | 8 +++---- .../inventario/ElencoInventariFragment.java | 7 ++++++ .../picking/PickingInventarioActivity.java | 6 +++++ .../res/layout/fragment_elenco_inventario.xml | 5 ++++ 10 files changed, 86 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/InventarioRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/InventarioRESTConsumer.java index 73d70bb7..796f1d6f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/InventarioRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/InventarioRESTConsumer.java @@ -61,6 +61,7 @@ public class InventarioRESTConsumer extends _BaseRESTConsumer { .execute(); var data = analyzeAnswer(response, "retrieveInventario"); + if (data == null) return null; return data.getInventories(); } @@ -71,18 +72,18 @@ public class InventarioRESTConsumer extends _BaseRESTConsumer { var inventarioRESTConsumerService = RESTBuilder.getService(InventarioRESTConsumerService.class, 120); inventarioRESTConsumerService - .insert(inventarioToInsert.getIdInventario(), request) - .enqueue(new Callback<>() { - @Override - public void onResponse(Call> call, Response> response) { - analyzeAnswer(response, "insertInventario", ignored -> onComplete.run(), onFailed); - } + .insert(inventarioToInsert.getIdInventario(), request) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "insertInventario", ignored -> onComplete.run(), onFailed); + } - @Override - public void onFailure(Call> call, Throwable t) { - onFailed.run(new Exception(t)); - } - }); + @Override + public void onFailure(Call> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/documento/DocumentoArtDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/documento/DocumentoArtDTO.java index bd9191cd..d26eab4f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/documento/DocumentoArtDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/documento/DocumentoArtDTO.java @@ -4,8 +4,6 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; -import it.integry.integrywmsnative.core.model.MtbAart; - public class DocumentoArtDTO { private String codMart; @@ -18,6 +16,7 @@ public class DocumentoArtDTO { private BigDecimal giacenza; private boolean plu; private BigDecimal przVendIva; + private boolean untMisDigitale; public String getCodMart() { return codMart; @@ -109,16 +108,12 @@ public class DocumentoArtDTO { return this; } - public MtbAart toMtbAart() { - return new MtbAart() - .setCodMart(getCodMart()) - .setDescrizione(getDescrizione()) - .setDescrizioneEstesa(getDescrizione()) - .setBarCode(!getBarcode().isEmpty() ? getBarcode().get(0) : null) - .setUntMis(getUntMis()) - .setQtaCnf(getQtaCnf()) - .setPlu(isPlu() ? "S" : "N") - .setFlagTracciabilita(isFlagTracciabilita() ? "S" : "N") - .setFlagQtaCnfFissa(isFlagQtaCnfFissa() ? "S" : "N"); + public boolean isUntMisDigitale() { + return untMisDigitale; + } + + public DocumentoArtDTO setUntMisDigitale(boolean untMisDigitale) { + this.untMisDigitale = untMisDigitale; + return this; } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/inventario/InventarioArtDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/inventario/InventarioArtDTO.java index 7254a0da..52779ce7 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/inventario/InventarioArtDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/inventario/InventarioArtDTO.java @@ -2,9 +2,11 @@ package it.integry.integrywmsnative.core.rest.model.inventario; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import it.integry.integrywmsnative.core.model.MtbAart; +import it.integry.integrywmsnative.core.model.MtbUntMis; public class InventarioArtDTO { @@ -18,6 +20,7 @@ public class InventarioArtDTO { private BigDecimal giacenza; private boolean plu; private BigDecimal przVendIva; + private boolean untMisDigitale; public String getCodMart() { return codMart; @@ -109,7 +112,21 @@ public class InventarioArtDTO { return this; } + public boolean isUntMisDigitale() { + return untMisDigitale; + } + + public InventarioArtDTO setUntMisDigitale(boolean untMisDigitale) { + this.untMisDigitale = untMisDigitale; + return this; + } + public MtbAart toMtbAart() { + MtbUntMis mtbUntMis = new MtbUntMis() + .setUntMis(getUntMis()) + .setFlagDig(isUntMisDigitale() ? "S" : "N"); + List mtbUntMisList = Collections.singletonList(mtbUntMis); + return new MtbAart() .setCodMart(getCodMart()) .setDescrizione(getDescrizione()) @@ -119,6 +136,7 @@ public class InventarioArtDTO { .setQtaCnf(getQtaCnf()) .setPlu(isPlu() ? "S" : "N") .setFlagTracciabilita(isFlagTracciabilita() ? "S" : "N") - .setFlagQtaCnfFissa(isFlagQtaCnfFissa() ? "S" : "N"); + .setFlagQtaCnfFissa(isFlagQtaCnfFissa() ? "S" : "N") + .setMtbUntMis(mtbUntMisList); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java index a978779a..1723b162 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java @@ -53,6 +53,7 @@ public class DBSettingsModel { private boolean groupShippingByCommodityGroup = true; private boolean showCodFornSpedizione = true; + private boolean flagCanCreateInventario = true; public boolean isFlagSpedizioneEnableFakeGiacenza() { return flagSpedizioneEnableFakeGiacenza; @@ -396,4 +397,13 @@ public class DBSettingsModel { this.showCodFornSpedizione = showCodFornSpedizione; return this; } + + public boolean isFlagCanCreateInventario() { + return flagCanCreateInventario; + } + + public DBSettingsModel setFlagCanCreateInventario(boolean flagCanCreateInventario) { + this.flagCanCreateInventario = flagCanCreateInventario; + return this; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java index 8d598288..77b77720 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 @@ -349,6 +349,10 @@ public class SettingsManager { .setGestName("PICKING") .setSection("SPEDIZIONE") .setKeySection("FLAG_GROUP_BY_GRP_MERC")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("INVENTARIO") + .setKeySection("FLAG_CAN_CREATE_INVENTARIO")); String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); mGestSetupRESTConsumer.getValues(codMdep, stbGestSetupList, list -> { @@ -381,6 +385,7 @@ public class SettingsManager { dbSettingsModelIstance.setNotifyLotStatus(getValueFromList(list, "SPEDIZIONE", "FLAG_NOTIFICA_STATO_PARTITA", Boolean.class)); dbSettingsModelIstance.setShowCodFornSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_SHOW_COD_FORN", Boolean.class, Boolean.TRUE)); dbSettingsModelIstance.setGroupShippingByCommodityGroup(getValueFromList(list, "SPEDIZIONE", "FLAG_GROUP_BY_GRP_MERC", Boolean.class, Boolean.FALSE)); + dbSettingsModelIstance.setFlagCanCreateInventario(getValueFromList(list, "SPEDIZIONE", "FLAG_CAN_CREATE_INVENTARIO", Boolean.class, Boolean.TRUE)); String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class); if (notePerdita != null) 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 8c87c89f..7cb88efe 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 @@ -15,6 +15,7 @@ import com.annimon.stream.Stream; import java.math.BigDecimal; import java.text.SimpleDateFormat; +import java.util.Collections; import java.util.Date; import java.util.List; @@ -35,6 +36,7 @@ import it.integry.integrywmsnative.core.expansion.BaseActivity; import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbPartitaMag; +import it.integry.integrywmsnative.core.model.MtbUntMis; import it.integry.integrywmsnative.core.rest.model.documento.DocumentoArtDTO; import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.databinding.ActivityContabDocInterniEditBinding; @@ -220,7 +222,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter } @Override - public void onEditRowRequest(SqlMtbColr row, boolean flagTracciabilita) { + public void onEditRowRequest(SqlMtbColr row, boolean flagTracciabilita, boolean isUntMisDig) { this.onLoadingStarted(); MtbAart mtbAart = new MtbAart(); mtbAart.setBarCode(row.getCodBarre()); @@ -233,6 +235,11 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter mtbAart.setFlagTracciabilita(flagTracciabilita ? "S" : "N"); mtbAart.setUntMis(row.getUntMis()); + MtbUntMis mtbUntMis = new MtbUntMis() + .setUntMis(row.getUntMis()) + .setFlagDig(isUntMisDig ? "S" : "N"); + mtbAart.setMtbUntMis(Collections.singletonList(mtbUntMis)); + DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO() .setMtbAart(mtbAart) .setInitialNumCnf(BigDecimal.valueOf(row.getNumCnf())) @@ -289,7 +296,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter @Override public void onMtbColrEdit(MtbColr mtbColr) { DocumentoArtDTO articolo = viewModel.getArticoloByCodMart(mtbColr.getCodMart()); - this.viewModel.dispatchRowEdit(entityToSql(mtbColr), articolo.isFlagTracciabilita()); + this.viewModel.dispatchRowEdit(entityToSql(mtbColr), articolo.isFlagTracciabilita(), articolo.isUntMisDigitale()); } @Override @@ -302,7 +309,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter DialogSelectDocRowsView.newInstance(rows, (row) -> { this.onLoadingEnded(); if (row != null) { - this.viewModel.dispatchRowEdit(row, (articolo.isFlagTracciabilita())); + this.viewModel.dispatchRowEdit(row, articolo.isFlagTracciabilita(), articolo.isUntMisDigitale()); } } ).show(this.getSupportFragmentManager(), "dialogSelectDocRows"); 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 a88429c8..3277c8a1 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 @@ -89,8 +89,8 @@ public class DocInterniEditFormViewModel { } - public void dispatchRowEdit(SqlMtbColr row, boolean flagTracciabilita) { - this.listener.onEditRowRequest(row, flagTracciabilita && this.isCheckPartitaMag); + public void dispatchRowEdit(SqlMtbColr row, boolean flagTracciabilita, boolean isUntMisDig) { + this.listener.onEditRowRequest(row, flagTracciabilita && this.isCheckPartitaMag,isUntMisDig); } private Integer getNextIdRiga() { @@ -157,7 +157,7 @@ public class DocInterniEditFormViewModel { if (rows.size() > 1) { this.listener.onMultipleRowsFound(rows, matchedArt); } else { - this.dispatchRowEdit(rows.get(0), matchedArt.isFlagTracciabilita()); + this.dispatchRowEdit(rows.get(0), matchedArt.isFlagTracciabilita(), matchedArt.isUntMisDigitale()); } @@ -335,7 +335,7 @@ public class DocInterniEditFormViewModel { void onRowsChanged(List rows); - void onEditRowRequest(SqlMtbColr row, boolean flagTracciabilita); + void onEditRowRequest(SqlMtbColr row, boolean flagTracciabilita, boolean isUntMisDig); void onMultipleRowsFound(List rows, DocumentoArtDTO art); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/ElencoInventariFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/ElencoInventariFragment.java index 7ef4f4cb..948a3540 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/ElencoInventariFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/ElencoInventariFragment.java @@ -8,6 +8,7 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.appcompat.widget.AppCompatTextView; +import androidx.databinding.ObservableField; import com.ravikoradiya.liveadapter.LiveAdapter; import com.ravikoradiya.liveadapter.Type; @@ -25,6 +26,7 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgss; import it.integry.integrywmsnative.core.interfaces.ILifecycleFragment; import it.integry.integrywmsnative.core.interfaces.ITitledFragment; import it.integry.integrywmsnative.core.rest.model.inventario.InventarioArtDTO; +import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.databinding.FragmentElencoInventarioBinding; import it.integry.integrywmsnative.databinding.FragmentElencoInventarioListSingleItemBinding; import it.integry.integrywmsnative.gest.inventario.bottom_sheet__inventario_actions.BottomSheetInventarioActionsView; @@ -39,6 +41,8 @@ public class ElencoInventariFragment extends BaseFragment implements ITitledFrag @Inject ElencoInventariViewModel mViewModel; + public ObservableField canCreateInventario = new ObservableField<>(false); + private int barcodeScannerIstanceID = -1; public ElencoInventariFragment() { @@ -69,8 +73,11 @@ public class ElencoInventariFragment extends BaseFragment implements ITitledFrag mBinding = FragmentElencoInventarioBinding.inflate(inflater, container, false); mBinding.setLifecycleOwner(this); + mBinding.setView(this); mBinding.setViewmodel(mViewModel); + canCreateInventario.set(SettingsManager.iDB().isFlagCanCreateInventario()); + mBinding.swiperefresh.setRefreshing(true); mBinding.swiperefresh.setOnRefreshListener(() -> { mViewModel.loadData(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioActivity.java index 4669b879..acb161e5 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioActivity.java @@ -112,6 +112,12 @@ public class PickingInventarioActivity extends BaseActivity implements PickingIn return true; } + @Override + public void onBackPressed() { + BarcodeManager.removeCallback(barcodeScannerIstanceID); + super.onBackPressed(); + } + private void initToolbar() { setSupportActionBar(mBindings.toolbar); diff --git a/app/src/main/res/layout/fragment_elenco_inventario.xml b/app/src/main/res/layout/fragment_elenco_inventario.xml index 71f2b237..c820c97d 100644 --- a/app/src/main/res/layout/fragment_elenco_inventario.xml +++ b/app/src/main/res/layout/fragment_elenco_inventario.xml @@ -5,6 +5,10 @@ + + @@ -96,6 +100,7 @@ android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_margin="16dp" + app:visibility="@{view.canCreateInventario}" app:singleClick="@{() -> viewmodel.openInventario()}" app:srcCompat="@drawable/ic_add_24dp" />