From b4199f38aa382292f1b280e57a693cf1b6c72952 Mon Sep 17 00:00:00 2001 From: MarcoE Date: Mon, 4 Mar 2024 14:45:25 +0100 Subject: [PATCH 1/5] Creata gestione "Articoli in giacenza" --- .../MainApplicationComponent.java | 7 +- .../configs/MenuConfiguration.java | 8 + .../core/model/MvwSitArtUdcDetInventario.java | 8 + .../rest/consumers/GiacenzaRESTConsumer.java | 36 +- .../ArticoliInGiacenzaComponent.java | 14 + .../ArticoliInGiacenzaFragment.java | 139 ++++++++ .../ArticoliInGiacenzaModule.java | 16 + .../ArticoliInGiacenzaViewModel.java | 69 ++++ .../ic_dashboard_articoli_in_giacenza.xml | 27 ++ .../main/res/drawable/resource_package.xml | 27 ++ .../layout/fragment_articoli_in_giacenza.xml | 94 ++++++ .../lista_giacenze_per_posizione_model.xml | 313 ++++++++++++++++++ app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values/config.xml | 1 + app/src/main/res/values/strings.xml | 3 +- 15 files changed, 745 insertions(+), 18 deletions(-) create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/articoli_in_giacenza/ArticoliInGiacenzaComponent.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/articoli_in_giacenza/ArticoliInGiacenzaFragment.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/articoli_in_giacenza/ArticoliInGiacenzaModule.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/articoli_in_giacenza/ArticoliInGiacenzaViewModel.java create mode 100644 app/src/main/res/drawable/ic_dashboard_articoli_in_giacenza.xml create mode 100644 app/src/main/res/drawable/resource_package.xml create mode 100644 app/src/main/res/layout/fragment_articoli_in_giacenza.xml create mode 100644 app/src/main/res/layout/lista_giacenze_per_posizione_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 586a56b5..b0b4f000 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.dialog.sele import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsModule; import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleComponent; import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleModule; +import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaComponent; +import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaModule; import it.integry.integrywmsnative.gest.inventario.ElencoInventariComponent; import it.integry.integrywmsnative.gest.inventario.ElencoInventariModule; import it.integry.integrywmsnative.gest.inventario.bottom_sheet__inventario_actions.BottomSheetInventarioActionsComponent; @@ -206,7 +208,8 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr DialogInfoAggiuntiveLUModule.class, DialogAskLineaProdModule.class, ProdRiposizionamentoDaProdModule.class, - DialogInfoGiacenzaModule.class + DialogInfoGiacenzaModule.class, + ArticoliInGiacenzaModule.class }) public interface MainApplicationComponent { @@ -346,6 +349,8 @@ public interface MainApplicationComponent { DialogInfoGiacenzaComponent.Factory dialogInfoGiacenzaComponent(); + ArticoliInGiacenzaComponent.Factory controlloGiacenzeComponent(); + void inject(MainApplication mainApplication); void inject(AppContext mainApplication); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java b/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java index 04d06c80..f8f01b4c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java @@ -5,6 +5,7 @@ import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.MainAccettazioneBollaElencoFragment; import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoFragment; +import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaFragment; import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniFragment; import it.integry.integrywmsnative.gest.inventario.ElencoInventariFragment; import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoFragment; @@ -218,6 +219,13 @@ public class MenuConfiguration extends BaseMenuConfiguration { .setDrawerIcon(R.drawable.ic_black_empty_box) .setFragmentFactory(ElencoInventariFragment::newInstance)) + .addItem(new MenuItem() + .setID(R.id.nav_articoli_in_giacenza) + .setCodMenu("MG070") + .setTitleText(R.string.articoli_in_giacenza_title) + .setTitleIcon(R.drawable.ic_dashboard_articoli_in_giacenza) + .setDrawerIcon(R.drawable.ic_black_empty_box) + .setFragmentFactory(ArticoliInGiacenzaFragment::newInstance)) ).addGroup( new MenuGroup() diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/MvwSitArtUdcDetInventario.java b/app/src/main/java/it/integry/integrywmsnative/core/model/MvwSitArtUdcDetInventario.java index dcaaa84a..189a8ac4 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/model/MvwSitArtUdcDetInventario.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/MvwSitArtUdcDetInventario.java @@ -4,6 +4,8 @@ import java.math.BigDecimal; import java.time.LocalDate; import it.integry.integrywmsnative.core.utility.UtilityDate; +import it.integry.integrywmsnative.core.utility.UtilityNumber; +import it.integry.integrywmsnative.core.utility.UtilityString; /** * Created by ValerioC on 06/03/2018. @@ -292,6 +294,12 @@ public class MvwSitArtUdcDetInventario { return this; } + public String getQtaText(){ + String text = UtilityNumber.decimalToString(this.qtaCol); + text += !UtilityString.isNullOrEmpty(this.untMis) ? "\n" + this.untMis : ""; + return text; + } + public MtbColr toMtbColr() { return new MtbColr() .setCodJcom(getCodJcom()) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaRESTConsumer.java index 01b67698..acb51b71 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaRESTConsumer.java @@ -41,27 +41,31 @@ public class GiacenzaRESTConsumer extends _BaseRESTConsumer { public void onResponse(Call>> call, Response>> response) { analyzeAnswer(response, "getGiacenzeInPosizione", inventarioList -> { - List codMarts = Stream.of(inventarioList) - .map(x -> x.getCodMart().trim()) - .toList(); + if(inventarioList != null && !inventarioList.isEmpty()){ + List codMarts = Stream.of(inventarioList) + .map(x -> x.getCodMart().trim()) + .toList(); - mArticoloRESTConsumer.getByCodMarts(codMarts, mtbAarts -> { - for (var row : inventarioList) { + mArticoloRESTConsumer.getByCodMarts(codMarts, mtbAarts -> { + for (var row : inventarioList) { - MtbAart foundMtbAart = null; - Optional mtbAartOpt = Stream.of(mtbAarts) - .filter(x -> x.getCodMart().equalsIgnoreCase(row.getCodMart())) - .findFirst(); + MtbAart foundMtbAart = null; + Optional mtbAartOpt = Stream.of(mtbAarts) + .filter(x -> x.getCodMart().equalsIgnoreCase(row.getCodMart())) + .findFirst(); - if (mtbAartOpt.isPresent()) { - foundMtbAart = mtbAartOpt.get(); + if (mtbAartOpt.isPresent()) { + foundMtbAart = mtbAartOpt.get(); + } + + row.setMtbAart(foundMtbAart); } - row.setMtbAart(foundMtbAart); - } - - onComplete.run(inventarioList); - }, onFailed); + onComplete.run(inventarioList); + }, onFailed); + }else{ + onComplete.run(new ArrayList<>()); + } }, onFailed); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/articoli_in_giacenza/ArticoliInGiacenzaComponent.java b/app/src/main/java/it/integry/integrywmsnative/gest/articoli_in_giacenza/ArticoliInGiacenzaComponent.java new file mode 100644 index 00000000..e4fd2f28 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/articoli_in_giacenza/ArticoliInGiacenzaComponent.java @@ -0,0 +1,14 @@ +package it.integry.integrywmsnative.gest.articoli_in_giacenza; + +import dagger.Subcomponent; + +@Subcomponent +public interface ArticoliInGiacenzaComponent { + + @Subcomponent.Factory + interface Factory { + ArticoliInGiacenzaComponent create(); + } + + void inject(ArticoliInGiacenzaFragment ControlloGiacenzeFragment); +} \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/articoli_in_giacenza/ArticoliInGiacenzaFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/articoli_in_giacenza/ArticoliInGiacenzaFragment.java new file mode 100644 index 00000000..6bb6d754 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/articoli_in_giacenza/ArticoliInGiacenzaFragment.java @@ -0,0 +1,139 @@ +package it.integry.integrywmsnative.gest.articoli_in_giacenza; + +import android.content.Context; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.appcompat.widget.AppCompatTextView; +import androidx.databinding.DataBindingUtil; +import androidx.databinding.ObservableArrayList; + +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.BaseFragment; +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.interfaces.ITitledFragment; +import it.integry.integrywmsnative.core.model.MtbDepoPosizione; +import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario; +import it.integry.integrywmsnative.databinding.FragmentArticoliInGiacenzaBinding; +import it.integry.integrywmsnative.databinding.ListaGiacenzePerPosizioneModelBinding; +import it.integry.integrywmsnative.view.dialogs.DialogConsts; +import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUView; + +public class ArticoliInGiacenzaFragment extends BaseFragment implements ITitledFragment, ArticoliInGiacenzaViewModel.Listener { + @Inject + ArticoliInGiacenzaViewModel mViewModel; + private FragmentArticoliInGiacenzaBinding mBindings; + private final ObservableArrayList mItemsInventario = new ObservableArrayList<>(); + + public ArticoliInGiacenzaFragment() { + // Required empty public constructor + } + + public static ArticoliInGiacenzaFragment newInstance() { + return new ArticoliInGiacenzaFragment(); + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setRetainInstance(true); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + mBindings = DataBindingUtil.inflate(inflater, R.layout.fragment_articoli_in_giacenza, container, false); + + MainApplication.appComponent + .controlloGiacenzeComponent() + .create() + .inject(this); + + mViewModel.setListener(this); + mBindings.setLifecycleOwner(this); + mBindings.setView(this); + mBindings.setViewmodel(mViewModel); + + this.initRecyclerView(); + + return mBindings.getRoot(); + } + + private void initRecyclerView() { + mViewModel.getMvwSitArtUdcDetInventario().observe(getViewLifecycleOwner(), data -> { + mBindings.emptyView.setVisibility(data == null || data.isEmpty() ? View.VISIBLE : View.GONE); + + this.refreshList(null); + }); + + var itemType = new Type(R.layout.lista_giacenze_per_posizione_model, BR.item); + + new LiveAdapter(mItemsInventario) + .map(MvwSitArtUdcDetInventario.class, itemType) + .into(this.mBindings.inventarioList); + } + + public void refreshList(List filteredList) { + List tmpList; + + if (filteredList != null) { + tmpList = filteredList; + } else { + tmpList = mViewModel.getMvwSitArtUdcDetInventario().getValue(); + } + this.mItemsInventario.clear(); + if (tmpList != null) { + this.mItemsInventario.addAll(tmpList); + } + } + + private void choosePosition(RunnableArgs onComplete) { + DialogAskPositionOfLUView.makeBase(false, (status, mtbDepoPosizione) -> { + + if (status == DialogConsts.Results.ABORT) { + popMe(); + } else { + onComplete.run(mtbDepoPosizione); + } + + }, this::onError) + .show(requireActivity().getSupportFragmentManager(), "tag"); + } + + @Override + public void onCreateActionBar(AppCompatTextView titleText, Context context) { + titleText.setText(context.getText(R.string.articoli_in_giacenza_title).toString()); + } + + @Override + public void onStart() { + super.onStart(); + mViewModel.init(); + } + + @Override + public void onDestroy() { + mViewModel.setListener(null); + + for (Runnable onPreDestroy : mOnPreDestroyList) { + onPreDestroy.run(); + } + super.onDestroy(); + } + + @Override + public void onRequestChoosePosition(RunnableArgs onComplete) { + choosePosition(onComplete); + } +} \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/articoli_in_giacenza/ArticoliInGiacenzaModule.java b/app/src/main/java/it/integry/integrywmsnative/gest/articoli_in_giacenza/ArticoliInGiacenzaModule.java new file mode 100644 index 00000000..50602367 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/articoli_in_giacenza/ArticoliInGiacenzaModule.java @@ -0,0 +1,16 @@ +package it.integry.integrywmsnative.gest.articoli_in_giacenza; + +import dagger.Module; +import dagger.Provides; +import it.integry.integrywmsnative.core.rest.consumers.GiacenzaRESTConsumer; +import it.integry.integrywmsnative.core.services.inventario.InventarioService; + +@Module(subcomponents = ArticoliInGiacenzaComponent.class) +public class ArticoliInGiacenzaModule { + + @Provides + ArticoliInGiacenzaViewModel providesControlloGiacenzeViewModel(InventarioService inventarioService) { + return new ArticoliInGiacenzaViewModel(inventarioService); + } + +} \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/articoli_in_giacenza/ArticoliInGiacenzaViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/articoli_in_giacenza/ArticoliInGiacenzaViewModel.java new file mode 100644 index 00000000..d5304559 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/articoli_in_giacenza/ArticoliInGiacenzaViewModel.java @@ -0,0 +1,69 @@ +package it.integry.integrywmsnative.gest.articoli_in_giacenza; + +import androidx.lifecycle.MutableLiveData; + +import java.util.List; + +import it.integry.integrywmsnative.core.exception.ScannedPositionNotExistException; +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; +import it.integry.integrywmsnative.core.model.MtbDepoPosizione; +import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario; +import it.integry.integrywmsnative.core.services.inventario.InventarioService; +import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto.ArtsInGiacenzaDTO; + +public class ArticoliInGiacenzaViewModel { + private final InventarioService mInventarioService; + private final MutableLiveData> mvwSitArtUdcDetInventario = new MutableLiveData<>(); + private Listener mListener; + + public ArticoliInGiacenzaViewModel(InventarioService inventarioService){ + this.mInventarioService = inventarioService; + } + + public void init() { + this.sendRequestChoosePosition(this::setPosizione); + } + + private void setPosizione(MtbDepoPosizione posizione){ + if (posizione == null) { + //Nessuna posizione trovata con questo barcode + this.sendError(new ScannedPositionNotExistException()); + }else{ + this.sendOnLoadingStarted(); + mInventarioService.getInventarioDaPosizione(posizione, inventario -> { + mvwSitArtUdcDetInventario.postValue(inventario); + this.sendOnLoadingEnded(); + }, this::sendError); + } + } + + public MutableLiveData> getMvwSitArtUdcDetInventario() { + return mvwSitArtUdcDetInventario; + } + + public void setListener(Listener listener) { + this.mListener = listener; + } + + private void sendError(Exception ex) { + if (this.mListener != null) mListener.onError(ex); + } + + private void sendRequestChoosePosition(RunnableArgs onComplete) { + if (this.mListener != null) mListener.onRequestChoosePosition(onComplete); + } + + private void sendOnLoadingStarted() { + if (this.mListener != null) mListener.onLoadingStarted(); + } + + private void sendOnLoadingEnded() { + if (this.mListener != null) mListener.onLoadingEnded(); + } + + public interface Listener extends ILoadingListener { + void onError(Exception ex); + void onRequestChoosePosition(RunnableArgs onComplete); + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_dashboard_articoli_in_giacenza.xml b/app/src/main/res/drawable/ic_dashboard_articoli_in_giacenza.xml new file mode 100644 index 00000000..122516f5 --- /dev/null +++ b/app/src/main/res/drawable/ic_dashboard_articoli_in_giacenza.xml @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/app/src/main/res/drawable/resource_package.xml b/app/src/main/res/drawable/resource_package.xml new file mode 100644 index 00000000..122516f5 --- /dev/null +++ b/app/src/main/res/drawable/resource_package.xml @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_articoli_in_giacenza.xml b/app/src/main/res/layout/fragment_articoli_in_giacenza.xml new file mode 100644 index 00000000..3ff6ecd3 --- /dev/null +++ b/app/src/main/res/layout/fragment_articoli_in_giacenza.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/lista_giacenze_per_posizione_model.xml b/app/src/main/res/layout/lista_giacenze_per_posizione_model.xml new file mode 100644 index 00000000..34257fb5 --- /dev/null +++ b/app/src/main/res/layout/lista_giacenze_per_posizione_model.xml @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 230c471c..c4564f27 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -26,6 +26,7 @@ Inventario Approvvig. linee prod. Riposizionamento da prod. + Articoli in giacenza Posizionamento merce Errore Ops diff --git a/app/src/main/res/values/config.xml b/app/src/main/res/values/config.xml index bd177288..275d97df 100644 --- a/app/src/main/res/values/config.xml +++ b/app/src/main/res/values/config.xml @@ -18,6 +18,7 @@ + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 439ba2de..160c0409 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -73,7 +73,8 @@ Inventory Inventory Production line requirements - Riposizionamento da prod. + Repositioning from production + Items in stock Items placement Free picking Error From 34bd0109c02587ae14c3d9614fb5f0f1a3664d27 Mon Sep 17 00:00:00 2001 From: MarcoE Date: Mon, 4 Mar 2024 14:50:58 +0100 Subject: [PATCH 2/5] -> v1.40.00 (417) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 6d538635..f5d04728 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 416 - def appVersionName = '1.39.03' + def appVersionCode = 417 + def appVersionName = '1.40.00' signingConfigs { release { From 84dcf30aacd4844f9781b3d0f25119a88bea76de Mon Sep 17 00:00:00 2001 From: MarcoE Date: Tue, 5 Mar 2024 11:04:54 +0100 Subject: [PATCH 3/5] =?UTF-8?q?In=20Accettazione=20bolla=20evidenziato=20d?= =?UTF-8?q?i=20un=20colore=20diverso=20le=20righe=20in=20cui=20=C3=A8=20st?= =?UTF-8?q?ata=20accettata=20pi=C3=B9=20merce=20del=20previsto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/AccettazioneBollaPickingListAdapter.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/ui/AccettazioneBollaPickingListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/ui/AccettazioneBollaPickingListAdapter.java index 30e8d9cd..1d6ca3bb 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/ui/AccettazioneBollaPickingListAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/ui/AccettazioneBollaPickingListAdapter.java @@ -101,7 +101,9 @@ public class AccettazioneBollaPickingListAdapter extends SectionedRecyclerViewAd public void onBindItemViewHolder(final AccettazioneBollaPickingListAdapter.SingleItemViewHolder holder, final int position) { AccettazioneBollaPickingListModel pickingObjectDTO = this.mDataset.get(position); - if (pickingObjectDTO.getQtaEvasa().subtract(pickingObjectDTO.getQtaTot()).floatValue() >= 0) { + if (pickingObjectDTO.getQtaEvasa().subtract(pickingObjectDTO.getQtaTot()).floatValue() > 0) { + holder.mBinding.getRoot().setBackgroundColor(mContext.getResources().getColor(R.color.blue_100)); + } else if (pickingObjectDTO.getQtaEvasa().subtract(pickingObjectDTO.getQtaTot()).floatValue() == 0) { holder.mBinding.getRoot().setBackgroundColor(mContext.getResources().getColor(R.color.green_500_with_alpha)); } else if (pickingObjectDTO.getQtaEvasa().floatValue() > 0) { holder.mBinding.getRoot().setBackgroundColor(mContext.getResources().getColor(R.color.orange_600_with_alpha)); From 99a5e162deca2439c9d55318b2196b6373a5d049 Mon Sep 17 00:00:00 2001 From: MarcoE Date: Tue, 5 Mar 2024 11:08:28 +0100 Subject: [PATCH 4/5] -> v1.40.01 (418) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index f5d04728..ad543c15 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 417 - def appVersionName = '1.40.00' + def appVersionCode = 418 + def appVersionName = '1.40.01' signingConfigs { release { From 518756425055ba3ec73f6207b59b9c4fc7e661aa Mon Sep 17 00:00:00 2001 From: MarcoE Date: Tue, 5 Mar 2024 16:22:59 +0100 Subject: [PATCH 5/5] Aggiunta setup per dialog info situazione articolo in picking da ordine di lavorazione --- .../core/class_router/configs/MenuConfiguration.java | 2 +- .../core/rest/consumers/PrinterRESTConsumer.java | 4 ++++ .../core/settings/DBSettingsModel.java | 10 ++++++++++ .../core/settings/SettingsManager.java | 6 ++++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java b/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java index f8f01b4c..14b40704 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java @@ -116,7 +116,7 @@ public class MenuConfiguration extends BaseMenuConfiguration { .setTitleText(R.string.prod_ordine_lavorazione_title_fragment) .setTitleIcon(R.drawable.ic_dashboard_prod_picking_lavorazione) .setDrawerIcon(R.drawable.ic_black_external) - .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1, null))) + .setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1, SettingsManager.iDB().isFlagShowInfo() ? DialogInfoSituazioneArticoloView.class : null))) .addItem(new MenuItem() .setID(R.id.nav_free_lav_picking) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java index dcb88f14..b7822bf8 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java @@ -157,6 +157,10 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer { } public void printClosedOrders(PrintOrderCloseDTO dto, String codMdep, Runnable onComplete, RunnableArgs onFailed) { + if (BuildConfig.DEBUG) { + onComplete.run(); + return; + } PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class, 240); Call> callable = printerService.printClosedOrders(codMdep, dto); 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 0de59f8e..8d1626f9 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 @@ -74,6 +74,7 @@ public class DBSettingsModel { private String viewPosizioni; private boolean flagDeleteRowOnClose = false; private boolean flagAllowBarcodeFornitore = false; + private boolean flagShowInfo = false; public boolean isFlagSpedizioneEnableFakeGiacenza() { return flagSpedizioneEnableFakeGiacenza; @@ -606,4 +607,13 @@ public class DBSettingsModel { this.flagAllowBarcodeFornitore = flagAllowBarcodeFornitore; return this; } + + public boolean isFlagShowInfo() { + return flagShowInfo; + } + + public DBSettingsModel setFlagShowInfo(boolean flagShowInfo) { + this.flagShowInfo = flagShowInfo; + 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 11193892..b9485ddd 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 @@ -283,6 +283,12 @@ public class SettingsManager { .setKeySection("FLAG_GROUP_BY_GRP_MERC") .setSetter(dbSettingsModelIstance::setGroupPoductionByCommodityGroup) .setDefaultValue(false)); + stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class) + .setGestName("PICKING") + .setSection("PRODUZIONE") + .setKeySection("FLAG_SHOW_INFO") + .setSetter(dbSettingsModelIstance::setFlagShowInfo) + .setDefaultValue(false)); stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class) .setGestName("PICKING") .setSection("PRODUZIONE")