diff --git a/.idea/runConfigurations/app_gramm.xml b/.idea/runConfigurations/app_gramm.xml
new file mode 100644
index 00000000..b6163a2c
--- /dev/null
+++ b/.idea/runConfigurations/app_gramm.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/app_ime.xml b/.idea/runConfigurations/app_ime.xml
index 54458b92..2c5d0c67 100644
--- a/.idea/runConfigurations/app_ime.xml
+++ b/.idea/runConfigurations/app_ime.xml
@@ -6,7 +6,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 90e94fc6..116ad994 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -75,7 +75,7 @@ android {
abortOnError false
}
- dynamicFeatures = [":dynamic__base", ":dynamic_vgalimenti", ":dynamic_ime", ":dynamic_frudis", ":dynamic_saporiveri_pv", ":dynamic_saporiveri"]
+ dynamicFeatures = [":dynamic__base", ":dynamic_vgalimenti", ":dynamic_ime", ":dynamic_frudis", ":dynamic_saporiveri_pv", ":dynamic_saporiveri", ':dynamic_gramm']
}
@@ -87,14 +87,14 @@ dependencies {
})
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.orhanobut:logger:2.2.0'
- implementation 'com.google.firebase:firebase-core:17.4.3'
+ implementation 'com.google.firebase:firebase-core:17.5.0'
implementation 'com.google.firebase:firebase-crash:16.2.1'
- implementation 'com.google.firebase:firebase-perf:19.0.7'
- implementation 'com.google.firebase:firebase-crashlytics:17.0.1'
- implementation 'androidx.appcompat:appcompat:1.1.0'
+ implementation 'com.google.firebase:firebase-perf:19.0.8'
+ implementation 'com.google.firebase:firebase-crashlytics:17.2.1'
+ implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
- implementation 'com.google.android.material:material:1.3.0-alpha01'
- implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta6'
+ implementation 'com.google.android.material:material:1.3.0-alpha02'
+ implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.preference:preference:1.1.1'
diff --git a/app/src/main/java/it/integry/integrywmsnative/MainActivity.java b/app/src/main/java/it/integry/integrywmsnative/MainActivity.java
index 9e72f75f..f4c51d0c 100644
--- a/app/src/main/java/it/integry/integrywmsnative/MainActivity.java
+++ b/app/src/main/java/it/integry/integrywmsnative/MainActivity.java
@@ -161,7 +161,7 @@ public class MainActivity extends BaseActivity
BaseMenuConfiguration.MenuItem menuItem = getMenuItem(id);
if(menuItem != null) {
- fragment = menuItem.getFragmentClass();
+ fragment = menuItem.getFragmentFactory().run();
this.adaptViewToFragment(fragment);
} else {
switch (id) {
@@ -261,9 +261,6 @@ public class MainActivity extends BaseActivity
for(int i = 0; i < count; i++) {
getSupportFragmentManager().popBackStack();
}
-
- openMain();
-
}
private void adaptViewToFragment(Fragment fragment){
diff --git a/app/src/main/java/it/integry/integrywmsnative/MainApplication.java b/app/src/main/java/it/integry/integrywmsnative/MainApplication.java
index 0551bc52..4bb36e80 100644
--- a/app/src/main/java/it/integry/integrywmsnative/MainApplication.java
+++ b/app/src/main/java/it/integry/integrywmsnative/MainApplication.java
@@ -53,4 +53,8 @@ public class MainApplication extends Application {
super.onLowMemory();
}
+ public static void exit() {
+ System.exit(0);
+ }
+
}
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 12b4bda8..bf917c1f 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
@@ -7,7 +7,6 @@ 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 {
@@ -20,7 +19,7 @@ public class ClassRouter {
private static Context context;
- private static List> mRouteClasses = new ArrayList<>();
+ private static List> mRouteClasses = new ArrayList<>();
public static void init(Context context) {
ClassRouter.context = context;
@@ -50,7 +49,13 @@ public class ClassRouter {
//throw new MethodPathAlreadyDeclaredException(path);
}
- mRouteClasses.add(new Pair<>(path, clazz));
+ try {
+ mRouteClasses.add(new Pair<>(path, clazz.newInstance()));
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ } catch (InstantiationException e) {
+ e.printStackTrace();
+ }
}
public static void deregisterPath(PATH path) {
@@ -67,11 +72,11 @@ public class ClassRouter {
throw new MethodPathNotRegisteredException(path);
}
- Class clazz = mRouteClasses.get(getClassIndex(path)).second;
+ Object instance = mRouteClasses.get(getClassIndex(path)).second;
- return (T)clazz.newInstance();
+ return (T)instance;
- } catch (InstantiationException | MethodPathNotRegisteredException | IllegalAccessException ex) {
+ } catch (MethodPathNotRegisteredException ex) {
// UtilityExceptions.defaultException(null, 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 b10666ef..d082f900 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
@@ -8,6 +8,8 @@ import androidx.fragment.app.Fragment;
import java.util.ArrayList;
import java.util.List;
+import it.integry.integrywmsnative.core.expansion.RunnableWithReturn;
+
public class BaseMenuConfiguration {
@@ -65,7 +67,7 @@ public class BaseMenuConfiguration {
@StringRes private int mTitleText;
@DrawableRes private int mTitleIcon;
@DrawableRes private int mDrawerIcon;
- private Fragment fragmentClass;
+ private RunnableWithReturn fragmentFactory;
public int getID() {
return mID;
@@ -103,12 +105,12 @@ public class BaseMenuConfiguration {
return this;
}
- public Fragment getFragmentClass() {
- return fragmentClass;
+ public RunnableWithReturn getFragmentFactory() {
+ return fragmentFactory;
}
- public MenuItem setFragmentClass(Fragment fragmentClass) {
- this.fragmentClass = fragmentClass;
+ public MenuItem setFragmentFactory(RunnableWithReturn fragmentFactory) {
+ this.fragmentFactory = fragmentFactory;
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 c0a37a6b..985d9fb2 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,7 @@
package it.integry.integrywmsnative.core.class_router.configs;
import it.integry.integrywmsnative.R;
+import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
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;
@@ -16,112 +17,114 @@ import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceFragment
public class MenuConfiguration extends BaseMenuConfiguration {
-
public MenuConfiguration() {
this
- .addGroup(
- new MenuGroup()
- .setGroupText(R.string.purchase)
- .setGroupId(R.id.nav_group_acquisto)
+ .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)
- .setDrawerIcon(R.drawable.ic_black_download)
- .setFragmentClass(MainAccettazioneFragment.newInstance()))
+ .addItem(new MenuItem()
+ .setID(R.id.nav_accettazione)
+ .setTitleText(R.string.accettazione_title_fragment)
+ .setTitleIcon(R.drawable.ic_dashboard_accettazione)
+ .setDrawerIcon(R.drawable.ic_black_download)
+ .setFragmentFactory(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)
- .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_resi_fornitore)
+ .setTitleText(R.string.fragment_ultime_arrivi_fornitore_title)
+ .setTitleIcon(R.drawable.ic_latest_delivery)
+ .setDrawerIcon(R.drawable.ic_black_latest_delivery)
+ .setFragmentFactory(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)
- .setDrawerIcon(R.drawable.ic_black_upload)
- .setFragmentClass(MainVenditaFragment.newInstance()))
+ .addItem(new MenuItem()
+ .setID(R.id.nav_spedizione)
+ .setTitleText(R.string.vendita_title_fragment)
+ .setTitleIcon(R.drawable.ic_dashboard_spedizione)
+ .setDrawerIcon(R.drawable.ic_black_upload)
+ .setFragmentFactory(MainVenditaFragment::newInstance))
- .addItem(new MenuItem()
- .setID(R.id.nav_free_picking)
- .setTitleText(R.string.free_picking)
- .setTitleIcon(R.drawable.ic_dashboard_picking_libero)
- .setDrawerIcon(R.drawable.ic_black_barcode_scanner)
- .setFragmentClass(PickingLiberoFragment.newInstance()))
+ .addItem(new MenuItem()
+ .setID(R.id.nav_free_picking)
+ .setTitleText(R.string.free_picking)
+ .setTitleIcon(R.drawable.ic_dashboard_picking_libero)
+ .setDrawerIcon(R.drawable.ic_black_barcode_scanner)
+ .setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.VENDITA)))
- .addItem(new MenuItem()
- .setID(R.id.nav_resi_cliente)
- .setTitleText(R.string.fragment_ultime_consegne_cliente_title)
- .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_resi_cliente)
+ .setTitleText(R.string.fragment_ultime_consegne_cliente_title)
+ .setTitleIcon(R.drawable.ic_latest_delivery_customer)
+ .setDrawerIcon(R.drawable.ic_black_latest_delivery)
+ .setFragmentFactory(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)
- .setDrawerIcon(R.drawable.ic_black_external)
- .setFragmentClass(ProdOrdineProduzioneElencoFragment.newInstance()))
+ .addItem(new MenuItem()
+ .setID(R.id.nav_prod_ordine_produzione)
+ .setTitleText(R.string.prod_ordine_produzione_title_fragment)
+ .setTitleIcon(R.drawable.ic_dashboard_prod_accettazione_produzione)
+ .setDrawerIcon(R.drawable.ic_black_external)
+ .setFragmentFactory(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)
- .setDrawerIcon(R.drawable.ic_black_external)
- .setFragmentClass(ProdOrdineLavorazioneElencoFragment.newInstance()))
+ .addItem(new MenuItem()
+ .setID(R.id.nav_prod_ordine_lavorazione)
+ .setTitleText(R.string.prod_ordine_lavorazione_title_fragment)
+ .setTitleIcon(R.drawable.ic_dashboard_prod_picking_lavorazione)
+ .setDrawerIcon(R.drawable.ic_black_external)
+ .setFragmentFactory(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)
- .setDrawerIcon(R.drawable.ic_black_external)
- .setFragmentClass(ProdVersamentoMaterialeFragment.newInstance()))
+ .addItem(new MenuItem()
+ .setID(R.id.nav_free_lav_picking)
+ .setTitleText(it.integry.integrywmsnative.R.string.free_lav_picking)
+ .setTitleIcon(R.drawable.ic_dashboard_prod_picking_libero)
+ .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_barcode_scanner)
+ .setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.LAVORAZIONE)))
- .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)
- .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_prod_versamento_materiale)
+ .setTitleText(R.string.prod_versamento_materiale_title_fragment)
+ .setTitleIcon(R.drawable.ic_dashboard_prod_versamento_materiale)
+ .setDrawerIcon(R.drawable.ic_black_external)
+ .setFragmentFactory(ProdVersamentoMaterialeFragment::newInstance))
- .addItem(new MenuItem()
- .setID(R.id.nav_versamento_merce)
- .setTitleText(R.string.versamento_merce_fragment_title)
- .setTitleIcon(R.drawable.ic_dashboard_versamento_merce)
- .setDrawerIcon(R.drawable.ic_black_load_shelf)
- .setFragmentClass(VersamentoMerceFragment.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)
+ .setDrawerIcon(R.drawable.ic_black_external)
+ .setFragmentFactory(ProdRecuperoMaterialeFragment::newInstance))
+ )
+ .addGroup(
+ new MenuGroup()
+ .setGroupText(R.string.internal_handling)
+ .setGroupId(R.id.nav_group_movimentazione_interna)
- .addItem(new MenuItem()
- .setID(R.id.nav_rettifica_giacenze)
- .setTitleText(R.string.rettifica_giacenze_fragment_title)
- .setTitleIcon(R.drawable.ic_dashboard_rettifica_giacenze)
- .setDrawerIcon(R.drawable.ic_black_empty_box)
- .setFragmentClass(RettificaGiacenzeFragment.newInstance()))
+ .addItem(new MenuItem()
+ .setID(R.id.nav_versamento_merce)
+ .setTitleText(R.string.versamento_merce_fragment_title)
+ .setTitleIcon(R.drawable.ic_dashboard_versamento_merce)
+ .setDrawerIcon(R.drawable.ic_black_load_shelf)
+ .setFragmentFactory(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)
+ .setDrawerIcon(R.drawable.ic_black_empty_box)
+ .setFragmentFactory(RettificaGiacenzeFragment::newInstance))
- );
+ );
}
-
-
-
-
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/ExceptionsHandler.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/ExceptionsHandler.java
index f249c0f2..58b4b6de 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/exception/ExceptionsHandler.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/ExceptionsHandler.java
@@ -10,7 +10,7 @@ import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
-import it.integry.integrywmsnative.BuildConfig;
+import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.view.dialogs.exception.DialogException;
@@ -41,7 +41,7 @@ public class ExceptionsHandler implements Thread.UncaughtExceptionHandler {
UtilityLogger.errorMe(new Exception(ex));
} catch (Exception e) {
Log.e(TAG, "Exception Logger failed!", e);
- System.exit(0);
+ MainApplication.exit();
}
appendToFile(new Exception(ex));
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/expansion/RunnableWithReturn.java b/app/src/main/java/it/integry/integrywmsnative/core/expansion/RunnableWithReturn.java
new file mode 100644
index 00000000..cdd023b3
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/core/expansion/RunnableWithReturn.java
@@ -0,0 +1,7 @@
+package it.integry.integrywmsnative.core.expansion;
+
+public interface RunnableWithReturn {
+
+ R run();
+
+}
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 a4a86ec5..52dfd9b4 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
@@ -3,38 +3,36 @@ package it.integry.integrywmsnative.gest.main;
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.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import it.integry.integrywmsnative.MainActivity;
-import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.R;
-import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita;
-import it.integry.integrywmsnative.core.expansion.RunnableArgss;
-import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
-import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
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.class_router.interfaces.IOrdiniVendita;
import it.integry.integrywmsnative.core.data_recover.ColliDataRecover;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
+import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
+import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
+import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityResources;
@@ -99,10 +97,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
private void init() {
ServerStatusChecker.getInstance().addCallback(value -> {
if (value && mBindings.noConnectionTopLayout.isExpanded()) {
-
collapseNoConnectionLayout();
-
-
} else if (!value && !mBindings.noConnectionTopLayout.isExpanded()) {
expandNoConnectionLayout();
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java
index 0a837a04..a00205cb 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java
@@ -41,6 +41,7 @@ import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.VtbDest;
+import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityProgress;
@@ -84,13 +85,18 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
private Dialog mCurrentProgress;
+ private GestioneEnum mCurrentGestione;
+
public PickingLiberoFragment() {
// Required empty public constructor
}
- public static PickingLiberoFragment newInstance() {
+ public static PickingLiberoFragment newInstance(GestioneEnum gestioneEnum) {
PickingLiberoFragment fragment = new PickingLiberoFragment();
Bundle args = new Bundle();
+
+ args.putString("gestione", gestioneEnum.getText());
+
fragment.setArguments(args);
return fragment;
}
@@ -104,6 +110,8 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
+ mCurrentGestione = GestioneEnum.fromString(getArguments().getString("gestione"));
}
@@ -120,10 +128,6 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
mViewModel.setListener(this);
-// mViewModel.init(getActivity(), mBindings, mToolbarTitleText, () -> {
-// ((IPoppableActivity) getActivity()).pop();
-// });
-
mBindings.setLifecycleOwner(this);
mBindings.setView(this);
@@ -135,7 +139,7 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
this.initRecyclerView();
boolean flagAskCliente = SettingsManager.iDB().isFlagAskClienteInPickingLibero();
- mViewModel.init(flagAskCliente);
+ mViewModel.init(flagAskCliente, mCurrentGestione);
return mBindings.getRoot();
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java
index 6cc1baf2..b4fdc1d1 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java
@@ -51,6 +51,7 @@ public class PickingLiberoViewModel {
private boolean mFlagAskCliente;
+ private GestioneEnum mDefaultGestione;
private Listener mListener;
@@ -68,8 +69,9 @@ public class PickingLiberoViewModel {
}
- public void init(boolean flagAskCliente) {
- this.mFlagAskCliente = flagAskCliente;
+ public void init(boolean flagAskCliente, GestioneEnum defaultGestione) {
+ this.mFlagAskCliente = defaultGestione == GestioneEnum.VENDITA && flagAskCliente;
+ this.mDefaultGestione = defaultGestione;
}
@@ -190,7 +192,8 @@ public class PickingLiberoViewModel {
private void createNewLU_PostClienteAsk(Integer customNumCollo, String customSerCollo, VtbDest vtbDest, Runnable onComplete) {
MtbColt mtbColt = new MtbColt();
mtbColt.initDefaultFields();
- mtbColt.setGestione(GestioneEnum.VENDITA)
+ mtbColt.setGestione(mDefaultGestione)
+ .setPosizione(SettingsManager.i().userSession.depo.getCodMdep())
.setSegno(-1)
.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
@@ -246,8 +249,8 @@ public class PickingLiberoViewModel {
if (mtbAart.isFlagQtaCnfFissaBoolean()) {
qtaCnfDaPrelevare = mtbAart.getQtaCnf();
- if(manualPickDTO.isEanPeso()) {
- if(mtbAart.getUntMisRifPeso() == MtbAart.UntMisRifPesoEnum.M) {
+ if (manualPickDTO.isEanPeso()) {
+ if (mtbAart.getUntMisRifPeso() == MtbAart.UntMisRifPesoEnum.M) {
if (UtilityBigDecimal.equalsTo(mtbAart.getPesoKg(), BigDecimal.ZERO)) {
this.sendError(new InvalidPesoKGException());
} else {
@@ -262,9 +265,10 @@ public class PickingLiberoViewModel {
if (qtaColDaPrelevare != null && numCnfDaPrelevare == null) {
- if(!mtbAart.isFlagQtaCnfFissaBoolean()) {
+ if (!mtbAart.isFlagQtaCnfFissaBoolean()) {
numCnfDaPrelevare = UtilityBigDecimal.divideAndRoundToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf());
- if(UtilityBigDecimal.equalsTo(numCnfDaPrelevare, BigDecimal.ZERO)) numCnfDaPrelevare = BigDecimal.ONE;
+ if (UtilityBigDecimal.equalsTo(numCnfDaPrelevare, BigDecimal.ZERO))
+ numCnfDaPrelevare = BigDecimal.ONE;
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
} else {
numCnfDaPrelevare = UtilityBigDecimal.divideToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf());
@@ -551,7 +555,6 @@ public class PickingLiberoViewModel {
loadRifULFromMtbColr(mtbColrToUpdate, mtbColtRif -> {
-
BigDecimal totalQtaAvailable = null;
BigDecimal totalNumCnfAvailable = null;
BigDecimal qtaCnfAvailable = null;
@@ -694,7 +697,7 @@ public class PickingLiberoViewModel {
public void closeLU(Runnable onComplete) {
if (mCurrentMtbColt == null) {
- if(onComplete != null) onComplete.run();
+ if (onComplete != null) onComplete.run();
return;
}
@@ -707,7 +710,7 @@ public class PickingLiberoViewModel {
this.sendOnLoadingEnded();
this.mCurrentMtbColt = null;
- if(onComplete != null) onComplete.run();
+ if (onComplete != null) onComplete.run();
});
} else {
mColliMagazzinoRESTConsumer.updateDataFine(mCurrentMtbColt, () -> {
@@ -715,7 +718,7 @@ public class PickingLiberoViewModel {
this.sendOnLoadingEnded();
this.mCurrentMtbColt = null;
- if(onComplete != null) onComplete.run();
+ if (onComplete != null) onComplete.run();
}, this::sendError);
}
}, this::sendError);
diff --git a/app/src/main/res/drawable/ic_dashboard_prod_accettazione_produzione.xml b/app/src/main/res/drawable/ic_dashboard_prod_accettazione_produzione.xml
new file mode 100644
index 00000000..f181961e
--- /dev/null
+++ b/app/src/main/res/drawable/ic_dashboard_prod_accettazione_produzione.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_dashboard_prod_picking_lavorazione.xml b/app/src/main/res/drawable/ic_dashboard_prod_picking_lavorazione.xml
new file mode 100644
index 00000000..f1510444
--- /dev/null
+++ b/app/src/main/res/drawable/ic_dashboard_prod_picking_lavorazione.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_dashboard_prod_picking_libero.xml b/app/src/main/res/drawable/ic_dashboard_prod_picking_libero.xml
new file mode 100644
index 00000000..49ac4ead
--- /dev/null
+++ b/app/src/main/res/drawable/ic_dashboard_prod_picking_libero.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml
index 3902b296..df8fae60 100644
--- a/app/src/main/res/layout/fragment_main.xml
+++ b/app/src/main/res/layout/fragment_main.xml
@@ -186,6 +186,7 @@
+
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 9ca72032..c95f704a 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -227,6 +227,7 @@
Tutti i permessi sono stati declinati, riapri l\'applicazione per continuare.
Download aggiornamento
Picking libero
+ Picking libero
Per iniziare clicca sul + in basso a destra
Scansiona un articolo per iniziare
Picking libero
@@ -262,11 +263,11 @@
Generale
Acquisti
Vendita
- Lavorazione
+ Lav. terzi / Trasf. interni
Produzione
Movimentazione interna
- Accettazione da produzione
- Picking per lavorazione
+ Accettazione da ordine
+ Picking da ordine
Versamento materiale
Recupero materiale
diff --git a/app/src/main/res/values/config.xml b/app/src/main/res/values/config.xml
index afd797c8..f19a85f0 100644
--- a/app/src/main/res/values/config.xml
+++ b/app/src/main/res/values/config.xml
@@ -17,6 +17,7 @@
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 20f6fa3b..70aad5ac 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -227,6 +227,7 @@
All permissions are required, please reopen the app.
Downloading update
Free Picking
+ Free Picking
Please press + button to start with picking
Scan an item to start
Can\'t load orders of different type
@@ -267,7 +268,7 @@
General
Purchase
Check out
- Manufacture
+ Manufacture / Internal movement
Production
Internal handling
Production picking
@@ -323,4 +324,5 @@
Basket
Use
Back
+ Gramm Customization
diff --git a/build_all.bat b/build_all.bat
index fdc7d8b5..a53c4b76 100644
--- a/build_all.bat
+++ b/build_all.bat
@@ -1,6 +1,7 @@
call build_azienda.bat _base
-call build_azienda.bat vgalimenti
-call build_azienda.bat ime
call build_azienda.bat frudis
+call build_azienda.bat gramm
+call build_azienda.bat ime
call build_azienda.bat saporiveri_pv
-call build_azienda.bat saporiveri
\ No newline at end of file
+call build_azienda.bat saporiveri
+call build_azienda.bat vgalimenti
\ No newline at end of file
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 ea9f12ca..f1193fde 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,7 @@
package it.integry.wms.dynamic_customization.extensions;
import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration;
+import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
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;
@@ -34,7 +35,7 @@ public class MenuConfigurationFRUDIS extends BaseMenuConfiguration {
.setTitleText(it.integry.integrywmsnative.R.string.free_picking)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_picking_libero)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_barcode_scanner)
- .setFragmentClass(PickingLiberoFragment.newInstance()))
+ .setFragmentClass(PickingLiberoFragment.newInstance(GestioneEnum.VENDITA)))
.addItem(new MenuItem()
.setID(it.integry.integrywmsnative.R.id.nav_resi_cliente)
@@ -52,14 +53,14 @@ public class MenuConfigurationFRUDIS extends BaseMenuConfiguration {
.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_prod_accettazione_produzione)
.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_prod_picking_lavorazione)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external)
.setFragmentClass(ProdOrdineLavorazioneElencoFragment.newInstance()))
diff --git a/dynamic_gramm/.gitignore b/dynamic_gramm/.gitignore
new file mode 100644
index 00000000..42afabfd
--- /dev/null
+++ b/dynamic_gramm/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/dynamic_gramm/build.gradle b/dynamic_gramm/build.gradle
new file mode 100644
index 00000000..bb91f76c
--- /dev/null
+++ b/dynamic_gramm/build.gradle
@@ -0,0 +1,28 @@
+apply plugin: "com.android.dynamic-feature"
+
+android {
+ compileSdkVersion 28
+
+ defaultConfig {
+ minSdkVersion 21
+ targetSdkVersion 28
+ versionCode 1
+ versionName "1.0"
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ }
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+
+}
+
+dependencies {
+ implementation fileTree(dir: "libs", include: ["*.jar"])
+ implementation project(":app")
+ testImplementation 'junit:junit:4.12'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.1'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
+ androidTestImplementation 'androidx.annotation:annotation:1.1.0'
+}
\ No newline at end of file
diff --git a/dynamic_gramm/src/androidTest/java/it/integry/wms/dynamic_customization/ExampleInstrumentedTest.java b/dynamic_gramm/src/androidTest/java/it/integry/wms/dynamic_customization/ExampleInstrumentedTest.java
new file mode 100644
index 00000000..317862c8
--- /dev/null
+++ b/dynamic_gramm/src/androidTest/java/it/integry/wms/dynamic_customization/ExampleInstrumentedTest.java
@@ -0,0 +1,18 @@
+package it.integry.wms.dynamic_customization;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * @see Testing documentation
+ */
+@RunWith(AndroidJUnit4.class)
+public class ExampleInstrumentedTest {
+ @Test
+ public void useAppContext() {
+ }
+}
\ No newline at end of file
diff --git a/dynamic_gramm/src/main/AndroidManifest.xml b/dynamic_gramm/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..01ea2c08
--- /dev/null
+++ b/dynamic_gramm/src/main/AndroidManifest.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java b/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java
new file mode 100644
index 00000000..de37a9a3
--- /dev/null
+++ b/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/DynamicContext.java
@@ -0,0 +1,29 @@
+package it.integry.wms.dynamic_customization;
+
+import android.content.Context;
+import android.util.Log;
+
+import it.integry.integrywmsnative.core.class_router.ClassRouter;
+import it.integry.integrywmsnative.core.utility.UtilityExceptions;
+import it.integry.wms.dynamic_customization.extensions.CustomConfiguration;
+import it.integry.wms.dynamic_customization.extensions.FiltroOrdiniVendita;
+import it.integry.wms.dynamic_customization.extensions.OrdiniVendita;
+
+public class DynamicContext {
+
+ public void init(Context context) {
+ Log.d("DynamicContext", "Caricamento personalizzazioni per Azienda IME");
+
+ try {
+ ClassRouter.registerPath(ClassRouter.PATH.FILTRO_ORDINI_VENDITA, FiltroOrdiniVendita.class);
+ ClassRouter.registerPath(ClassRouter.PATH.ORDINI_VENDITA, OrdiniVendita.class);
+ ClassRouter.registerPath(ClassRouter.PATH.CUSTOM_CONFIGURATION, CustomConfiguration.class);
+ } catch (Exception ex) {
+ UtilityExceptions.defaultException(context, ex);
+ }
+
+ Log.d("DynamicContext", "Caricamento personalizzazioni per Azienda IME COMPLETATO");
+
+ }
+
+}
diff --git a/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/extensions/CustomConfiguration.java b/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/extensions/CustomConfiguration.java
new file mode 100644
index 00000000..5f92ec84
--- /dev/null
+++ b/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/extensions/CustomConfiguration.java
@@ -0,0 +1,12 @@
+package it.integry.wms.dynamic_customization.extensions;
+
+import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration;
+import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
+
+public class CustomConfiguration extends BaseCustomConfiguration implements ICustomConfiguration {
+
+ public CustomConfiguration() {
+ configurations.put(Keys.MENU_CONFIGURATION, new MenuConfigurationGRAMM());
+ }
+
+}
diff --git a/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/extensions/FiltroOrdiniVendita.java b/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/extensions/FiltroOrdiniVendita.java
new file mode 100644
index 00000000..77adb537
--- /dev/null
+++ b/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/extensions/FiltroOrdiniVendita.java
@@ -0,0 +1,21 @@
+package it.integry.wms.dynamic_customization.extensions;
+
+import it.integry.integrywmsnative.core.class_router.interfaces.IFiltroOrdiniVendita;
+
+public class FiltroOrdiniVendita implements IFiltroOrdiniVendita {
+
+ @Override
+ public boolean shoudShowCodMdepFilter() {
+ return false;
+ }
+
+ @Override
+ public boolean shoudShowIdViaggioFilter() {
+ return false;
+ }
+
+ @Override
+ public boolean shoudShowAgenteFilter() {
+ return false;
+ }
+}
diff --git a/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationGRAMM.java b/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationGRAMM.java
new file mode 100644
index 00000000..439a98d4
--- /dev/null
+++ b/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationGRAMM.java
@@ -0,0 +1,117 @@
+package it.integry.wms.dynamic_customization.extensions;
+
+import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration;
+import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
+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_consegne_cliente.UltimeConsegneClienteFragment;
+import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreFragment;
+import it.integry.integrywmsnative.gest.vendita.MainVenditaFragment;
+import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceFragment;
+
+public class MenuConfigurationGRAMM extends BaseMenuConfiguration {
+
+ public MenuConfigurationGRAMM() {
+
+
+
+ this
+ .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)
+ .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_download)
+ .setFragmentFactory(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)
+ .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_latest_delivery)
+ .setFragmentFactory(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)
+ .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload)
+ .setFragmentFactory(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)
+ .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_barcode_scanner)
+ .setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.VENDITA)))
+
+ .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_customer)
+ .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_latest_delivery)
+ .setFragmentFactory(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_prod_accettazione_produzione)
+ .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external)
+ .setFragmentFactory(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_prod_picking_lavorazione)
+ .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external)
+ .setFragmentFactory(ProdOrdineLavorazioneElencoFragment::newInstance))
+
+ .addItem(new MenuItem()
+ .setID(it.integry.integrywmsnative.R.id.nav_free_lav_picking)
+ .setTitleText(it.integry.integrywmsnative.R.string.free_lav_picking)
+ .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_picking_libero)
+ .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_barcode_scanner)
+ .setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.LAVORAZIONE)))
+ ).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)
+ .setFragmentFactory(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)
+ .setFragmentFactory(RettificaGiacenzeFragment::newInstance))
+
+
+ );
+
+
+
+ }
+
+}
diff --git a/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/extensions/OrdiniVendita.java b/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/extensions/OrdiniVendita.java
new file mode 100644
index 00000000..71d6e578
--- /dev/null
+++ b/dynamic_gramm/src/main/java/it/integry/wms/dynamic_customization/extensions/OrdiniVendita.java
@@ -0,0 +1,23 @@
+package it.integry.wms.dynamic_customization.extensions;
+
+import java.util.List;
+
+import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita;
+import it.integry.integrywmsnative.core.expansion.RunnableArgs;
+import it.integry.integrywmsnative.core.model.MtbColt;
+import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
+import it.integry.integrywmsnative.core.settings.SettingsManager;
+import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
+
+public class OrdiniVendita implements IOrdiniVendita {
+
+
+ @Override
+ public void distribuisciCollo(MtbColt mtbColt, List testateOrdini, RunnableArgs> onComplete, RunnableArgs onFailed) {
+// UtilityToast.showToast("Avviato metodo in BaseFeature");
+
+ ColliMagazzinoRESTConsumer.distribuisciCollo(mtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(),
+ onComplete,
+ onFailed);
+ }
+}
diff --git a/dynamic_gramm/src/test/java/it/integry/wms/dynamic_customization/ExampleUnitTest.java b/dynamic_gramm/src/test/java/it/integry/wms/dynamic_customization/ExampleUnitTest.java
new file mode 100644
index 00000000..1e97227b
--- /dev/null
+++ b/dynamic_gramm/src/test/java/it/integry/wms/dynamic_customization/ExampleUnitTest.java
@@ -0,0 +1,17 @@
+package it.integry.wms.dynamic_customization;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * @see Testing documentation
+ */
+public class ExampleUnitTest {
+ @Test
+ public void addition_isCorrect() {
+ assertEquals(4, 2 + 2);
+ }
+}
\ No newline at end of file
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 b65158bb..1be2cd96 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,7 @@
package it.integry.wms.dynamic_customization.extensions;
import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration;
+import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
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;
@@ -28,14 +29,14 @@ public class MenuConfigurationIME extends BaseMenuConfiguration {
.setTitleText(it.integry.integrywmsnative.R.string.accettazione_title_fragment)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_accettazione)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_download)
- .setFragmentClass(MainAccettazioneFragment.newInstance()))
+ .setFragmentFactory(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)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_latest_delivery)
- .setFragmentClass(UltimiArriviFornitoreFragment.newInstance()))
+ .setFragmentFactory(UltimiArriviFornitoreFragment::newInstance))
).addGroup(
new MenuGroup()
.setGroupText(it.integry.integrywmsnative.R.string.checkout)
@@ -46,21 +47,21 @@ public class MenuConfigurationIME extends BaseMenuConfiguration {
.setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload)
- .setFragmentClass(MainVenditaFragment.newInstance()))
+ .setFragmentFactory(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)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_barcode_scanner)
- .setFragmentClass(PickingLiberoFragment.newInstance()))
+ .setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.VENDITA)))
.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_customer)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_latest_delivery)
- .setFragmentClass(UltimeConsegneClienteFragment.newInstance()))
+ .setFragmentFactory(UltimeConsegneClienteFragment::newInstance))
).addGroup(
new MenuGroup()
@@ -70,16 +71,16 @@ public class MenuConfigurationIME extends BaseMenuConfiguration {
.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_prod_accettazione_produzione)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external)
- .setFragmentClass(ProdOrdineProduzioneElencoFragment.newInstance()))
+ .setFragmentFactory(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_prod_picking_lavorazione)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external)
- .setFragmentClass(ProdOrdineLavorazioneElencoFragment.newInstance()))
+ .setFragmentFactory(ProdOrdineLavorazioneElencoFragment::newInstance))
).addGroup(
new MenuGroup()
.setGroupText(it.integry.integrywmsnative.R.string.internal_handling)
@@ -90,14 +91,14 @@ public class MenuConfigurationIME extends BaseMenuConfiguration {
.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()))
+ .setFragmentFactory(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()))
+ .setFragmentFactory(RettificaGiacenzeFragment::newInstance))
);
diff --git a/dynamic_saporiveri_pv/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationSAPORIVERIPV.java b/dynamic_saporiveri_pv/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationSAPORIVERIPV.java
index a375141d..7a7520ac 100644
--- a/dynamic_saporiveri_pv/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationSAPORIVERIPV.java
+++ b/dynamic_saporiveri_pv/src/main/java/it/integry/wms/dynamic_customization/extensions/MenuConfigurationSAPORIVERIPV.java
@@ -1,6 +1,7 @@
package it.integry.wms.dynamic_customization.extensions;
import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration;
+import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment;
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdiniAcquistoGrigliaFragment;
@@ -19,7 +20,7 @@ public class MenuConfigurationSAPORIVERIPV extends BaseMenuConfiguration {
.setTitleText(it.integry.integrywmsnative.R.string.generate_orders)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_purchase_orders_pv)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_purchase_orders_pv)
- .setFragmentClass(PVOrdiniAcquistoGrigliaFragment.newInstance()))
+ .setFragmentFactory(PVOrdiniAcquistoGrigliaFragment::newInstance))
// .addItem(new MenuItem()
// .setID(it.integry.integrywmsnative.R.id.nav_pv_ordini_acquisto_trasmessi)
// .setTitleText(it.integry.integrywmsnative.R.string.transmitted_orders)
@@ -37,7 +38,7 @@ public class MenuConfigurationSAPORIVERIPV extends BaseMenuConfiguration {
.setTitleText(it.integry.integrywmsnative.R.string.free_picking)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_picking_libero)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_barcode_scanner)
- .setFragmentClass(PickingLiberoFragment.newInstance()))
+ .setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.VENDITA)))
);
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 aebf7833..a2b1bc4b 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,7 @@
package it.integry.wms.dynamic_customization.extensions;
import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration;
+import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneFragment;
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment;
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment;
@@ -22,7 +23,7 @@ public class MenuConfigurationVG extends BaseMenuConfiguration {
.setTitleText(it.integry.integrywmsnative.R.string.accettazione_title_fragment)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_accettazione)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_download)
- .setFragmentClass(MainAccettazioneFragment.newInstance()))
+ .setFragmentFactory(MainAccettazioneFragment::newInstance))
).addGroup(
new MenuGroup()
.setGroupText(it.integry.integrywmsnative.R.string.checkout)
@@ -33,14 +34,14 @@ public class MenuConfigurationVG extends BaseMenuConfiguration {
.setTitleText(it.integry.integrywmsnative.R.string.vendita_title_fragment)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_spedizione)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_upload)
- .setFragmentClass(MainVenditaFragment.newInstance()))
+ .setFragmentFactory(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)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_barcode_scanner)
- .setFragmentClass(PickingLiberoFragment.newInstance()))
+ .setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.VENDITA)))
)
.addGroup(
new MenuGroup()
@@ -52,14 +53,14 @@ public class MenuConfigurationVG extends BaseMenuConfiguration {
.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()))
+ .setFragmentFactory(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()))
+ .setFragmentFactory(RettificaGiacenzeFragment::newInstance))
);
diff --git a/ext_sources/ICONS/ic_dashboard_prod_accettazione_produzione.svg b/ext_sources/ICONS/ic_dashboard_prod_accettazione_produzione.svg
new file mode 100644
index 00000000..28d03d44
--- /dev/null
+++ b/ext_sources/ICONS/ic_dashboard_prod_accettazione_produzione.svg
@@ -0,0 +1,15 @@
+
+
+
diff --git a/ext_sources/ICONS/ic_dashboard_prod_picking_lavorazione.svg b/ext_sources/ICONS/ic_dashboard_prod_picking_lavorazione.svg
new file mode 100644
index 00000000..b960c8b8
--- /dev/null
+++ b/ext_sources/ICONS/ic_dashboard_prod_picking_lavorazione.svg
@@ -0,0 +1,22 @@
+
+
+
diff --git a/ext_sources/ICONS/ic_dashboard_prod_picking_libero.svg b/ext_sources/ICONS/ic_dashboard_prod_picking_libero.svg
new file mode 100644
index 00000000..9d49dd9f
--- /dev/null
+++ b/ext_sources/ICONS/ic_dashboard_prod_picking_libero.svg
@@ -0,0 +1,29 @@
+
+
+
diff --git a/settings.gradle b/settings.gradle
index e3a5ec53..92cc56d8 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1 +1,2 @@
+include ':dynamic_gramm'
include ':app', ':pointmobilescannerlibrary', ':dynamic_vgalimenti', ':dynamic__base', ':zebrascannerlibrary', ':honeywellscannerlibrary', ':dynamic_ime', ':dynamic_frudis', ':dynamic_saporiveri_pv', ':keyobardemulatorscannerlibrary', ':barcode_base_android_library', ':dynamic_saporiveri', ':barcode_kaiteki'