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:
2020-09-30 12:54:42 +02:00
parent 216070c608
commit 6d99c1fea4
39 changed files with 624 additions and 170 deletions

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