Fix su gestione istanze del menu principale.

Parametrizzato il Pickibg Libero in modo che possa lavorare anche con la lavorazione.
This commit is contained in:
Giuseppe Scorrano 2020-09-30 12:54:42 +02:00
parent 216070c608
commit 6d99c1fea4
39 changed files with 624 additions and 170 deletions

53
.idea/runConfigurations/app_gramm.xml generated Normal file
View File

@ -0,0 +1,53 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="app_gramm" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
<module name="app" />
<option name="DEPLOY" value="true" />
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
<option name="DEPLOY_AS_INSTANT" value="false" />
<option name="ARTIFACT_NAME" value="" />
<option name="PM_INSTALL_OPTIONS" value="" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="dynamic__base,dynamic_frudis,dynamic_ime,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
<option name="MODE" value="default_activity" />
<option name="CLEAR_LOGCAT" value="true" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="false" />
<option name="FORCE_STOP_RUNNING_APP" value="true" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
<option name="DEBUGGER_TYPE" value="Auto" />
<Auto>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Auto>
<Hybrid>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Hybrid>
<Java />
<Native>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Native>
<Profilers>
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Sample Java Methods" />
</Profilers>
<option name="DEEP_LINK" value="" />
<option name="ACTIVITY_CLASS" value="" />
<method v="2">
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
</method>
</configuration>
</component>

View File

@ -6,7 +6,7 @@
<option name="DEPLOY_AS_INSTANT" value="false" />
<option name="ARTIFACT_NAME" value="" />
<option name="PM_INSTALL_OPTIONS" value="" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="dynamic__base,dynamic_frudis,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="dynamic__base,dynamic_frudis,dynamic_gramm,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
<option name="MODE" value="default_activity" />
<option name="CLEAR_LOGCAT" value="true" />

View File

@ -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'

View File

@ -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){

View File

@ -53,4 +53,8 @@ public class MainApplication extends Application {
super.onLowMemory();
}
public static void exit() {
System.exit(0);
}
}

View File

@ -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<Pair<PATH, Class>> mRouteClasses = new ArrayList<>();
private static List<Pair<PATH, Object>> 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);
}

View File

@ -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<Fragment> fragmentFactory;
public int getID() {
return mID;
@ -103,12 +105,12 @@ public class BaseMenuConfiguration {
return this;
}
public Fragment getFragmentClass() {
return fragmentClass;
public RunnableWithReturn<Fragment> getFragmentFactory() {
return fragmentFactory;
}
public MenuItem setFragmentClass(Fragment fragmentClass) {
this.fragmentClass = fragmentClass;
public MenuItem setFragmentFactory(RunnableWithReturn<Fragment> fragmentFactory) {
this.fragmentFactory = fragmentFactory;
return this;
}
}

View File

@ -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))
);
);
}
}

View File

@ -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));

View File

@ -0,0 +1,7 @@
package it.integry.integrywmsnative.core.expansion;
public interface RunnableWithReturn<R> {
R run();
}

View File

@ -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();
}

View File

@ -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();
}

View File

@ -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);

View File

@ -0,0 +1,6 @@
<vector android:height="128dp" android:viewportHeight="512"
android:viewportWidth="512" android:width="128dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#2958B7" android:pathData="M394.7,53.3H117.3L64,128v298.7c0,17.7 14.3,32 32,32h320c17.7,0 32,-14.3 32,-32V128L394.7,53.3z"/>
<path android:fillColor="#0B44A0" android:pathData="M128.3,74.7L90.2,128H192c0,35.3 28.7,64 64,64s64,-28.7 64,-64h101.8l-38.1,-53.3H128.3z"/>
<path android:fillColor="#3DDAE2" android:pathData="M328.8,232l-84.2,84.3l-40.1,-40.1l-23.2,23.2l63.3,63.2L352,255.2L328.8,232z"/>
</vector>

View File

