diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml index d168708f..96beb22f 100644 --- a/.idea/assetWizardSettings.xml +++ b/.idea/assetWizardSettings.xml @@ -147,8 +147,8 @@ diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index ae9c4825..9c11ed7b 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 681f41ae..b557e853 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -1,5 +1,29 @@ + + + + + + + + + + + diff --git a/.idea/modules.xml b/.idea/modules.xml index e6b355dc..131e7827 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,6 +2,7 @@ + diff --git a/app/build.gradle b/app/build.gradle index 25b69c70..f34f696d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 90 - def appVersionName = '1.8.3' + def appVersionCode = 91 + def appVersionName = '1.8.4' signingConfigs { release { @@ -97,18 +97,18 @@ dependencies { implementation 'com.orhanobut:logger:2.2.0' implementation 'com.google.firebase:firebase-core:17.2.0' implementation 'com.google.firebase:firebase-crash:16.2.1' - implementation 'com.google.firebase:firebase-perf:19.0.0' + implementation 'com.google.firebase:firebase-perf:19.0.1' implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1' implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' - implementation 'com.google.android.material:material:1.1.0-alpha10' + implementation 'com.google.android.material:material:1.1.0-beta01' implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2' implementation 'androidx.cardview:cardview:1.0.0' - implementation 'androidx.recyclerview:recyclerview:1.1.0-beta04' + implementation 'androidx.recyclerview:recyclerview:1.1.0-beta05' implementation 'androidx.preference:preference:1.1.0' - implementation 'com.squareup.okhttp3:okhttp:4.1.0' - implementation 'com.squareup.retrofit2:retrofit:2.6.1' - implementation 'com.squareup.retrofit2:converter-gson:2.6.1' + implementation 'com.squareup.okhttp3:okhttp:4.2.2' + implementation 'com.squareup.retrofit2:retrofit:2.6.2' + implementation 'com.squareup.retrofit2:converter-gson:2.6.2' implementation 'com.annimon:stream:1.2.1' implementation 'androidx.lifecycle:lifecycle-runtime:2.1.0' implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0' diff --git a/app/src/main/java/it/integry/integrywmsnative/MainActivity.java b/app/src/main/java/it/integry/integrywmsnative/MainActivity.java index 18b580f8..3240bfd2 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainActivity.java @@ -18,10 +18,19 @@ import androidx.appcompat.widget.SearchView; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; +import android.view.SubMenu; import android.view.View; import androidx.fragment.app.FragmentTransaction; +import androidx.recyclerview.widget.GridLayoutManager; +import java.util.List; + +import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration; +import it.integry.integrywmsnative.core.class_router.ClassRouter; +import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration; +import it.integry.integrywmsnative.core.class_router.configs.MenuConfiguration; +import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration; import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker; import it.integry.integrywmsnative.core.interfaces.IFilterableFragment; import it.integry.integrywmsnative.core.interfaces.IPoppableActivity; @@ -32,10 +41,12 @@ import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.update.UpdatesManager; import it.integry.integrywmsnative.core.utility.UtilitySettings; import it.integry.integrywmsnative.databinding.ActivityMainBinding; +import it.integry.integrywmsnative.databinding.FragmentMainMenuGroupLayoutBinding; import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneFragment; import it.integry.integrywmsnative.core.interfaces.ITitledFragment; import it.integry.integrywmsnative.gest.login.LoginActivity; import it.integry.integrywmsnative.gest.main.MainFragment; +import it.integry.integrywmsnative.gest.main.MenuListAdapter; import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment; import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.ProdOrdineLavorazioneElencoFragment; import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment; @@ -80,6 +91,7 @@ public class MainActivity extends AppCompatActivity mBinding.navView.setNavigationItemSelectedListener(this); mBinding.appBarMain.mainSearch.setVisibility(View.GONE); + initGestMenu(); openMain(); init(); @@ -115,17 +127,14 @@ public class MainActivity extends AppCompatActivity @Override public boolean onCreateOptionsMenu(Menu menu) { - // Inflate the menu; this adds items to the action bar if it is present. - getMenuInflater().inflate(R.menu.main, menu); return true; } - public void setItem(@IdRes int menuId) { + public void setMenuItem(@IdRes int menuId) { mBinding.navView.setCheckedItem(menuId); onNavigationItemSelected(mBinding.navView.getMenu().findItem(menuId)); } - @SuppressWarnings("StatementWithEmptyBody") @Override public boolean onNavigationItemSelected(MenuItem item) { @@ -135,91 +144,31 @@ public class MainActivity extends AppCompatActivity Fragment fragment = null; int id = item.getItemId(); + BaseMenuConfiguration.MenuItem menuItem = getMenuItem(id); - switch(id) { - case R.id.nav_home: - this.pop(); - break; + if(menuItem != null) { + fragment = menuItem.getFragmentClass(); + this.adaptViewToFragment(fragment); + } else { + switch (id) { + case R.id.nav_home: + this.pop(); + break; - case R.id.nav_accettazione: - fragment = MainAccettazioneFragment.newInstance(); - this.adaptViewToFragment(fragment); - break; - - case R.id.nav_rettifica_giacenze: - fragment = RettificaGiacenzeFragment.newInstance(); - this.adaptViewToFragment(fragment); - break; - - case R.id.nav_spedizione: - fragment = MainVenditaFragment.newInstance(); - this.adaptViewToFragment(fragment); - break; - - case R.id.nav_versamento_merce: - fragment = VersamentoMerceFragment.newInstance(); - this.adaptViewToFragment(fragment); - break; - - case R.id.nav_free_picking: - fragment = PickingLiberoFragment.newInstance(); - this.adaptViewToFragment(fragment); - break; - - case R.id.nav_resi_fornitore: - fragment = UltimiArriviFornitoreFragment.newInstance(); - this.adaptViewToFragment(fragment); - break; - - case R.id.nav_resi_cliente: - fragment = UltimeConsegneClienteFragment.newInstance(); - this.adaptViewToFragment(fragment); - break; - - - - case R.id.nav_prod_ordine_produzione: - fragment = ProdOrdineProduzioneElencoFragment.newInstance(); - this.adaptViewToFragment(fragment); - break; - - case R.id.nav_prod_ordine_lavorazione: - fragment = ProdOrdineLavorazioneElencoFragment.newInstance(); - this.adaptViewToFragment(fragment); - break; - - case R.id.nav_prod_versamento_materiale: - fragment = ProdVersamentoMaterialeFragment.newInstance(); - this.adaptViewToFragment(fragment); - break; - - case R.id.nav_prod_recupero_materiale: - fragment = ProdRecuperoMaterialeFragment.newInstance(); - this.adaptViewToFragment(fragment); - break; - - - - - case R.id.nav_settings: - fragment = new MainSettingsFragment(); - this.adaptViewToFragment(fragment); - break; - - - - - case R.id.nav_logout: - UtilitySettings.logout(); - ServerStatusChecker.dispose(); - - startLoginActivity(); - break; + case R.id.nav_settings: + fragment = new MainSettingsFragment(); + this.adaptViewToFragment(fragment); + break; + case R.id.nav_logout: + UtilitySettings.logout(); + ServerStatusChecker.dispose(); + startLoginActivity(); + break; + } } - changeContentFragment(fragment, true); DrawerLayout drawer = findViewById(R.id.drawer_layout); @@ -228,6 +177,57 @@ public class MainActivity extends AppCompatActivity } + private void initGestMenu() { + Menu menu = mBinding.navView.getMenu(); + + ICustomConfiguration customConfiguration = ClassRouter.getIstance(ClassRouter.PATH.CUSTOM_CONFIGURATION); + BaseMenuConfiguration menuConfiguration = customConfiguration.getConfig(BaseCustomConfiguration.Keys.MENU_CONFIGURATION); + List menuGroups = menuConfiguration.getGroups(); + + menu.add(R.id.nav_home, R.id.nav_home, 0, R.string.home) + .setIcon(R.drawable.ic_black_home); + + for(MenuConfiguration.MenuGroup menuGroup : menuGroups) { + + SubMenu subMenu = menu.addSubMenu(menuGroup.getGroupText()); + + for(MenuConfiguration.MenuItem menuItem : menuGroup.getItems()) { + subMenu + .add(menuGroup.getGroupId(), menuItem.getID(), 0, menuItem.getTitleText()) + .setIcon(menuItem.getDrawerIcon()); + } + } + + + SubMenu subMenu = menu.addSubMenu(R.string.other); + subMenu.add(R.id.nav_home, R.id.nav_settings, 0, R.string.general_settings) + .setIcon(R.drawable.ic_settings_24dp); + subMenu.add(R.id.nav_logout, R.id.nav_logout, 0, R.string.logout) + .setIcon(R.drawable.ic_logout_24dp); + } + + private MenuConfiguration.MenuItem getMenuItem(@IdRes int menuId) { + ICustomConfiguration customConfiguration = ClassRouter.getIstance(ClassRouter.PATH.CUSTOM_CONFIGURATION); + BaseMenuConfiguration menuConfiguration = customConfiguration.getConfig(BaseCustomConfiguration.Keys.MENU_CONFIGURATION); + List menuGroups = menuConfiguration.getGroups(); + + BaseMenuConfiguration.MenuItem menuItemToReturn = null; + + for(MenuConfiguration.MenuGroup menuGroup : menuGroups) { + for(MenuConfiguration.MenuItem menuItem : menuGroup.getItems()) { + if(menuId == menuItem.getID()) { + menuItemToReturn = menuItem; + break; + } + } + + if(menuItemToReturn != null) break; + } + + + return menuItemToReturn; + } + private void openMain() { MainFragment mainFragment = MainFragment.newInstance(); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/CommonConst.java b/app/src/main/java/it/integry/integrywmsnative/core/CommonConst.java index 77ca9bbf..5f6efa2d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/CommonConst.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/CommonConst.java @@ -31,7 +31,8 @@ public class CommonConst { public static String[] forErrors = { "syslogs@integry.it", - "g.scorrano@integry.it" + "g.scorrano@integry.it", + "v.castellana@integry.it" }; } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/class_router/ClassRouter.java b/app/src/main/java/it/integry/integrywmsnative/core/class_router/ClassRouter.java index 604f1231..d5050fbf 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/class_router/ClassRouter.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/class_router/ClassRouter.java @@ -6,6 +6,7 @@ import android.util.Pair; import java.util.ArrayList; import java.util.List; +import it.integry.integrywmsnative.core.class_router.exceptions.MethodPathNotRegisteredException; import it.integry.integrywmsnative.core.utility.UtilityExceptions; public class ClassRouter { @@ -62,14 +63,14 @@ public class ClassRouter { try { if (!checkIClassExists(path)) { - //throw new MethodPathNotRegisteredException(path); + throw new MethodPathNotRegisteredException(path); } Class clazz = mRouteClasses.get(getClassIndex(path)).second; return (T)clazz.newInstance(); - } catch (Exception ex) { + } catch (InstantiationException | MethodPathNotRegisteredException | IllegalAccessException ex) { UtilityExceptions.defaultException(context, ex, true); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/BaseMenuConfiguration.java b/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/BaseMenuConfiguration.java index 9a7ba14a..b10666ef 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/BaseMenuConfiguration.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/BaseMenuConfiguration.java @@ -3,6 +3,7 @@ package it.integry.integrywmsnative.core.class_router.configs; import androidx.annotation.DrawableRes; import androidx.annotation.IdRes; import androidx.annotation.StringRes; +import androidx.fragment.app.Fragment; import java.util.ArrayList; import java.util.List; @@ -26,9 +27,21 @@ public class BaseMenuConfiguration { @StringRes private int mGroupText; + @IdRes + private int mGroupId; + private List mItems = new ArrayList<>(); - public int getGroupText() { + public @IdRes int getGroupId() { + return mGroupId; + } + + public MenuGroup setGroupId(@IdRes int mGroupId) { + this.mGroupId = mGroupId; + return this; + } + + public @StringRes int getGroupText() { return mGroupText; } @@ -48,11 +61,11 @@ public class BaseMenuConfiguration { } public static class MenuItem { - @IdRes - private int mID; + @IdRes private int mID; @StringRes private int mTitleText; - @DrawableRes - private int mTitleIcon; + @DrawableRes private int mTitleIcon; + @DrawableRes private int mDrawerIcon; + private Fragment fragmentClass; public int getID() { return mID; @@ -80,6 +93,24 @@ public class BaseMenuConfiguration { mTitleIcon = titleIcon; return this; } + + public int getDrawerIcon() { + return mDrawerIcon; + } + + public MenuItem setDrawerIcon(@DrawableRes int drawerIcon) { + mDrawerIcon = drawerIcon; + return this; + } + + public Fragment getFragmentClass() { + return fragmentClass; + } + + public MenuItem setFragmentClass(Fragment fragmentClass) { + this.fragmentClass = fragmentClass; + return this; + } } 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 313cb476..81277197 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 @@ -1,6 +1,17 @@ package it.integry.integrywmsnative.core.class_router.configs; import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneFragment; +import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment; +import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment; +import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.ProdOrdineLavorazioneElencoFragment; +import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeFragment; +import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment; +import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment; +import it.integry.integrywmsnative.gest.ultime_arrivi_fornitore.UltimiArriviFornitoreFragment; +import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteFragment; +import it.integry.integrywmsnative.gest.vendita.MainVenditaFragment; +import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceFragment; public class MenuConfiguration extends BaseMenuConfiguration { @@ -12,70 +23,96 @@ public class MenuConfiguration extends BaseMenuConfiguration { .addGroup( new MenuGroup() .setGroupText(R.string.purchase) + .setGroupId(R.id.nav_group_acquisto) .addItem(new MenuItem() .setID(R.id.nav_accettazione) .setTitleText(R.string.accettazione_title_fragment) - .setTitleIcon(R.drawable.ic_dashboard_accettazione)) + .setTitleIcon(R.drawable.ic_dashboard_accettazione) + .setDrawerIcon(R.drawable.ic_black_download) + .setFragmentClass(MainAccettazioneFragment.newInstance())) .addItem(new MenuItem() .setID(R.id.nav_resi_fornitore) .setTitleText(R.string.fragment_ultime_arrivi_fornitore_title) - .setTitleIcon(R.drawable.ic_latest_delivery)) + .setTitleIcon(R.drawable.ic_latest_delivery) + .setDrawerIcon(R.drawable.ic_black_latest_delivery) + .setFragmentClass(UltimiArriviFornitoreFragment.newInstance())) ).addGroup( new MenuGroup() .setGroupText(R.string.checkout) + .setGroupId(R.id.nav_group_spedizione) .addItem(new MenuItem() .setID(R.id.nav_spedizione) .setTitleText(R.string.vendita_title_fragment) - .setTitleIcon(R.drawable.ic_dashboard_spedizione)) + .setTitleIcon(R.drawable.ic_dashboard_spedizione) + .setDrawerIcon(R.drawable.ic_black_upload) + .setFragmentClass(MainVenditaFragment.newInstance())) .addItem(new MenuItem() .setID(R.id.nav_free_picking) .setTitleText(R.string.free_picking) - .setTitleIcon(R.drawable.ic_dashboard_picking_libero)) + .setTitleIcon(R.drawable.ic_dashboard_picking_libero) + .setDrawerIcon(R.drawable.ic_black_barcode_scanner) + .setFragmentClass(PickingLiberoFragment.newInstance())) .addItem(new MenuItem() .setID(R.id.nav_resi_cliente) .setTitleText(R.string.fragment_ultime_consegne_cliente_title) - .setTitleIcon(R.drawable.ic_latest_delivery)) + .setTitleIcon(R.drawable.ic_latest_delivery_customer) + .setDrawerIcon(R.drawable.ic_black_latest_delivery) + .setFragmentClass(UltimeConsegneClienteFragment.newInstance())) ).addGroup(new MenuGroup() .setGroupText(R.string.manufacture) + .setGroupId(R.id.nav_group_produzione) .addItem(new MenuItem() .setID(R.id.nav_prod_ordine_produzione) .setTitleText(R.string.prod_ordine_produzione_title_fragment) - .setTitleIcon(R.drawable.ic_dashboard_accettazione)) + .setTitleIcon(R.drawable.ic_dashboard_accettazione) + .setDrawerIcon(R.drawable.ic_black_external) + .setFragmentClass(ProdOrdineProduzioneElencoFragment.newInstance())) .addItem(new MenuItem() .setID(R.id.nav_prod_ordine_lavorazione) .setTitleText(R.string.prod_ordine_lavorazione_title_fragment) - .setTitleIcon(R.drawable.ic_dashboard_spedizione)) + .setTitleIcon(R.drawable.ic_dashboard_spedizione) + .setDrawerIcon(R.drawable.ic_black_external) + .setFragmentClass(ProdOrdineLavorazioneElencoFragment.newInstance())) .addItem(new MenuItem() .setID(R.id.nav_prod_versamento_materiale) .setTitleText(R.string.prod_versamento_materiale_title_fragment) - .setTitleIcon(R.drawable.ic_dashboard_prod_versamento_materiale)) + .setTitleIcon(R.drawable.ic_dashboard_prod_versamento_materiale) + .setDrawerIcon(R.drawable.ic_black_external) + .setFragmentClass(ProdVersamentoMaterialeFragment.newInstance())) .addItem(new MenuItem() .setID(R.id.nav_prod_recupero_materiale) .setTitleText(R.string.prod_recupero_materiale_title_fragment) - .setTitleIcon(R.drawable.ic_dashboard_prod_recupero_materiale)) + .setTitleIcon(R.drawable.ic_dashboard_prod_recupero_materiale) + .setDrawerIcon(R.drawable.ic_black_external) + .setFragmentClass(ProdRecuperoMaterialeFragment.newInstance())) ) .addGroup( new MenuGroup() .setGroupText(R.string.internal_handling) + .setGroupId(R.id.nav_group_movimentazione_interna) .addItem(new MenuItem() .setID(R.id.nav_versamento_merce) .setTitleText(R.string.versamento_merce_fragment_title) - .setTitleIcon(R.drawable.ic_dashboard_versamento_merce)) + .setTitleIcon(R.drawable.ic_dashboard_versamento_merce) + .setDrawerIcon(R.drawable.ic_black_load_shelf) + .setFragmentClass(VersamentoMerceFragment.newInstance())) .addItem(new MenuItem() .setID(R.id.nav_rettifica_giacenze) .setTitleText(R.string.rettifica_giacenze_fragment_title) - .setTitleIcon(R.drawable.ic_dashboard_rettifica_giacenze)) + .setTitleIcon(R.drawable.ic_dashboard_rettifica_giacenze) + .setDrawerIcon(R.drawable.ic_black_empty_box) + .setFragmentClass(RettificaGiacenzeFragment.newInstance())) ); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/class_router/exceptions/MethodPathNotRegisteredException.java b/app/src/main/java/it/integry/integrywmsnative/core/class_router/exceptions/MethodPathNotRegisteredException.java new file mode 100644 index 00000000..41e5df02 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/class_router/exceptions/MethodPathNotRegisteredException.java @@ -0,0 +1,11 @@ +package it.integry.integrywmsnative.core.class_router.exceptions; + +import it.integry.integrywmsnative.core.class_router.ClassRouter; + +public class MethodPathNotRegisteredException extends Exception { + + public MethodPathNotRegisteredException(ClassRouter.PATH path) { + super(String.format("Path %s is not registered", path.toString())); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/DtbDocr.java b/app/src/main/java/it/integry/integrywmsnative/core/model/DtbDocr.java index b7d1bece..1f2d8cef 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/model/DtbDocr.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/DtbDocr.java @@ -748,16 +748,4 @@ public class DtbDocr { return this; } - - - public String getStringKeyIdentifier() { - String separator = "|"; - return - this.getCodAnag() + separator + - this.getCodDtip() + separator + - this.getSerDoc() + separator + - UtilityDate.formatDate(this.getDataDocD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH) + separator + - this.getNumDoc() + separator + - this.getIdRiga(); - } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColr.java b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColr.java index 58d84c5e..7071b040 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColr.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColr.java @@ -14,7 +14,7 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityLogger; import it.integry.integrywmsnative.core.utility.UtilityString; -public class MtbColr extends EntityBase implements Parcelable { +public class MtbColr extends EntityBase { private String gestione; @@ -48,6 +48,12 @@ public class MtbColr extends EntityBase implements Parcelable { private String untMis; private Integer causale; private String utente; + private String codAnagDoc; + private String codDtipDoc; + private String dataDoc; + private String serDoc; + private Integer numDoc; + private Integer idRigaDoc; private MtbAart mtbAart; @@ -64,179 +70,6 @@ public class MtbColr extends EntityBase implements Parcelable { public static final int VERSAMENTO = 2; } - protected MtbColr(Parcel in) { - type = "mtb_colr"; - gestione = in.readString(); - serCollo = in.readString(); - if (in.readByte() == 0) { - numCollo = null; - } else { - numCollo = in.readInt(); - } - dataCollo = in.readString(); - if (in.readByte() == 0) { - riga = null; - } else { - riga = in.readInt(); - } - if (in.readByte() == 0) { - rigaOrd = null; - } else { - rigaOrd = in.readInt(); - } - codMart = in.readString(); - codBarre = in.readString(); - codCol = in.readString(); - codTagl = in.readString(); - partitaMag = in.readString(); - gestioneRif = in.readString(); - serColloRif = in.readString(); - note = in.readString(); - dataOrd = in.readString(); - dataColloRif = in.readString(); - if (in.readByte() == 0) { - numOrd = null; - } else { - numOrd = in.readInt(); - } - if (in.readByte() == 0) { - numEtich = null; - } else { - numEtich = in.readInt(); - } - if (in.readByte() == 0) { - numColloRif = null; - } else { - numColloRif = in.readInt(); - } - datetimeRow = in.readString(); - codJcom = in.readString(); - insPartitaMag = in.readString(); - mtbPartitaMag_descrizione = in.readString(); - dataScadPartita = in.readString(); - descrizione = in.readString(); - untMis = in.readString(); - - if (in.readByte() == 0) { - qtaCnf = null; - } else { - qtaCnf = new BigDecimal(in.readFloat()); - } - - if (in.readByte() == 0) { - qtaCol = null; - } else { - qtaCol = new BigDecimal(in.readFloat()); - } - - if (in.readByte() == 0) { - numCnf = null; - } else { - numCnf = new BigDecimal(in.readFloat()); - } - - mtbAart = in.readParcelable(MtbAart.class.getClassLoader()); - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(gestione); - dest.writeString(serCollo); - if (numCollo == null) { - dest.writeByte((byte) 0); - } else { - dest.writeByte((byte) 1); - dest.writeInt(numCollo); - } - dest.writeString(dataCollo); - if (riga == null) { - dest.writeByte((byte) 0); - } else { - dest.writeByte((byte) 1); - dest.writeInt(riga); - } - if (rigaOrd == null) { - dest.writeByte((byte) 0); - } else { - dest.writeByte((byte) 1); - dest.writeInt(rigaOrd); - } - dest.writeString(codMart); - dest.writeString(codBarre); - dest.writeString(codCol); - dest.writeString(codTagl); - dest.writeString(partitaMag); - dest.writeString(gestioneRif); - dest.writeString(serColloRif); - dest.writeString(note); - dest.writeString(dataOrd); - dest.writeString(dataColloRif); - if (numOrd == null) { - dest.writeByte((byte) 0); - } else { - dest.writeByte((byte) 1); - dest.writeInt(numOrd); - } - if (numEtich == null) { - dest.writeByte((byte) 0); - } else { - dest.writeByte((byte) 1); - dest.writeInt(numEtich); - } - if (numColloRif == null) { - dest.writeByte((byte) 0); - } else { - dest.writeByte((byte) 1); - dest.writeInt(numColloRif); - } - dest.writeString(datetimeRow); - dest.writeString(codJcom); - dest.writeString(insPartitaMag); - dest.writeString(mtbPartitaMag_descrizione); - dest.writeString(dataScadPartita); - dest.writeString(descrizione); - dest.writeString(untMis); - - if (qtaCnf == null) { - dest.writeByte((byte) 0); - } else { - dest.writeByte((byte) 1); - dest.writeFloat(qtaCnf.floatValue()); - } - - if (qtaCol == null) { - dest.writeByte((byte) 0); - } else { - dest.writeByte((byte) 1); - dest.writeFloat(qtaCol.floatValue()); - } - - if (numCnf == null) { - dest.writeByte((byte) 0); - } else { - dest.writeByte((byte) 1); - dest.writeFloat(numCnf.floatValue()); - } - - dest.writeParcelable(mtbAart, flags); - } - - @Override - public int describeContents() { - return 0; - } - - public static final Creator CREATOR = new Creator() { - @Override - public MtbColr createFromParcel(Parcel in) { - return new MtbColr(in); - } - - @Override - public MtbColr[] newArray(int size) { - return new MtbColr[size]; - } - }; public String getGestione() { return gestione; @@ -602,4 +435,58 @@ public class MtbColr extends EntityBase implements Parcelable { this.utente = utente; return this; } + + public String getCodAnagDoc() { + return codAnagDoc; + } + + public MtbColr setCodAnagDoc(String codAnagDoc) { + this.codAnagDoc = codAnagDoc; + return this; + } + + public String getCodDtipDoc() { + return codDtipDoc; + } + + public MtbColr setCodDtipDoc(String codDtipDoc) { + this.codDtipDoc = codDtipDoc; + return this; + } + + public String getDataDoc() { + return dataDoc; + } + + public MtbColr setDataDoc(String dataDoc) { + this.dataDoc = dataDoc; + return this; + } + + public String getSerDoc() { + return serDoc; + } + + public MtbColr setSerDoc(String serDoc) { + this.serDoc = serDoc; + return this; + } + + public Integer getNumDoc() { + return numDoc; + } + + public MtbColr setNumDoc(Integer numDoc) { + this.numDoc = numDoc; + return this; + } + + public Integer getIdRigaDoc() { + return idRigaDoc; + } + + public MtbColr setIdRigaDoc(Integer idRigaDoc) { + this.idRigaDoc = idRigaDoc; + return this; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbDepoPosizione.java b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbDepoPosizione.java index ce851164..2a9d3238 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbDepoPosizione.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbDepoPosizione.java @@ -10,6 +10,7 @@ public class MtbDepoPosizione { private String descrizione; private String flagMonoCollo; private String flagLineaProduzione; + private Integer priorita; @@ -76,4 +77,13 @@ public class MtbDepoPosizione { public boolean isFlagLineaProduzione() { return "S".equalsIgnoreCase(flagLineaProduzione); } + + public Integer getPriorita() { + return priorita; + } + + public MtbDepoPosizione setPriorita(Integer priorita) { + this.priorita = priorita; + return this; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/StbGestSetup.java b/app/src/main/java/it/integry/integrywmsnative/core/model/StbGestSetup.java new file mode 100644 index 00000000..4ead3ea1 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/StbGestSetup.java @@ -0,0 +1,131 @@ +package it.integry.integrywmsnative.core.model; + +import java.util.Date; + +public class StbGestSetup extends EntityBase{ + + private String gestName; + private String section; + private String keySection; + private String value; + private String description; + private String flagSync; + private String queryDefault; + private String flagUserView; + private String dataModifica; + private String modificatoDa; + private String flagSetupDepo; + private String flagSetupUserWeb; + + public StbGestSetup() { + type = "stb_gest_setup"; + } + + public String getGestName() { + return gestName; + } + + public StbGestSetup setGestName(String gestName) { + this.gestName = gestName; + return this; + } + + public String getSection() { + return section; + } + + public StbGestSetup setSection(String section) { + this.section = section; + return this; + } + + public String getKeySection() { + return keySection; + } + + public StbGestSetup setKeySection(String keySection) { + this.keySection = keySection; + return this; + } + + public String getValue() { + return value; + } + + public StbGestSetup setValue(String value) { + this.value = value; + return this; + } + + public String getDescription() { + return description; + } + + public StbGestSetup setDescription(String description) { + this.description = description; + return this; + } + + public String getFlagSync() { + return flagSync; + } + + public StbGestSetup setFlagSync(String flagSync) { + this.flagSync = flagSync; + return this; + } + + public String getQueryDefault() { + return queryDefault; + } + + public StbGestSetup setQueryDefault(String queryDefault) { + this.queryDefault = queryDefault; + return this; + } + + public String getFlagUserView() { + return flagUserView; + } + + public StbGestSetup setFlagUserView(String flagUserView) { + this.flagUserView = flagUserView; + return this; + } + + public String getDataModifica() { + return dataModifica; + } + + public StbGestSetup setDataModifica(String dataModifica) { + this.dataModifica = dataModifica; + return this; + } + + public String getModificatoDa() { + return modificatoDa; + } + + public StbGestSetup setModificatoDa(String modificatoDa) { + this.modificatoDa = modificatoDa; + return this; + } + + public String getFlagSetupDepo() { + return flagSetupDepo; + } + + public StbGestSetup setFlagSetupDepo(String flagSetupDepo) { + this.flagSetupDepo = flagSetupDepo; + return this; + } + + public String getFlagSetupUserWeb() { + return flagSetupUserWeb; + } + + public StbGestSetup setFlagSetupUserWeb(String flagSetupUserWeb) { + this.flagSetupUserWeb = flagSetupUserWeb; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumer.java index 2f5eb010..27e13f6c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumer.java @@ -2,6 +2,9 @@ package it.integry.integrywmsnative.core.rest.consumers; import android.util.Log; +import java.util.List; + +import it.integry.integrywmsnative.core.model.StbGestSetup; import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.model.GestSetupDTO; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; @@ -68,4 +71,22 @@ public class GestSetupRESTConsumer extends _BaseRESTConsumer { } + public static void getValues(List stbGestSetupList, RunnableArgs> onComplete, RunnableArgs onFailed) { + GestSetupRESTConsumerService service = RESTBuilder.getService(GestSetupRESTConsumerService.class); + service.getGestSetupValues(stbGestSetupList).enqueue(new Callback>>() { + @Override + public void onResponse(Call>> call, Response>> response) { + analyzeAnswer(response, "GestSetup", onComplete, onFailed); + } + + @Override + public void onFailure(Call>> call, Throwable t) { + Log.e("PrintCollo", t.toString()); + UtilityLogger.errorMe(new Exception(t)); + if(onFailed != null) onFailed.run(new Exception(t)); + } + }); + } + + } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumerService.java index 051b2c12..b4ba1d63 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumerService.java @@ -1,9 +1,14 @@ package it.integry.integrywmsnative.core.rest.consumers; +import java.util.List; + +import it.integry.integrywmsnative.core.model.StbGestSetup; import it.integry.integrywmsnative.core.rest.model.GestSetupDTO; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import retrofit2.Call; +import retrofit2.http.Body; import retrofit2.http.GET; +import retrofit2.http.POST; import retrofit2.http.Query; public interface GestSetupRESTConsumerService { @@ -21,4 +26,8 @@ public interface GestSetupRESTConsumerService { @Query("keySection") String keySection, @Query("codMdep") String codMdep); + @POST("gestSetupList") + Call>> getGestSetupValues( + @Body List stbGestSetupList); + } 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 ec14f43a..fa8e835c 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 @@ -1,13 +1,17 @@ package it.integry.integrywmsnative.core.settings; import android.content.Context; +import android.util.Log; +import com.annimon.stream.Stream; import com.google.firebase.perf.metrics.Trace; import java.net.SocketTimeoutException; +import java.util.ArrayList; import java.util.List; import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.model.StbGestSetup; import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback; import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer; @@ -171,70 +175,76 @@ public class SettingsManager { private static void loadGestSetupValues(Runnable onComplete, RunnableArgs onFailed) { - GestSetupRESTConsumer.getValue("PICKING", "SETUP", "DEFAULT_CAUSALE_RETTIFICA_GIACENZE", valueDefaultCausaleRettificaGiacenze -> { - dbSettingsModelIstance.setDefaultCausaleRettificaGiacenze(valueDefaultCausaleRettificaGiacenze.value); - GestSetupRESTConsumer.getBooleanValue("PICKING", "SETUP", "ENABLE_CHECK_PARTITA_MAG_PICKING_V", valueEnableCheckPartitaMag -> { - dbSettingsModelIstance.setEnableCheckPartitaMagCheckPickingV(valueEnableCheckPartitaMag); + List stbGestSetupList = new ArrayList<>(); - GestSetupRESTConsumer.getBooleanValue("PICKING", "SETUP", "FLAG_MULTI_CLIENTE_ORD_VENDITA", valueFlagMultiClienteOrdVendita -> { - dbSettingsModelIstance.setFlagMultiClienteOrdV(valueFlagMultiClienteOrdVendita); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SETUP") + .setKeySection("DEFAULT_CAUSALE_RETTIFICA_GIACENZE")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SETUP") + .setKeySection("ENABLE_CHECK_PARTITA_MAG_PICKING_V")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SETUP") + .setKeySection("FLAG_MULTI_CLIENTE_ORD_VENDITA")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SETUP") + .setKeySection("COD_ANAG_DEFAULT")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SETUP") + .setKeySection("DEFAULT_CRITERIO_DISTRIBUZIONE")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("PICKING_LIBERO") + .setKeySection("FLAG_ASK_CLIENTE")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SPEDIZIONE") + .setKeySection("FLAG_CAN_ADD_EXTRA_ITEMS")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("ACCETTAZIONE") + .setKeySection("FLAG_AUTO_OPEN_NEW_UL")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SPEDIZIONE") + .setKeySection("FLAG_CAN_ADD_EXTRA_QUANTITY")); - GestSetupRESTConsumer.getValue("PICKING", "SETUP", "COD_ANAG_DEFAULT", valueCodAnagDefault -> { - dbSettingsModelIstance.setDefaultCodAnag(valueCodAnagDefault.value); - GestSetupRESTConsumer.getValue("PICKING", "SETUP", "DEFAULT_CRITERIO_DISTRIBUZIONE", valueDefaultCriterioDistribuzione -> { - dbSettingsModelIstance.setDefaultCriterioDistribuzione(valueDefaultCriterioDistribuzione.value); + GestSetupRESTConsumer.getValues(stbGestSetupList, list -> { + dbSettingsModelIstance.setDefaultCausaleRettificaGiacenze(getValueFromList(list, "DEFAULT_CAUSALE_RETTIFICA_GIACENZE", String.class)); + dbSettingsModelIstance.setEnableCheckPartitaMagCheckPickingV(getValueFromList(list, "ENABLE_CHECK_PARTITA_MAG_PICKING_V", Boolean.class)); + dbSettingsModelIstance.setFlagMultiClienteOrdV(getValueFromList(list, "FLAG_MULTI_CLIENTE_ORD_VENDITA", Boolean.class)); + dbSettingsModelIstance.setDefaultCodAnag(getValueFromList(list, "COD_ANAG_DEFAULT", String.class)); + dbSettingsModelIstance.setDefaultCriterioDistribuzione(getValueFromList(list, "DEFAULT_CRITERIO_DISTRIBUZIONE", String.class)); + dbSettingsModelIstance.setFlagAskClienteInPickingLibero(getValueFromList(list, "FLAG_ASK_CLIENTE", Boolean.class)); + dbSettingsModelIstance.setFlagCanAddExtraItemSpedizione(getValueFromList(list, "FLAG_CAN_ADD_EXTRA_ITEMS", Boolean.class)); + dbSettingsModelIstance.setFlagCanAutoOpenNewULAccettazione(getValueFromList(list, "FLAG_AUTO_OPEN_NEW_UL", Boolean.class)); + dbSettingsModelIstance.setFlagCanAddExtraQuantitySpedizione(getValueFromList(list, "FLAG_CAN_ADD_EXTRA_QUANTITY", Boolean.class)); - GestSetupRESTConsumer.getBooleanValue("PICKING", "PICKING_LIBERO", "FLAG_ASK_CLIENTE", valueAskClientePickingLibero -> { - dbSettingsModelIstance.setFlagAskClienteInPickingLibero(valueAskClientePickingLibero); + if(onComplete != null) onComplete.run(); + }, onFailed); - GestSetupRESTConsumer.getBooleanValue("PICKING", "SPEDIZIONE", "FLAG_CAN_ADD_EXTRA_ITEMS", valueCanAddExtraItemSpedizione -> { - dbSettingsModelIstance.setFlagCanAddExtraItemSpedizione(valueCanAddExtraItemSpedizione); + } - GestSetupRESTConsumer.getBooleanValue("PICKING", "ACCETTAZIONE", "FLAG_AUTO_OPEN_NEW_UL", valueCanAutoOpenNewUL -> { - dbSettingsModelIstance.setFlagCanAutoOpenNewULAccettazione(valueCanAutoOpenNewUL); - GestSetupRESTConsumer.getBooleanValue("PICKING", "SPEDIZIONE", "FLAG_CAN_ADD_EXTRA_QUANTITY", valueCanAddExtraQuantitySpedizione -> { - dbSettingsModelIstance.setFlagCanAddExtraQuantitySpedizione(valueCanAddExtraQuantitySpedizione); + public static T getValueFromList(List stbGestSetupList, String keySectionName, Class clazz) { - if(onComplete != null) onComplete.run(); + StbGestSetup value = Stream.of(stbGestSetupList) + .filter(x -> x.getKeySection().equalsIgnoreCase(keySectionName)) + .findFirst().get(); - }, ex -> { - if(onFailed != null) onFailed.run(ex); - }); + if(clazz == String.class) { + return clazz.cast(value.getValue()); + } else if(clazz == Boolean.class) { + return clazz.cast("S".equalsIgnoreCase(value.getValue())); + } else return null; - }, ex -> { - if(onFailed != null) onFailed.run(ex); - }); - - }, ex -> { - if(onFailed != null) onFailed.run(ex); - }); - - }, ex -> { - if(onFailed != null) onFailed.run(ex); - }); - - }, ex -> { - if(onFailed != null) onFailed.run(ex); - }); - - }, ex -> { - if(onFailed != null) onFailed.run(ex); - }); - - }, ex -> { - if(onFailed != null) onFailed.run(ex); - }); - - }, ex -> { - if(onFailed != null) onFailed.run(ex); - }); - - }, ex -> { - if(onFailed != null) onFailed.run(ex); - }); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityNumber.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityNumber.java index 041f18c0..a36929e9 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityNumber.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityNumber.java @@ -85,4 +85,10 @@ public class UtilityNumber { return floatValue; } + public static float truncateToDecimal(float v, int i) { + int delta = 10*i; + + return ((int)v*delta)/delta; + + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java index dc0321ab..5f346755 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/main/MainFragment.java @@ -214,16 +214,11 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab private void initGestMenu() { ICustomConfiguration customConfiguration = ClassRouter.getIstance(ClassRouter.PATH.CUSTOM_CONFIGURATION); - BaseMenuConfiguration menuConfiguration = customConfiguration.getConfig(BaseCustomConfiguration.Keys.MENU_CONFIGURATION); - List menuGroups = menuConfiguration.getGroups(); - - for(MenuConfiguration.MenuGroup menuGroup : menuGroups) { - FragmentMainMenuGroupLayoutBinding groupBinding = DataBindingUtil.inflate(mLayoutInflater, R.layout.fragment_main_menu_group_layout, null, false); String title = this.getResources().getString(menuGroup.getGroupText()); @@ -241,11 +236,9 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab mBindings.menuContainer.addView(groupBinding.getRoot()); } - - } private void onMenuClick(MenuConfiguration.MenuItem menuItem) { - ((MainActivity) getActivity()).setItem(menuItem.getID()); + ((MainActivity) getActivity()).setMenuItem(menuItem.getID()); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiActivity.java index c5e464c9..ff6f589f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiActivity.java @@ -344,7 +344,13 @@ public class PickingResiActivity extends AppCompatActivity implements IOnColloC .setNumCnf(quantityDTO.numCnf.getBigDecimal()) .setDescrizione(item.getDescrizioneEstesa()) .setDatetimeRow(UtilityDate.getDateInstance()) - .setNote(item.getStringKeyIdentifier()); + + .setCodAnagDoc(item.getCodAnag()) + .setCodDtipDoc(item.getCodDtip()) + .setSerDoc(item.getSerDoc()) + .setNumDoc(item.getNumDoc()) + .setDataDoc(item.getDataDocS()) + .setIdRigaDoc(item.getIdRiga()); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity/DialogInputQuantity.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity/DialogInputQuantity.java index dfe096ca..87406539 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity/DialogInputQuantity.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity/DialogInputQuantity.java @@ -346,7 +346,7 @@ public class DialogInputQuantity { } if(quantityDTO.numCnf.get(false) == null) { - float numCnf = (float) Math.ceil(quantityDTO.qtaTot.get() / quantityDTO.qtaCnf.get()); + float numCnf = (float) Math.ceil(UtilityNumber.truncateToDecimal(quantityDTO.qtaTot.get() / quantityDTO.qtaCnf.get(),3)); if(numCnf < 1) numCnf = 1; quantityDTO.numCnf.set(numCnf); } diff --git a/app/src/main/res/drawable/ic_latest_delivery_customer.xml b/app/src/main/res/drawable/ic_latest_delivery_customer.xml new file mode 100644 index 00000000..cc293c1a --- /dev/null +++ b/app/src/main/res/drawable/ic_latest_delivery_customer.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index b23977c8..9b2b5087 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -23,8 +23,7 @@ android:layout_gravity="start" android:fitsSystemWindows="true" android:background="@android:color/white" - app:headerLayout="@layout/nav_header_main" - app:menu="@menu/activity_main_drawer" /> + app:headerLayout="@layout/nav_header_main" /> diff --git a/app/src/main/res/menu/activity_main_drawer.xml b/app/src/main/res/menu/activity_main_drawer.xml index 6073c0c1..b3a72221 100644 --- a/app/src/main/res/menu/activity_main_drawer.xml +++ b/app/src/main/res/menu/activity_main_drawer.xml @@ -2,63 +2,63 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + diff --git a/app/src/main/res/raw/error_mail.html b/app/src/main/res/raw/error_mail.html index 75b03c3c..c11e6997 100644 --- a/app/src/main/res/raw/error_mail.html +++ b/app/src/main/res/raw/error_mail.html @@ -267,7 +267,7 @@ color: #7c7d81; font-size: small; font-weight: bold; -">Questa email è solo una notifica riguardo un errore che si è verificatosi in un progetto +">Questa email è solo una notifica riguardo un errore che si è verificato in un progetto diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index d7bee95a..7cd6a3a7 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -254,4 +254,7 @@ Consegnato il %s Il lotto %s non รจ attivo. Continuare? + Altro + Home + Logout \ No newline at end of file diff --git a/app/src/main/res/values/config.xml b/app/src/main/res/values/config.xml index 0f805cfd..34f79424 100644 --- a/app/src/main/res/values/config.xml +++ b/app/src/main/res/values/config.xml @@ -3,4 +3,26 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0b880457..1faca8c2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -260,5 +260,8 @@ Frudis customizations Batch lot %s is inactive. Continue? + Other + Home + Logout diff --git a/dynamic_frudis/build.gradle b/dynamic_frudis/build.gradle index 8d14a8b1..06cb2f7c 100644 --- a/dynamic_frudis/build.gradle +++ b/dynamic_frudis/build.gradle @@ -23,4 +23,6 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation project(':app') + + implementation 'androidx.appcompat:appcompat:1.1.0' } diff --git a/dynamic_frudis/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationFRUDIS.java b/dynamic_frudis/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationFRUDIS.java index ec3ec92a..318aa237 100644 --- a/dynamic_frudis/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationFRUDIS.java +++ b/dynamic_frudis/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationFRUDIS.java @@ -1,6 +1,13 @@ package it.integry.wms.dynamic_customization.extensions; import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration; +import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment; +import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment; +import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.ProdOrdineLavorazioneElencoFragment; +import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeFragment; +import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment; +import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteFragment; +import it.integry.integrywmsnative.gest.vendita.MainVenditaFragment; public class MenuConfigurationFRUDIS extends BaseMenuConfiguration { @@ -11,46 +18,62 @@ public class MenuConfigurationFRUDIS extends BaseMenuConfiguration { .addGroup( new MenuGroup() .setGroupText(it.integry.integrywmsnative.R.string.checkout) + .setGroupId(it.integry.integrywmsnative.R.id.nav_group_spedizione) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_spedizione) .setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione)) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload) + .setFragmentClass(MainVenditaFragment.newInstance())) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_free_picking) .setTitleText(it.integry.integrywmsnative.R.string.free_picking) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_picking_libero)) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_picking_libero) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_barcode_scanner) + .setFragmentClass(PickingLiberoFragment.newInstance())) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_resi_cliente) .setTitleText(it.integry.integrywmsnative.R.string.fragment_ultime_consegne_cliente_title) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_latest_delivery)) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_latest_delivery_customer) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_latest_delivery) + .setFragmentClass(UltimeConsegneClienteFragment.newInstance())) ) .addGroup(new MenuGroup() - .setGroupText(it.integry.integrywmsnative.R.string.manufacture) + .setGroupText(it.integry.integrywmsnative.R.string.manufacture) + .setGroupId(it.integry.integrywmsnative.R.id.nav_group_produzione) - .addItem(new MenuItem() - .setID(it.integry.integrywmsnative.R.id.nav_prod_ordine_produzione) - .setTitleText(it.integry.integrywmsnative.R.string.prod_ordine_produzione_title_fragment) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_accettazione)) + .addItem(new MenuItem() + .setID(it.integry.integrywmsnative.R.id.nav_prod_ordine_produzione) + .setTitleText(it.integry.integrywmsnative.R.string.prod_ordine_produzione_title_fragment) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_accettazione) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external) + .setFragmentClass(ProdOrdineProduzioneElencoFragment.newInstance())) - .addItem(new MenuItem() - .setID(it.integry.integrywmsnative.R.id.nav_prod_ordine_lavorazione) - .setTitleText(it.integry.integrywmsnative.R.string.prod_ordine_lavorazione_title_fragment) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione)) + .addItem(new MenuItem() + .setID(it.integry.integrywmsnative.R.id.nav_prod_ordine_lavorazione) + .setTitleText(it.integry.integrywmsnative.R.string.prod_ordine_lavorazione_title_fragment) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external) + .setFragmentClass(ProdOrdineLavorazioneElencoFragment.newInstance())) - .addItem(new MenuItem() - .setID(it.integry.integrywmsnative.R.id.nav_prod_versamento_materiale) - .setTitleText(it.integry.integrywmsnative.R.string.prod_versamento_materiale_title_fragment) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_versamento_materiale)) + .addItem(new MenuItem() + .setID(it.integry.integrywmsnative.R.id.nav_prod_versamento_materiale) + .setTitleText(it.integry.integrywmsnative.R.string.prod_versamento_materiale_title_fragment) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_versamento_materiale) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external) + .setFragmentClass(ProdVersamentoMaterialeFragment.newInstance())) - .addItem(new MenuItem() - .setID(it.integry.integrywmsnative.R.id.nav_prod_recupero_materiale) - .setTitleText(it.integry.integrywmsnative.R.string.prod_recupero_materiale_title_fragment) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_recupero_materiale)) + .addItem(new MenuItem() + .setID(it.integry.integrywmsnative.R.id.nav_prod_recupero_materiale) + .setTitleText(it.integry.integrywmsnative.R.string.prod_recupero_materiale_title_fragment) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_recupero_materiale) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external) + .setFragmentClass(ProdRecuperoMaterialeFragment.newInstance())) ); diff --git a/dynamic_ime/build.gradle b/dynamic_ime/build.gradle index 403ded64..3567aca1 100644 --- a/dynamic_ime/build.gradle +++ b/dynamic_ime/build.gradle @@ -22,4 +22,6 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation project(':app') + + implementation 'androidx.appcompat:appcompat:1.1.0' } diff --git a/dynamic_ime/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationIME.java b/dynamic_ime/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationIME.java index 08eb2e70..9410777b 100644 --- a/dynamic_ime/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationIME.java +++ b/dynamic_ime/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationIME.java @@ -1,6 +1,15 @@ package it.integry.wms.dynamic_customization.extensions; import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration; +import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneFragment; +import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment; +import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment; +import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.ProdOrdineLavorazioneElencoFragment; +import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment; +import it.integry.integrywmsnative.gest.ultime_arrivi_fornitore.UltimiArriviFornitoreFragment; +import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteFragment; +import it.integry.integrywmsnative.gest.vendita.MainVenditaFragment; +import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceFragment; public class MenuConfigurationIME extends BaseMenuConfiguration { @@ -12,61 +21,83 @@ public class MenuConfigurationIME extends BaseMenuConfiguration { .addGroup( new MenuGroup() .setGroupText(it.integry.integrywmsnative.R.string.purchase) + .setGroupId(it.integry.integrywmsnative.R.id.nav_group_acquisto) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_accettazione) .setTitleText(it.integry.integrywmsnative.R.string.accettazione_title_fragment) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_accettazione)) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_accettazione) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_download) + .setFragmentClass(MainAccettazioneFragment.newInstance())) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_resi_fornitore) .setTitleText(it.integry.integrywmsnative.R.string.fragment_ultime_arrivi_fornitore_title) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_latest_delivery)) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_latest_delivery) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_latest_delivery) + .setFragmentClass(UltimiArriviFornitoreFragment.newInstance())) ).addGroup( new MenuGroup() .setGroupText(it.integry.integrywmsnative.R.string.checkout) + .setGroupId(it.integry.integrywmsnative.R.id.nav_group_spedizione) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_spedizione) .setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione)) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload) + .setFragmentClass(MainVenditaFragment.newInstance())) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_free_picking) .setTitleText(it.integry.integrywmsnative.R.string.free_picking) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_picking_libero)) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_picking_libero) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_barcode_scanner) + .setFragmentClass(PickingLiberoFragment.newInstance())) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_resi_cliente) .setTitleText(it.integry.integrywmsnative.R.string.fragment_ultime_consegne_cliente_title) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_latest_delivery)) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_latest_delivery_customer) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_latest_delivery) + .setFragmentClass(UltimeConsegneClienteFragment.newInstance())) ).addGroup( new MenuGroup() .setGroupText(it.integry.integrywmsnative.R.string.manufacture) + .setGroupId(it.integry.integrywmsnative.R.id.nav_group_produzione) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_prod_ordine_produzione) .setTitleText(it.integry.integrywmsnative.R.string.prod_ordine_produzione_title_fragment) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_accettazione)) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_accettazione) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external) + .setFragmentClass(ProdOrdineProduzioneElencoFragment.newInstance())) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_prod_ordine_lavorazione) .setTitleText(it.integry.integrywmsnative.R.string.prod_ordine_lavorazione_title_fragment) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione)) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external) + .setFragmentClass(ProdOrdineLavorazioneElencoFragment.newInstance())) ).addGroup( new MenuGroup() .setGroupText(it.integry.integrywmsnative.R.string.internal_handling) + .setGroupId(it.integry.integrywmsnative.R.id.nav_group_movimentazione_interna) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_versamento_merce) .setTitleText(it.integry.integrywmsnative.R.string.versamento_merce_fragment_title) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_versamento_merce)) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_versamento_merce) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_load_shelf) + .setFragmentClass(VersamentoMerceFragment.newInstance())) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_rettifica_giacenze) .setTitleText(it.integry.integrywmsnative.R.string.rettifica_giacenze_fragment_title) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_rettifica_giacenze)) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_rettifica_giacenze) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_empty_box) + .setFragmentClass(RettificaGiacenzeFragment.newInstance())) ); diff --git a/dynamic_vgalimenti/build.gradle b/dynamic_vgalimenti/build.gradle index 412793e8..123e2743 100644 --- a/dynamic_vgalimenti/build.gradle +++ b/dynamic_vgalimenti/build.gradle @@ -19,4 +19,6 @@ android { dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation project(':app') + + implementation 'androidx.appcompat:appcompat:1.1.0' } diff --git a/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationVG.java b/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationVG.java index 5b2d5213..954d69fb 100644 --- a/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationVG.java +++ b/dynamic_vgalimenti/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationVG.java @@ -1,6 +1,12 @@ package it.integry.wms.dynamic_customization.extensions; import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration; +import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneFragment; +import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment; +import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment; +import it.integry.integrywmsnative.gest.ultime_arrivi_fornitore.UltimiArriviFornitoreFragment; +import it.integry.integrywmsnative.gest.vendita.MainVenditaFragment; +import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceFragment; public class MenuConfigurationVG extends BaseMenuConfiguration { @@ -9,32 +15,54 @@ public class MenuConfigurationVG extends BaseMenuConfiguration { this .addGroup( new MenuGroup() - .setGroupText(it.integry.integrywmsnative.R.string.general) + .setGroupText(it.integry.integrywmsnative.R.string.purchase) + .setGroupId(it.integry.integrywmsnative.R.id.nav_group_acquisto) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_accettazione) .setTitleText(it.integry.integrywmsnative.R.string.accettazione_title_fragment) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_accettazione)) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_accettazione) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_download) + .setFragmentClass(MainAccettazioneFragment.newInstance())) + ).addGroup( + new MenuGroup() + .setGroupText(it.integry.integrywmsnative.R.string.checkout) + .setGroupId(it.integry.integrywmsnative.R.id.nav_group_spedizione) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_spedizione) .setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione)) - - .addItem(new MenuItem() - .setID(it.integry.integrywmsnative.R.id.nav_rettifica_giacenze) - .setTitleText(it.integry.integrywmsnative.R.string.rettifica_giacenze_fragment_title) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_rettifica_giacenze)) - - .addItem(new MenuItem() - .setID(it.integry.integrywmsnative.R.id.nav_versamento_merce) - .setTitleText(it.integry.integrywmsnative.R.string.versamento_merce_fragment_title) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_versamento_merce)) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload) + .setFragmentClass(MainVenditaFragment.newInstance())) .addItem(new MenuItem() .setID(it.integry.integrywmsnative.R.id.nav_free_picking) .setTitleText(it.integry.integrywmsnative.R.string.free_picking) - .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_picking_libero)) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_picking_libero) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_barcode_scanner) + .setFragmentClass(PickingLiberoFragment.newInstance())) + ) + .addGroup( + new MenuGroup() + .setGroupText(it.integry.integrywmsnative.R.string.internal_handling) + .setGroupId(it.integry.integrywmsnative.R.id.nav_group_movimentazione_interna) + + .addItem(new MenuItem() + .setID(it.integry.integrywmsnative.R.id.nav_versamento_merce) + .setTitleText(it.integry.integrywmsnative.R.string.versamento_merce_fragment_title) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_versamento_merce) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_load_shelf) + .setFragmentClass(VersamentoMerceFragment.newInstance())) + + .addItem(new MenuItem() + .setID(it.integry.integrywmsnative.R.id.nav_rettifica_giacenze) + .setTitleText(it.integry.integrywmsnative.R.string.rettifica_giacenze_fragment_title) + .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_rettifica_giacenze) + .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_empty_box) + .setFragmentClass(RettificaGiacenzeFragment.newInstance())) + + ); } diff --git a/ext_sources/ICONS/icons8-deliver-food-reverse.svg b/ext_sources/ICONS/icons8-deliver-food-reverse.svg new file mode 100644 index 00000000..45a63889 --- /dev/null +++ b/ext_sources/ICONS/icons8-deliver-food-reverse.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + +