diff --git a/app/build.gradle b/app/build.gradle index 8104b2cf..f9b78f12 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,8 +6,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 193 - def appVersionName = '1.16.11' + def appVersionCode = 194 + def appVersionName = '1.16.12' signingConfigs { release { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java index ec192955..e88a2ea2 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java @@ -1,6 +1,7 @@ package it.integry.integrywmsnative.gest.accettazione_picking; import android.content.Intent; +import android.content.SharedPreferences; import android.content.res.Resources; import android.os.Bundle; import android.text.SpannableString; @@ -10,6 +11,7 @@ import android.view.MenuItem; import androidx.appcompat.app.AlertDialog; import androidx.databinding.DataBindingUtil; import androidx.databinding.ObservableArrayList; +import androidx.preference.PreferenceManager; import androidx.recyclerview.widget.LinearLayoutManager; import com.annimon.stream.Stream; @@ -72,7 +74,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta private BottomSheetFragmentLUContentViewModel mBottomSheetFragmentLUContentViewModel; - private ObservableArrayList mAccettazioneMutableData = new ObservableArrayList<>(); + private final ObservableArrayList mAccettazioneMutableData = new ObservableArrayList<>(); public BindableBoolean noItemsToPick = new BindableBoolean(false); @@ -89,6 +91,8 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta private final int PICK_UL_REQUEST = 1; + private boolean mShowSecondaryUntMis = true; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -115,11 +119,13 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta setSupportActionBar(this.mBindings.toolbar); + SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); + mShowSecondaryUntMis = sharedPreferences.getBoolean("picking_enable_sec_unt_mis", true); + this.initVars(); this.initBarcodeReader(); this.initRecyclerView(); - String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); mViewModel.setListeners(this); @@ -180,14 +186,14 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta } private void initRecyclerView() { + AccettazioneListAdapter accettazioneListAdapter = new AccettazioneListAdapter(this, mAccettazioneMutableData, mShowSecondaryUntMis); + this.mBindings.accettazionePickingList.setAdapter(accettazioneListAdapter); + this.mBindings.accettazionePickingList.setLayoutManager(new LinearLayoutManager(this)); + this.mViewModel.getPickingList().observe(this, updatedData -> { refreshList(); }); - AccettazioneListAdapter accettazioneListAdapter = new AccettazioneListAdapter(this, mAccettazioneMutableData); - this.mBindings.accettazionePickingList.setAdapter(accettazioneListAdapter); - this.mBindings.accettazionePickingList.setLayoutManager(new LinearLayoutManager(this)); - accettazioneListAdapter.setOnItemClicked(clickedItem -> { this.mViewModel.dispatchOrdineRow(clickedItem); }); @@ -236,32 +242,44 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta accettazioneListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa()); + //Calc Num CNF + BigDecimal numCnfEvasa = BigDecimal.ZERO; + + if(x.getWithdrawMtbColrs().size() > 0) { + numCnfEvasa = Stream.of(x.getWithdrawMtbColrs()) + .map(MtbColr::getNumCnf) + .reduce(BigDecimal.ZERO, BigDecimal::add); + } + + //Calc qta col + BigDecimal qtaEvasa = BigDecimal.ZERO; + + if(x.getWithdrawMtbColrs().size() > 0) { + qtaEvasa = Stream.of(x.getWithdrawMtbColrs()) + .map(MtbColr::getQtaCol) + .reduce(BigDecimal.ZERO, BigDecimal::add); + } + + if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) { - BigDecimal numCnfEvasa = BigDecimal.ZERO; - - if(x.getWithdrawMtbColrs().size() > 0) { - numCnfEvasa = Stream.of(x.getWithdrawMtbColrs()) - .map(MtbColr::getNumCnf) - .reduce(BigDecimal.ZERO, BigDecimal::add); - } - accettazioneListModel.setQtaEvasa(numCnfEvasa); accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere()); accettazioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col)); + + accettazioneListModel.setSecQtaEvasa(qtaEvasa); + accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere()); + if (x.getMtbAart() != null) + accettazioneListModel.setSecUntMis(x.getMtbAart().getUntMis()); } else { - BigDecimal qtaEvasa = BigDecimal.ZERO; - - if(x.getWithdrawMtbColrs().size() > 0) { - qtaEvasa = Stream.of(x.getWithdrawMtbColrs()) - .map(MtbColr::getQtaCol) - .reduce(BigDecimal.ZERO, BigDecimal::add); - } - accettazioneListModel.setQtaEvasa(qtaEvasa); accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere()); if (x.getMtbAart() != null) accettazioneListModel.setUntMis(x.getMtbAart().getUntMis()); + + accettazioneListModel.setSecQtaEvasa(numCnfEvasa); + accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere()); + accettazioneListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col)); } accettazioneListModel.setOriginalModel(x); @@ -287,35 +305,45 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta accettazioneListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa()); + //Calc Num CNF + BigDecimal numCnfEvasa = BigDecimal.ZERO; + + if(x.getWithdrawMtbColrs().size() > 0) { + numCnfEvasa = Stream.of(x.getWithdrawMtbColrs()) + .map(MtbColr::getNumCnf) + .reduce(BigDecimal.ZERO, BigDecimal::add); + } + + //Calc qta col + BigDecimal qtaEvasa = BigDecimal.ZERO; + + if(x.getWithdrawMtbColrs().size() > 0) { + qtaEvasa = Stream.of(x.getWithdrawMtbColrs()) + .map(MtbColr::getQtaCol) + .reduce(BigDecimal.ZERO, BigDecimal::add); + } + + + if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) { - BigDecimal numCnfEvasa = BigDecimal.ZERO; - - if(x.getWithdrawMtbColrs().size() > 0) { - numCnfEvasa = Stream.of(x.getWithdrawMtbColrs()) - .map(MtbColr::getNumCnf) - .reduce(BigDecimal.ZERO, BigDecimal::add); - } - accettazioneListModel.setQtaEvasa(numCnfEvasa); - accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfOrd()); + accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere()); accettazioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col)); + + accettazioneListModel.setSecQtaEvasa(qtaEvasa); + accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere()); + if (x.getMtbAart() != null) + accettazioneListModel.setSecUntMis(x.getMtbAart().getUntMis()); } else { - BigDecimal qtaEvasa = BigDecimal.ZERO; - - if(x.getWithdrawMtbColrs().size() > 0) { - qtaEvasa = Stream.of(x.getWithdrawMtbColrs()) - .map(MtbColr::getQtaCol) - .reduce(BigDecimal.ZERO, BigDecimal::add); - } - accettazioneListModel.setQtaEvasa(qtaEvasa); accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere()); if (x.getMtbAart() != null) accettazioneListModel.setUntMis(x.getMtbAart().getUntMis()); - } - if (x.getMtbAart() != null) - accettazioneListModel.setUntMis(x.getMtbAart().getUntMis()); + accettazioneListModel.setSecQtaEvasa(numCnfEvasa); + accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere()); + accettazioneListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col)); + } accettazioneListModel.setOriginalModel(x); @@ -340,32 +368,43 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta accettazioneListModel.setBadge1(x.getSitArtOrdDTO().getCodArtFor()); accettazioneListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd())); + //Calc Num CNF + BigDecimal numCnfEvasa = BigDecimal.ZERO; + + if(x.getWithdrawMtbColrs().size() > 0) { + numCnfEvasa = Stream.of(x.getWithdrawMtbColrs()) + .map(MtbColr::getNumCnf) + .reduce(BigDecimal.ZERO, BigDecimal::add); + } + + //Calc qta col + BigDecimal qtaEvasa = BigDecimal.ZERO; + + if(x.getWithdrawMtbColrs().size() > 0) { + qtaEvasa = Stream.of(x.getWithdrawMtbColrs()) + .map(MtbColr::getQtaCol) + .reduce(BigDecimal.ZERO, BigDecimal::add); + } + if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) { - BigDecimal numCnfEvasa = BigDecimal.ZERO; - - if(x.getWithdrawMtbColrs().size() > 0) { - numCnfEvasa = Stream.of(x.getWithdrawMtbColrs()) - .map(MtbColr::getNumCnf) - .reduce(BigDecimal.ZERO, BigDecimal::add); - } - accettazioneListModel.setQtaEvasa(numCnfEvasa); - accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfOrd()); + accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere()); accettazioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col)); + + accettazioneListModel.setSecQtaEvasa(qtaEvasa); + accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere()); + if (x.getMtbAart() != null) + accettazioneListModel.setSecUntMis(x.getMtbAart().getUntMis()); } else { - BigDecimal qtaEvasa = BigDecimal.ZERO; - - if(x.getWithdrawMtbColrs().size() > 0) { - qtaEvasa = Stream.of(x.getWithdrawMtbColrs()) - .map(MtbColr::getQtaCol) - .reduce(BigDecimal.ZERO, BigDecimal::add); - } - accettazioneListModel.setQtaEvasa(qtaEvasa); accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere()); if (x.getMtbAart() != null) accettazioneListModel.setUntMis(x.getMtbAart().getUntMis()); + + accettazioneListModel.setSecQtaEvasa(numCnfEvasa); + accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere()); + accettazioneListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col)); } if (x.getMtbAart() != null) { @@ -389,8 +428,45 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta accettazioneListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd())); - accettazioneListModel.setQtaEvasa(BigDecimal.ZERO); - accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaOrd()); + //Calc Num CNF + BigDecimal numCnfEvasa = BigDecimal.ZERO; + + if(x.getWithdrawMtbColrs().size() > 0) { + numCnfEvasa = Stream.of(x.getWithdrawMtbColrs()) + .map(MtbColr::getNumCnf) + .reduce(BigDecimal.ZERO, BigDecimal::add); + } + + //Calc qta col + BigDecimal qtaEvasa = BigDecimal.ZERO; + + if(x.getWithdrawMtbColrs().size() > 0) { + qtaEvasa = Stream.of(x.getWithdrawMtbColrs()) + .map(MtbColr::getQtaCol) + .reduce(BigDecimal.ZERO, BigDecimal::add); + } + + + if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) { + accettazioneListModel.setQtaEvasa(numCnfEvasa); + accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere()); + accettazioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col)); + + accettazioneListModel.setSecQtaEvasa(qtaEvasa); + accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere()); + if (x.getMtbAart() != null) + accettazioneListModel.setSecUntMis(x.getMtbAart().getUntMis()); + } else { + accettazioneListModel.setQtaEvasa(qtaEvasa); + accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere()); + if (x.getMtbAart() != null) + accettazioneListModel.setUntMis(x.getMtbAart().getUntMis()); + + accettazioneListModel.setSecQtaEvasa(numCnfEvasa); + accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere()); + accettazioneListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col)); + } + if (x.getMtbAart() != null) { accettazioneListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa()); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/core/AccettazioneListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/core/AccettazioneListAdapter.java index 3390aa41..a41dce20 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/core/AccettazioneListAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/core/AccettazioneListAdapter.java @@ -29,8 +29,9 @@ import it.integry.integrywmsnative.gest.accettazione_picking.dto.PickingObjectDT public class AccettazioneListAdapter extends SectionedRecyclerViewAdapter { - private Context mContext; - private List mDataset = new ArrayList<>(); + private final Context mContext; + private final boolean mShowSecondaryUntMis; + private final List mDataset = new ArrayList<>(); private RunnableArgs mOnItemClicked; @@ -56,8 +57,9 @@ public class AccettazioneListAdapter extends SectionedRecyclerViewAdapter mutableDataSet) { + public AccettazioneListAdapter(AppCompatActivity context, ObservableArrayList mutableDataSet, boolean showSecondaryUntMis) { this.mContext = context; + this.mShowSecondaryUntMis = showSecondaryUntMis; mutableDataSet.addOnListChangedCallback(new OnListGeneralChangedCallback() { @Override @@ -130,6 +132,17 @@ public class AccettazioneListAdapter extends SectionedRecyclerViewAdapter { if (this.mOnItemClicked != null) this.mOnItemClicked.run(pickingObjectDTO.getOriginalModel()); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/core/AccettazioneListModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/core/AccettazioneListModel.java index 1de765c5..ce6d2329 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/core/AccettazioneListModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/core/AccettazioneListModel.java @@ -19,6 +19,9 @@ public class AccettazioneListModel implements Cloneable { private BigDecimal qtaEvasa; private BigDecimal qtaTot; private String untMis; + private BigDecimal secQtaEvasa; + private BigDecimal secQtaTot; + private String secUntMis; private boolean active; @@ -124,6 +127,33 @@ public class AccettazioneListModel implements Cloneable { return this; } + public BigDecimal getSecQtaEvasa() { + return secQtaEvasa; + } + + public AccettazioneListModel setSecQtaEvasa(BigDecimal secQtaEvasa) { + this.secQtaEvasa = secQtaEvasa; + return this; + } + + public BigDecimal getSecQtaTot() { + return secQtaTot; + } + + public AccettazioneListModel setSecQtaTot(BigDecimal secQtaTot) { + this.secQtaTot = secQtaTot; + return this; + } + + public String getSecUntMis() { + return secUntMis; + } + + public AccettazioneListModel setSecUntMis(String secUntMis) { + this.secUntMis = secUntMis; + return this; + } + public boolean isActive() { return active; } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/settings/MainSettingsFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/settings/MainSettingsFragment.java index 2d2e612a..aded4d53 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/settings/MainSettingsFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/settings/MainSettingsFragment.java @@ -6,12 +6,14 @@ import android.os.Bundle; import androidx.appcompat.widget.AppCompatTextView; import androidx.preference.PreferenceFragmentCompat; +import java.util.ArrayList; + import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.interfaces.ITitledFragment; public class MainSettingsFragment extends PreferenceFragmentCompat implements ITitledFragment { - + private final ArrayList onPreDestroyList = new ArrayList<>(); @Override public void onCreateActionBar(AppCompatTextView titleText, Context context) { @@ -25,6 +27,16 @@ public class MainSettingsFragment extends PreferenceFragmentCompat implements IT @Override public void addOnPreDestroy(Runnable onPreDestroy) { + onPreDestroyList.add(onPreDestroy); + } + @Override + public void onDestroyView() { + super.onDestroyView(); + + for (Runnable onPreDestroy : + onPreDestroyList) { + onPreDestroy.run(); + } } } diff --git a/app/src/main/res/layout/accettazione_ordine_inevaso_main_list__group_item.xml b/app/src/main/res/layout/accettazione_ordine_inevaso_main_list__group_item.xml index 6f4b99bc..2d6ff5f1 100644 --- a/app/src/main/res/layout/accettazione_ordine_inevaso_main_list__group_item.xml +++ b/app/src/main/res/layout/accettazione_ordine_inevaso_main_list__group_item.xml @@ -7,14 +7,14 @@ android:layout_height="wrap_content" android:background="@color/full_white"> - - @@ -49,7 +49,8 @@ tools:text="BADGE 2" /> - + + + + + + + + + + + + + + + + + + + + android:textStyle="bold" + tools:text="cnf" /> - + - + - - + + android:alpha="0.15" + android:background="@android:color/black" /> \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 7dc7047e..22f2e6cc 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -66,7 +66,7 @@ Magazzino - Settaggi generali + Impostazioni referenza diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 258995a6..72592d08 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -43,6 +43,8 @@ #4CAF50 #43A047 #388E3C + #2e7d32 + #1b5e20 #F5F5F5 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index e2dddcf7..ac5e290c 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -23,6 +23,10 @@ +