@ -0,0 +1,8 @@
<vector android:height="128dp" android:viewportHeight="512"
android:viewportWidth="512" android:width="128dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#455A64" android:pathData="M384,42.7H277.3c0,11.8 -9.6,21.3 -21.3,21.3s-21.3,-9.6 -21.3,-21.3H128c-23.5,0 -42.7,19.2 -42.7,42.7v341.3c0,23.5 19.2,42.7 42.7,42.7h256c23.5,0 42.7,-19.2 42.7,-42.7V85.3C426.7,61.9 407.5,42.7 384,42.7z"/>
<path android:fillColor="#FFFFFF" android:pathData="M384,437.3H128c-6.4,0 -10.7,-4.3 -10.7,-10.7V85.3c0,-6.4 4.3,-10.7 10.7,-10.7h256c6.4,0 10.7,4.3 10.7,10.7v341.3C394.7,433.1 390.4,437.3 384,437.3z"/>
<path android:fillColor="#90A4AE" android:pathData="M277.3,42.7c0,11.8 -9.6,21.3 -21.3,21.3s-21.3,-9.6 -21.3,-21.3H160v42.7c0,11.8 9.6,21.3 21.3,21.3h149.3c11.8,0 21.3,-9.6 21.3,-21.3V42.7H277.3z"/>
<path android:fillColor="#90A4AE" android:pathData="M256,0c-23.5,0 -42.7,19.2 -42.7,42.7s19.2,42.7 42.7,42.7s42.7,-19.2 42.7,-42.7S279.5,0 256,0zM256,64c-11.8,0 -21.3,-9.6 -21.3,-21.3s9.6,-21.3 21.3,-21.3s21.3,9.6 21.3,21.3S267.8,64 256,64z"/>
<path android:fillColor="#2958B7" android:pathData="M326.4,198.4l-96,96l-44.8,-45.9l-26.7,26.7l72.5,71.5l121.6,-121.6L326.4,198.4z"/>
</vector>

View File

@ -0,0 +1,13 @@
<vector android:height="128dp" android:viewportHeight="512"
android:viewportWidth="512" android:width="128dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#607D8B" android:pathData="M139.8,352c-7.5,0 -12.8,-5.3 -13.9,-12.8L98.1,103.5c-2.1,-17 -16,-28.8 -32,-28.8H53.3V96h12.8c5.3,0 9.6,4.3 10.7,9.6l27.8,236.8c2.1,18.1 17,30.9 35.2,30.9H256V352H139.8z"/>
<path android:fillColor="#FFC107" android:pathData="M149.3,330.7h309.3v42.7H149.3V330.7z"/>
<path android:fillColor="#37474F" android:pathData="M437.3,405.3c0,17.7 -14.3,32 -32,32s-32,-14.3 -32,-32s14.3,-32 32,-32S437.3,387.7 437.3,405.3z"/>
<path android:fillColor="#37474F" android:pathData="M234.7,405.3c0,17.7 -14.3,32 -32,32s-32,-14.3 -32,-32s14.3,-32 32,-32S234.7,387.7 234.7,405.3z"/>
<path android:fillColor="#607D8B" android:pathData="M416,405.3c0,5.9 -4.8,10.7 -10.7,10.7s-10.7,-4.8 -10.7,-10.7s4.8,-10.7 10.7,-10.7S416,399.5 416,405.3z"/>
<path android:fillColor="#607D8B" android:pathData="M213.3,405.3c0,5.9 -4.8,10.7 -10.7,10.7s-10.7,-4.8 -10.7,-10.7s4.8,-10.7 10.7,-10.7S213.3,399.5 213.3,405.3z"/>
<path android:fillColor="#2958B7" android:pathData="M405.3,330.7H192c-11.8,0 -21.3,-9.6 -21.3,-21.3V96c0,-11.7 9.6,-21.3 21.3,-21.3h213.3c11.8,0 21.3,9.6 21.3,21.3v213.3C426.7,321.1 417.1,330.7 405.3,330.7z"/>
<path android:fillColor="#0000A5" android:pathData="M320,117.3h-42.7c-6.4,0 -10.7,-4.2 -10.7,-10.7c0,-6.4 4.3,-10.7 10.7,-10.7H320c6.4,0 10.7,4.3 10.7,10.7C330.7,113.1 326.4,117.3 320,117.3z"/>
<path android:fillColor="#0000A5" android:pathData="M320,256h-42.7c-6.4,0 -10.7,-4.3 -10.7,-10.7c0,-6.4 4.3,-10.7 10.7,-10.7H320c6.4,0 10.7,4.3 10.7,10.7C330.7,251.8 326.4,256 320,256z"/>
<path android:fillColor="#182CB7" android:pathData="M170.7,192h256v21.3h-256V192z"/>
</vector>

View File

@ -186,6 +186,7 @@
</androidx.appcompat.widget.LinearLayoutCompat>
</RelativeLayout>

View File

@ -227,6 +227,7 @@
<string name="permissions_denied">Tutti i permessi sono stati declinati, riapri l\'applicazione per continuare.</string>
<string name="notification_update_download">Download aggiornamento</string>
<string name="free_picking">Picking libero</string>
<string name="free_lav_picking">Picking libero</string>
<string name="free_picking_suggestion_1">Per iniziare clicca sul + in basso a destra</string>
<string name="free_picking_suggestion_2">Scansiona un articolo per iniziare</string>
<string name="free_picking_title_fragment">Picking libero</string>
@ -262,11 +263,11 @@
<string name="general">Generale</string>
<string name="purchase">Acquisti</string>
<string name="checkout">Vendita</string>
<string name="manufacture">Lavorazione</string>
<string name="manufacture">Lav. terzi / Trasf. interni</string>
<string name="production">Produzione</string>
<string name="internal_handling">Movimentazione interna</string>
<string name="prod_ordine_produzione_title_fragment">Accettazione da produzione</string>
<string name="prod_ordine_lavorazione_title_fragment">Picking per lavorazione</string>
<string name="prod_ordine_produzione_title_fragment">Accettazione da ordine</string>
<string name="prod_ordine_lavorazione_title_fragment">Picking da ordine</string>
<string name="prod_versamento_materiale_title_fragment">Versamento materiale</string>
<string name="prod_recupero_materiale_title_fragment">Recupero materiale</string>

View File

@ -17,6 +17,7 @@
<item name="nav_rettifica_giacenze" type="id" />
<item name="nav_versamento_merce" type="id" />
<item name="nav_free_picking" type="id" />
<item name="nav_free_lav_picking" type="id" />
<item name="nav_resi_fornitore" type="id" />
<item name="nav_resi_cliente" type="id" />
<item name="nav_prod_ordine_produzione" type="id" />

View File

@ -227,6 +227,7 @@
<string name="permissions_denied">All permissions are required, please reopen the app.</string>
<string name="notification_update_download">Downloading update</string>
<string name="free_picking">Free Picking</string>
<string name="free_lav_picking">Free Picking</string>
<string name="free_picking_suggestion_1">Please press + button to start with picking</string>
<string name="free_picking_suggestion_2">Scan an item to start</string>
<string name="error_multiple_gest">Can\'t load orders of different type</string>
@ -267,7 +268,7 @@
<string name="general">General</string>
<string name="purchase">Purchase</string>
<string name="checkout">Check out</string>
<string name="manufacture">Manufacture</string>
<string name="manufacture">Manufacture / Internal movement</string>
<string name="production">Production</string>
<string name="internal_handling">Internal handling</string>
<string name="prod_ordine_produzione_title_fragment">Production picking</string>
@ -323,4 +324,5 @@
<string name="basket">Basket</string>
<string name="use">Use</string>
<string name="back">Back</string>
<string name="title_dynamic_gramm">Gramm Customization</string>
</resources>

View File

@ -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
call build_azienda.bat saporiveri
call build_azienda.bat vgalimenti

View File

@ -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()))

1
dynamic_gramm/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/build

View File

@ -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'
}

View File

@ -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 <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() {
}
}

View File

@ -0,0 +1,11 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:dist="http://schemas.android.com/apk/distribution"
package="it.integry.wms.dynamic_customization">
<dist:module
dist:instant="false"
dist:onDemand="false"
dist:title="@string/title_dynamic_gramm">
<dist:fusing dist:include="true" />
</dist:module>
</manifest>

View File

@ -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");
}
}

View File

@ -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());
}
}

View File

@ -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;
}
}

View File

@ -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))
);
}
}

View File

@ -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<OrdineVenditaInevasoDTO> testateOrdini, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
// UtilityToast.showToast("Avviato metodo in BaseFeature");
ColliMagazzinoRESTConsumer.distribuisciCollo(mtbColt, SettingsManager.iDB().getDefaultCriterioDistribuzione(),
onComplete,
onFailed);
}
}

View File

@ -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 <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
public class ExampleUnitTest {
@Test
public void addition_isCorrect() {
assertEquals(4, 2 + 2);
}
}

View File

@ -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))
);

View File

@ -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)))
);

View File

@ -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))
);

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Livello_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<style type="text/css">
.st0{fill:#2958B7;}
.st1{fill:#0B44A0;}
.st2{fill:#3DDAE2;}
</style>
<g id="surface1">
<path class="st0" d="M394.7,53.3H117.3L64,128v298.7c0,17.7,14.3,32,32,32h320c17.7,0,32-14.3,32-32V128L394.7,53.3z"/>
<path class="st1" d="M128.3,74.7L90.2,128H192c0,35.3,28.7,64,64,64s64-28.7,64-64h101.8l-38.1-53.3H128.3z"/>
<path class="st2" d="M328.8,232l-84.2,84.3l-40.1-40.1l-23.2,23.2l63.3,63.2L352,255.2L328.8,232z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 804 B

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Livello_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<style type="text/css">
.st0{fill:#455A64;}
.st1{fill:#FFFFFF;}
.st2{fill:#90A4AE;}
.st3{fill:#2958B7;}
</style>
<g id="surface1">
<path class="st0" d="M384,42.7H277.3c0,11.8-9.6,21.3-21.3,21.3s-21.3-9.6-21.3-21.3H128c-23.5,0-42.7,19.2-42.7,42.7v341.3
c0,23.5,19.2,42.7,42.7,42.7h256c23.5,0,42.7-19.2,42.7-42.7V85.3C426.7,61.9,407.5,42.7,384,42.7z"/>
<path class="st1" d="M384,437.3H128c-6.4,0-10.7-4.3-10.7-10.7V85.3c0-6.4,4.3-10.7,10.7-10.7h256c6.4,0,10.7,4.3,10.7,10.7v341.3
C394.7,433.1,390.4,437.3,384,437.3z"/>
<path class="st2" d="M277.3,42.7c0,11.8-9.6,21.3-21.3,21.3s-21.3-9.6-21.3-21.3H160v42.7c0,11.8,9.6,21.3,21.3,21.3h149.3
c11.8,0,21.3-9.6,21.3-21.3V42.7H277.3z"/>
<path class="st2" d="M256,0c-23.5,0-42.7,19.2-42.7,42.7s19.2,42.7,42.7,42.7s42.7-19.2,42.7-42.7S279.5,0,256,0z M256,64
c-11.8,0-21.3-9.6-21.3-21.3s9.6-21.3,21.3-21.3s21.3,9.6,21.3,21.3S267.8,64,256,64z"/>
<path class="st3" d="M326.4,198.4l-96,96l-44.8-45.9l-26.7,26.7l72.5,71.5l121.6-121.6L326.4,198.4z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Livello_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<style type="text/css">
.st0{fill:#607D8B;}
.st1{fill:#FFC107;}
.st2{fill:#37474F;}
.st3{fill:#2958B7;}
.st4{fill:#0000A5;}
.st5{fill:#182CB7;}
</style>
<g id="surface1">
<path class="st0" d="M139.8,352c-7.5,0-12.8-5.3-13.9-12.8L98.1,103.5c-2.1-17-16-28.8-32-28.8H53.3V96h12.8
c5.3,0,9.6,4.3,10.7,9.6l27.8,236.8c2.1,18.1,17,30.9,35.2,30.9H256V352H139.8z"/>
<path class="st1" d="M149.3,330.7h309.3v42.7H149.3V330.7z"/>
<path class="st2" d="M437.3,405.3c0,17.7-14.3,32-32,32s-32-14.3-32-32s14.3-32,32-32S437.3,387.7,437.3,405.3z"/>
<path class="st2" d="M234.7,405.3c0,17.7-14.3,32-32,32s-32-14.3-32-32s14.3-32,32-32S234.7,387.7,234.7,405.3z"/>
<path class="st0" d="M416,405.3c0,5.9-4.8,10.7-10.7,10.7s-10.7-4.8-10.7-10.7s4.8-10.7,10.7-10.7S416,399.5,416,405.3z"/>
<path class="st0" d="M213.3,405.3c0,5.9-4.8,10.7-10.7,10.7s-10.7-4.8-10.7-10.7s4.8-10.7,10.7-10.7S213.3,399.5,213.3,405.3z"/>
<path class="st3" d="M405.3,330.7H192c-11.8,0-21.3-9.6-21.3-21.3V96c0-11.7,9.6-21.3,21.3-21.3h213.3c11.8,0,21.3,9.6,21.3,21.3
v213.3C426.7,321.1,417.1,330.7,405.3,330.7z"/>
<path class="st4" d="M320,117.3h-42.7c-6.4,0-10.7-4.2-10.7-10.7c0-6.4,4.3-10.7,10.7-10.7H320c6.4,0,10.7,4.3,10.7,10.7
C330.7,113.1,326.4,117.3,320,117.3z"/>
<path class="st4" d="M320,256h-42.7c-6.4,0-10.7-4.3-10.7-10.7c0-6.4,4.3-10.7,10.7-10.7H320c6.4,0,10.7,4.3,10.7,10.7
C330.7,251.8,326.4,256,320,256z"/>
<path class="st5" d="M170.7,192h256v21.3h-256V192z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -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'