Implementato databinding nelle componenti Room
This commit is contained in:
parent
1112983571
commit
077cff30c1
@ -47,9 +47,9 @@ android {
|
|||||||
signingConfig signingConfigs.release
|
signingConfig signingConfigs.release
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dataBinding {
|
|
||||||
enabled = true
|
android.buildFeatures.dataBinding true
|
||||||
}
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
targetCompatibility 1.8
|
targetCompatibility 1.8
|
||||||
sourceCompatibility 1.8
|
sourceCompatibility 1.8
|
||||||
|
|||||||
@ -1,47 +1,47 @@
|
|||||||
package it.integry.integrywmsnative;
|
package it.integry.integrywmsnative;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
|
||||||
import androidx.annotation.IdRes;
|
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.fragment.app.FragmentManager;
|
|
||||||
import com.google.android.material.navigation.NavigationView;
|
|
||||||
import androidx.core.view.GravityCompat;
|
|
||||||
import androidx.drawerlayout.widget.DrawerLayout;
|
|
||||||
import androidx.appcompat.app.ActionBarDrawerToggle;
|
|
||||||
import androidx.appcompat.widget.SearchView;
|
|
||||||
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.SubMenu;
|
import android.view.SubMenu;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.annotation.IdRes;
|
||||||
|
import androidx.appcompat.app.ActionBarDrawerToggle;
|
||||||
|
import androidx.appcompat.widget.SearchView;
|
||||||
|
import androidx.core.view.GravityCompat;
|
||||||
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
import androidx.drawerlayout.widget.DrawerLayout;
|
||||||
|
import androidx.fragment.app.Fragment;
|
||||||
|
import androidx.fragment.app.FragmentManager;
|
||||||
import androidx.fragment.app.FragmentTransaction;
|
import androidx.fragment.app.FragmentTransaction;
|
||||||
|
|
||||||
|
import com.google.android.material.navigation.NavigationView;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration;
|
import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration;
|
||||||
import it.integry.integrywmsnative.core.class_router.ClassRouter;
|
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.BaseMenuConfiguration;
|
||||||
import it.integry.integrywmsnative.core.class_router.configs.MenuConfiguration;
|
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.ICustomConfiguration;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.AppDatabase;
|
||||||
import it.integry.integrywmsnative.core.expansion.BaseActivity;
|
import it.integry.integrywmsnative.core.expansion.BaseActivity;
|
||||||
import it.integry.integrywmsnative.core.expansion.OnSingleClickListener;
|
import it.integry.integrywmsnative.core.expansion.OnSingleClickListener;
|
||||||
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
|
|
||||||
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
|
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
|
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
|
||||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ISearcableFragment;
|
import it.integry.integrywmsnative.core.interfaces.ISearcableFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment;
|
import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||||
|
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
|
||||||
import it.integry.integrywmsnative.core.update.UpdatesManager;
|
import it.integry.integrywmsnative.core.update.UpdatesManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilitySettings;
|
import it.integry.integrywmsnative.core.utility.UtilitySettings;
|
||||||
import it.integry.integrywmsnative.databinding.ActivityMainBinding;
|
import it.integry.integrywmsnative.databinding.ActivityMainBinding;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
|
||||||
import it.integry.integrywmsnative.gest.login.LoginActivity;
|
import it.integry.integrywmsnative.gest.login.LoginActivity;
|
||||||
import it.integry.integrywmsnative.gest.main.MainFragment;
|
import it.integry.integrywmsnative.gest.main.MainFragment;
|
||||||
import it.integry.integrywmsnative.gest.settings.MainSettingsFragment;
|
import it.integry.integrywmsnative.gest.settings.MainSettingsFragment;
|
||||||
@ -54,11 +54,17 @@ public class MainActivity extends BaseActivity
|
|||||||
private boolean firstCheckExecution = true;
|
private boolean firstCheckExecution = true;
|
||||||
private boolean mIsOnline = false;
|
private boolean mIsOnline = false;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
AppDatabase mAppDatabase;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
MainApplication.appComponent
|
||||||
|
.mainActivityComponent()
|
||||||
|
.create()
|
||||||
|
.inject(this);
|
||||||
|
|
||||||
mBinding = DataBindingUtil.inflate(LayoutInflater.from(this), R.layout.activity_main, null, false);
|
mBinding = DataBindingUtil.inflate(LayoutInflater.from(this), R.layout.activity_main, null, false);
|
||||||
setContentView(mBinding.getRoot());
|
setContentView(mBinding.getRoot());
|
||||||
@ -148,7 +154,7 @@ public class MainActivity extends BaseActivity
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case R.id.nav_logout:
|
case R.id.nav_logout:
|
||||||
UtilitySettings.logout();
|
UtilitySettings.logout(this.mAppDatabase);
|
||||||
ServerStatusChecker.dispose();
|
ServerStatusChecker.dispose();
|
||||||
|
|
||||||
startLoginActivity();
|
startLoginActivity();
|
||||||
|
|||||||
@ -0,0 +1,15 @@
|
|||||||
|
package it.integry.integrywmsnative;
|
||||||
|
|
||||||
|
import dagger.Subcomponent;
|
||||||
|
|
||||||
|
@Subcomponent
|
||||||
|
public interface MainActivityComponent {
|
||||||
|
|
||||||
|
@Subcomponent.Factory
|
||||||
|
interface Factory {
|
||||||
|
|
||||||
|
MainActivityComponent create();
|
||||||
|
}
|
||||||
|
|
||||||
|
void inject(MainActivity mainActivity);
|
||||||
|
}
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
package it.integry.integrywmsnative;
|
||||||
|
|
||||||
|
import dagger.Module;
|
||||||
|
|
||||||
|
@Module(subcomponents = MainActivityComponent.class)
|
||||||
|
public class MainActivityModule {
|
||||||
|
}
|
||||||
@ -1,21 +1,11 @@
|
|||||||
package it.integry.integrywmsnative;
|
package it.integry.integrywmsnative;
|
||||||
|
|
||||||
import android.app.AlarmManager;
|
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
import android.app.PendingIntent;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
|
|
||||||
import dagger.Component;
|
|
||||||
import dagger.android.DaggerApplication;
|
|
||||||
import it.integry.integrywmsnative.core.context.AppContext;
|
import it.integry.integrywmsnative.core.context.AppContext;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.AppDatabase;
|
import it.integry.integrywmsnative.core.data_store.db.RoomModule;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloGrigliaDao;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloOrdineDao;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.dao.GrigliaDao;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.dao.OrdineDao;
|
|
||||||
|
|
||||||
|
|
||||||
public class MainApplication extends Application {
|
public class MainApplication extends Application {
|
||||||
@ -25,10 +15,10 @@ public class MainApplication extends Application {
|
|||||||
// Reference to the application graph that is used across the whole app
|
// Reference to the application graph that is used across the whole app
|
||||||
public static MainApplicationComponent appComponent;
|
public static MainApplicationComponent appComponent;
|
||||||
public static MainApplicationModule appModule;
|
public static MainApplicationModule appModule;
|
||||||
|
public static RoomModule roomModule;
|
||||||
|
|
||||||
private AppContext appContext = new AppContext(this);
|
private AppContext appContext = new AppContext(this);
|
||||||
|
|
||||||
private static AppDatabase appDb;
|
|
||||||
|
|
||||||
|
|
||||||
// Called when the application is starting, before any other application objects have been created.
|
// Called when the application is starting, before any other application objects have been created.
|
||||||
@ -37,12 +27,14 @@ public class MainApplication extends Application {
|
|||||||
public void onCreate() {
|
public void onCreate() {
|
||||||
super.onCreate();
|
super.onCreate();
|
||||||
|
|
||||||
appModule = new MainApplicationModule(MainApplication.this);
|
appModule = new MainApplicationModule(MainApplication.this, this);
|
||||||
appComponent = DaggerMainApplicationComponent.create();
|
roomModule = new RoomModule(this);
|
||||||
|
appComponent = DaggerMainApplicationComponent.builder()
|
||||||
|
.mainApplicationModule(appModule)
|
||||||
|
.roomModule(roomModule)
|
||||||
|
.build();
|
||||||
|
|
||||||
appContext.init();
|
appContext.init();
|
||||||
appDb = AppDatabase.getDatabase(this);
|
|
||||||
//Stash.init(this);
|
|
||||||
res = getResources();
|
res = getResources();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -61,25 +53,4 @@ public class MainApplication extends Application {
|
|||||||
super.onLowMemory();
|
super.onLowMemory();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// DATABASE REPOSITORY FUNCTIONS
|
|
||||||
public static GrigliaDao getGrigliaRepository() {
|
|
||||||
return appDb.grigliaDao();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static ArticoloGrigliaDao getArticoliGrigliaRepository() {
|
|
||||||
return appDb.articoloGrigliaDao();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static OrdineDao getOrdiniRepository() {
|
|
||||||
return appDb.ordineDao();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static ArticoloOrdineDao getArticoliOrdineRepository() {
|
|
||||||
return appDb.articoloOrdineDao();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void clearDB() {
|
|
||||||
new Thread(() -> appDb.clearAllTables()).start();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,38 @@
|
|||||||
package it.integry.integrywmsnative;
|
package it.integry.integrywmsnative;
|
||||||
|
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
import dagger.Component;
|
import dagger.Component;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.RoomModule;
|
||||||
|
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoComponent;
|
||||||
|
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoModule;
|
||||||
|
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditComponent;
|
||||||
|
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditModule;
|
||||||
|
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdineAcquistoGrigliaComponent;
|
||||||
|
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdineAcquistoGrigliaModule;
|
||||||
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeComponent;
|
||||||
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeModule;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.SpedizioneComponent;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.SpedizioneModule;
|
||||||
|
|
||||||
// Definition of the Application graph
|
// Definition of the Application graph
|
||||||
@Component(modules = {MainApplicationModule.class})
|
@Singleton
|
||||||
|
@Component(modules = {
|
||||||
|
MainApplicationModule.class,
|
||||||
|
RoomModule.class,
|
||||||
|
MainActivityModule.class,
|
||||||
|
PVOrdineAcquistoGrigliaModule.class,
|
||||||
|
PVOrdineAcquistoEditModule.class,
|
||||||
|
PickingLiberoModule.class,
|
||||||
|
RettificaGiacenzeModule.class,
|
||||||
|
SpedizioneModule.class})
|
||||||
public interface MainApplicationComponent {
|
public interface MainApplicationComponent {
|
||||||
|
|
||||||
|
MainActivityComponent.Factory mainActivityComponent();
|
||||||
|
PVOrdineAcquistoGrigliaComponent.Factory pvOrdineAcquistoGrigliaComponent();
|
||||||
|
PVOrdineAcquistoEditComponent.Factory pvOrdineAcquistoEditComponent();
|
||||||
|
PickingLiberoComponent.Factory pickingLiberoComponent();
|
||||||
|
RettificaGiacenzeComponent.Factory rettificaGiacenzeComponent();
|
||||||
|
SpedizioneComponent.Factory spedizioneComponent();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
package it.integry.integrywmsnative;
|
package it.integry.integrywmsnative;
|
||||||
|
|
||||||
|
import android.app.Application;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
@ -18,9 +19,17 @@ import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
|||||||
public class MainApplicationModule {
|
public class MainApplicationModule {
|
||||||
|
|
||||||
private final Context mContext;
|
private final Context mContext;
|
||||||
|
private final Application mApplication;
|
||||||
|
|
||||||
public MainApplicationModule(Context context) {
|
public MainApplicationModule(Context context, Application application) {
|
||||||
this.mContext = context;
|
this.mContext = context;
|
||||||
|
this.mApplication = application;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@Singleton
|
||||||
|
Application providesApplication() {
|
||||||
|
return mApplication;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
|
|||||||
@ -1,9 +1,6 @@
|
|||||||
package it.integry.integrywmsnative.core.data_store.db;
|
package it.integry.integrywmsnative.core.data_store.db;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
|
|
||||||
import androidx.room.Database;
|
import androidx.room.Database;
|
||||||
import androidx.room.Room;
|
|
||||||
import androidx.room.RoomDatabase;
|
import androidx.room.RoomDatabase;
|
||||||
import androidx.room.TypeConverters;
|
import androidx.room.TypeConverters;
|
||||||
|
|
||||||
@ -23,7 +20,7 @@ import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
|||||||
})
|
})
|
||||||
public abstract class AppDatabase extends RoomDatabase {
|
public abstract class AppDatabase extends RoomDatabase {
|
||||||
|
|
||||||
private static volatile AppDatabase INSTANCE;
|
// private AppDatabase mRoomInstance;
|
||||||
|
|
||||||
public abstract ArticoloGrigliaDao articoloGrigliaDao();
|
public abstract ArticoloGrigliaDao articoloGrigliaDao();
|
||||||
|
|
||||||
@ -33,19 +30,26 @@ public abstract class AppDatabase extends RoomDatabase {
|
|||||||
|
|
||||||
public abstract ArticoloOrdineDao articoloOrdineDao();
|
public abstract ArticoloOrdineDao articoloOrdineDao();
|
||||||
|
|
||||||
public static AppDatabase getDatabase(final Context context) {
|
// public static AppDatabase getDatabase(final Context context) {
|
||||||
if (INSTANCE == null) {
|
// if (INSTANCE == null) {
|
||||||
synchronized (AppDatabase.class) {
|
// synchronized (AppDatabase.class) {
|
||||||
if (INSTANCE == null) {
|
// if (INSTANCE == null) {
|
||||||
INSTANCE = Room.databaseBuilder(context.getApplicationContext(),
|
// INSTANCE = Room.databaseBuilder(context.getApplicationContext(),
|
||||||
AppDatabase.class, "integry_wms")
|
// AppDatabase.class, "integry_wms")
|
||||||
.fallbackToDestructiveMigration()
|
// .fallbackToDestructiveMigration()
|
||||||
.build();
|
// .build();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
return INSTANCE;
|
// return INSTANCE;
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
// public AppDatabase(Application application) {
|
||||||
|
// mRoomInstance = Room.databaseBuilder(application,
|
||||||
|
// AppDatabase.class, "integry_wms")
|
||||||
|
// .fallbackToDestructiveMigration()
|
||||||
|
// .build();
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,10 @@
|
|||||||
|
package it.integry.integrywmsnative.core.data_store.db;
|
||||||
|
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
|
import dagger.Component;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
@Component(modules = {RoomModule.class})
|
||||||
|
public interface RoomComponent {
|
||||||
|
}
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
package it.integry.integrywmsnative.core.data_store.db;
|
||||||
|
|
||||||
|
public interface RoomComponentProvider {
|
||||||
|
|
||||||
|
RoomComponent provideRoomComponent();
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,99 @@
|
|||||||
|
package it.integry.integrywmsnative.core.data_store.db;
|
||||||
|
|
||||||
|
import android.app.Application;
|
||||||
|
|
||||||
|
import androidx.room.Room;
|
||||||
|
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
|
import dagger.Module;
|
||||||
|
import dagger.Provides;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloGrigliaDao;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloOrdineDao;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.dao.GrigliaDao;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.dao.OrdineDao;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoloGrigliaRepository;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.implementations.ArticoliGrigliaDataSource;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.implementations.ArticoliOrdineDataSource;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.implementations.GrigliaDataSource;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.implementations.OrdineDataSource;
|
||||||
|
|
||||||
|
@Module
|
||||||
|
public class RoomModule {
|
||||||
|
|
||||||
|
private AppDatabase appDatabase;
|
||||||
|
|
||||||
|
public RoomModule(Application application) {
|
||||||
|
appDatabase = Room.databaseBuilder(application,
|
||||||
|
AppDatabase.class, "integry_wms")
|
||||||
|
.fallbackToDestructiveMigration()
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
@Provides
|
||||||
|
AppDatabase providesRoomDatabase() {
|
||||||
|
return appDatabase;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
@Provides
|
||||||
|
ArticoloGrigliaDao providesArticoloGrigliaDao(AppDatabase appDatabase) {
|
||||||
|
return appDatabase.articoloGrigliaDao();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
@Provides
|
||||||
|
GrigliaDao providesGrigliaDao(AppDatabase appDatabase) {
|
||||||
|
return appDatabase.grigliaDao();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
@Provides
|
||||||
|
OrdineDao providesOrdineDao(AppDatabase appDatabase) {
|
||||||
|
return appDatabase.ordineDao();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
@Provides
|
||||||
|
ArticoloOrdineDao providesArticoloOrdineDao(AppDatabase appDatabase) {
|
||||||
|
return appDatabase.articoloOrdineDao();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
@Provides
|
||||||
|
ArticoloGrigliaRepository providesArticoloGrigliaRepository(ArticoloGrigliaDao articoloGrigliaDao) {
|
||||||
|
return new ArticoliGrigliaDataSource(articoloGrigliaDao);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
@Provides
|
||||||
|
ArticoliOrdineRepository providesArticoliOrdineRepository(ArticoloOrdineDao articoloOrdineDao) {
|
||||||
|
return new ArticoliOrdineDataSource(articoloOrdineDao);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
@Provides
|
||||||
|
GrigliaRepository providesGrigliaRepository(GrigliaDao grigliaDao) {
|
||||||
|
return new GrigliaDataSource(grigliaDao);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
@Provides
|
||||||
|
OrdineRepository providesOrdineRepository(OrdineDao ordineDao) {
|
||||||
|
return new OrdineDataSource(ordineDao);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,88 +0,0 @@
|
|||||||
package it.integry.integrywmsnative.core.data_store.db.repository;
|
|
||||||
|
|
||||||
import com.annimon.stream.Collectors;
|
|
||||||
import com.annimon.stream.Stream;
|
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import it.integry.integrywmsnative.MainApplication;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloGrigliaDao;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
|
||||||
|
|
||||||
public class ArticoliGrigliaRepository extends Repository{
|
|
||||||
|
|
||||||
ArticoloGrigliaDao mRepository;
|
|
||||||
|
|
||||||
public ArticoliGrigliaRepository() {
|
|
||||||
this.mRepository = MainApplication.getArticoliGrigliaRepository();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void saveArticoliToGriglia(List<ArticoloGriglia> articoli, Griglia griglia, Runnable onSuccess, RunnableArgs<Exception> onFail) {
|
|
||||||
execute(()->{
|
|
||||||
try{
|
|
||||||
List<ArticoloGriglia> toUpdate = new ArrayList<>();
|
|
||||||
List<ArticoloGriglia> toInsert = new ArrayList<>();
|
|
||||||
List<String> codMarts = new ArrayList<>();
|
|
||||||
for (ArticoloGriglia art : articoli){
|
|
||||||
Integer id = mRepository.getIdArticoloByGrigliaAndBarcodeAndCodMart(griglia.getGrigliaId(),art.getBarCode(),art.getCodMart());
|
|
||||||
codMarts.add(art.getCodMart());
|
|
||||||
if (id != null){
|
|
||||||
art.setArticoloGrigliaId(id);
|
|
||||||
toUpdate.add(art);
|
|
||||||
}else{
|
|
||||||
toInsert.add(art);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
mRepository.insertAll(toInsert);
|
|
||||||
mRepository.updateAll(toUpdate);
|
|
||||||
List<ArticoloGriglia> articoliGriglia = mRepository.getArticoliFromGriglia(griglia.getGrigliaId());
|
|
||||||
List<ArticoloGriglia> toDelete =Stream.of(articoliGriglia).filter(articolo-> !codMarts.contains(articolo.getCodMart())).toList();
|
|
||||||
mRepository.deleteList(toDelete);
|
|
||||||
onSuccess.run();
|
|
||||||
}catch (Exception e){
|
|
||||||
onFail.run(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public void findArticoloByBarcodeAndGriglia(String barcode, int idGriglia,RunnableArgs<ArticoloGriglia> onSuccess, RunnableArgs<Exception> onFail ){
|
|
||||||
execute(()->{
|
|
||||||
try{
|
|
||||||
onSuccess.run(mRepository.findArticoloByBarcodeAndGriglia(barcode, idGriglia));
|
|
||||||
}catch (Exception e){
|
|
||||||
onFail.run(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
public void findArticoloByCodMartAndGriglia(String codMart, int idGriglia,RunnableArgs<ArticoloGriglia> onSuccess, RunnableArgs<Exception> onFail ){
|
|
||||||
execute(()->{
|
|
||||||
try{
|
|
||||||
onSuccess.run(mRepository.findArticoloByCodMartAndGriglia(codMart, idGriglia));
|
|
||||||
}catch (Exception e){
|
|
||||||
onFail.run(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
public void findArticoloByScanAndGriglia(String scan, int idGriglia,RunnableArgs<ArticoloGriglia> onSuccess, RunnableArgs<Exception> onFail ){
|
|
||||||
execute(()->{
|
|
||||||
try{
|
|
||||||
ArticoloGriglia articolo = mRepository.findArticoloByCodMartAndGriglia(scan, idGriglia);
|
|
||||||
if (articolo == null){
|
|
||||||
articolo = mRepository.findArticoloByBarcodeAndGriglia(scan,idGriglia);
|
|
||||||
if (articolo==null){
|
|
||||||
String barcode= StringUtils.leftPad(scan,13,"0");
|
|
||||||
articolo = mRepository.findArticoloByBarcodeAndGriglia(barcode,idGriglia);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
onSuccess.run(articolo);
|
|
||||||
}catch (Exception e){
|
|
||||||
onFail.run(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,109 +1,24 @@
|
|||||||
package it.integry.integrywmsnative.core.data_store.db.repository;
|
package it.integry.integrywmsnative.core.data_store.db.repository;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.MainApplication;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloOrdineDao;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
|
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
|
||||||
public class ArticoliOrdineRepository extends Repository {
|
public interface ArticoliOrdineRepository {
|
||||||
|
|
||||||
ArticoloOrdineDao mRepository;
|
void saveArticoliToOrdine(List<ArticoloOrdine> articoli, Runnable onSuccess, RunnableArgs<Exception> onFail);
|
||||||
|
|
||||||
public ArticoliOrdineRepository() {
|
void saveArticoloToOrdine(ArticoloOrdine articolo, Runnable onSuccess, RunnableArgs<Exception> onFail);
|
||||||
this.mRepository = MainApplication.getArticoliOrdineRepository();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void saveArticoliToOrdine(List<ArticoloOrdine> articoli, Runnable onSuccess, RunnableArgs<Exception> onFail) {
|
void findArticoloByOrdineAndBarcode(Ordine ordine, String barcode, RunnableArgs<ArticoloOrdine> onSuccess, RunnableArgs<Exception> onFail);
|
||||||
execute(() -> {
|
|
||||||
try {
|
|
||||||
List<ArticoloOrdine> toUpdate = new ArrayList<>();
|
|
||||||
List<ArticoloOrdine> toInsert = new ArrayList<>();
|
|
||||||
for (ArticoloOrdine art : articoli) {
|
|
||||||
if (art.getArticoloOrdineId() > 0) {
|
|
||||||
toUpdate.add(art);
|
|
||||||
} else {
|
|
||||||
toInsert.add(art);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
mRepository.insertAll(toInsert);
|
|
||||||
mRepository.updateAll(toUpdate);
|
|
||||||
onSuccess.run();
|
|
||||||
|
|
||||||
|
void findArticoloByScanAndOrdine(Ordine ordine, String barcode, RunnableArgs<ArticoloOrdine> onSuccess, RunnableArgs<Exception> onFail);
|
||||||
|
|
||||||
} catch (Exception e) {
|
void findArticoliByOrdine(Ordine ordine, RunnableArgs<List<ArticoloOrdine>> onLoad, RunnableArgs<Exception> onError);
|
||||||
onFail.run(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
public void saveArticoloToOrdine(ArticoloOrdine articolo, Runnable onSuccess, RunnableArgs<Exception> onFail) {
|
|
||||||
execute(() -> {
|
|
||||||
try {
|
|
||||||
if (articolo.getArticoloOrdineId() > 0) {
|
|
||||||
mRepository.update(articolo);
|
|
||||||
} else {
|
|
||||||
mRepository.insert(articolo);
|
|
||||||
}
|
|
||||||
onSuccess.run();
|
|
||||||
} catch (Exception e) {
|
|
||||||
onFail.run(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public void findArticoloByOrdineAndBarcode(Ordine ordine, String barcode, RunnableArgs<ArticoloOrdine> onSuccess, RunnableArgs<Exception> onFail) {
|
void deleteArticolo(ArticoloOrdine articolo, Runnable onSave, RunnableArgs<Exception> onError);
|
||||||
execute(() -> {
|
|
||||||
try {
|
|
||||||
ArticoloOrdine articolo = mRepository.findArticoloByOrdineAndBarcode(ordine.getOrdineId(), barcode);
|
|
||||||
onSuccess.run(articolo);
|
|
||||||
} catch (Exception e) {
|
|
||||||
onFail.run(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
public void findArticoloByScanAndOrdine(Ordine ordine, String barcode, RunnableArgs<ArticoloOrdine> onSuccess, RunnableArgs<Exception> onFail) {
|
|
||||||
execute(() -> {
|
|
||||||
try {
|
|
||||||
String scannedCode = barcode;
|
|
||||||
ArticoloOrdine articolo = mRepository.findArticoloByCodMartAndOrdine(ordine.getOrdineId(), scannedCode);
|
|
||||||
if (articolo == null){
|
|
||||||
articolo = mRepository.findArticoloByBarcodeAndOrdine(ordine.getOrdineId(), scannedCode);
|
|
||||||
if (articolo == null){
|
|
||||||
scannedCode= StringUtils.leftPad(scannedCode,13,'0');
|
|
||||||
articolo = mRepository.findArticoloByBarcodeAndOrdine(ordine.getOrdineId(), scannedCode);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
onSuccess.run(articolo);
|
|
||||||
} catch (Exception e) {
|
|
||||||
onFail.run(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public void findArticoliByOrdine(Ordine ordine, RunnableArgs<List<ArticoloOrdine>> onLoad, RunnableArgs<Exception> onError) {
|
|
||||||
execute(() -> {
|
|
||||||
try {
|
|
||||||
onLoad.run(mRepository.findArticoliByOrdine(ordine.getOrdineId()));
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError.run(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public void deleteArticolo(ArticoloOrdine articolo, Runnable onSave, RunnableArgs<Exception> onError) {
|
|
||||||
execute(()->{
|
|
||||||
try{
|
|
||||||
mRepository.delete(articolo);
|
|
||||||
onSave.run();
|
|
||||||
}catch (Exception e){
|
|
||||||
onError.run(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,19 @@
|
|||||||
|
package it.integry.integrywmsnative.core.data_store.db.repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
|
||||||
|
public interface ArticoloGrigliaRepository {
|
||||||
|
|
||||||
|
void saveArticoliToGriglia(List<ArticoloGriglia> articoli, Griglia griglia, Runnable onSuccess, RunnableArgs<Exception> onFail);
|
||||||
|
|
||||||
|
void findArticoloByBarcodeAndGriglia(String barcode, int idGriglia, RunnableArgs<ArticoloGriglia> onSuccess, RunnableArgs<Exception> onFail);
|
||||||
|
|
||||||
|
void findArticoloByCodMartAndGriglia(String codMart, int idGriglia, RunnableArgs<ArticoloGriglia> onSuccess, RunnableArgs<Exception> onFail);
|
||||||
|
|
||||||
|
void findArticoloByScanAndGriglia(String scan, int idGriglia, RunnableArgs<ArticoloGriglia> onSuccess, RunnableArgs<Exception> onFail);
|
||||||
|
|
||||||
|
}
|
||||||
@ -2,66 +2,17 @@ package it.integry.integrywmsnative.core.data_store.db.repository;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.MainApplication;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.dao.GrigliaDao;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.wrappers.GrigliaWrapper;
|
import it.integry.integrywmsnative.core.data_store.db.wrappers.GrigliaWrapper;
|
||||||
import it.integry.integrywmsnative.core.expansion.BaseActivity;
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
|
||||||
public class GrigliaRepository extends Repository{
|
public interface GrigliaRepository {
|
||||||
|
|
||||||
private GrigliaDao mRepository;
|
void selectAll(RunnableArgs<List<Griglia>> onSuccess, RunnableArgs<Exception> onError);
|
||||||
|
|
||||||
public GrigliaRepository() {
|
void findByCodAlis(String codAlis , RunnableArgs<GrigliaWrapper> onSuccess, RunnableArgs<Exception> onError);
|
||||||
this.mRepository = MainApplication.getGrigliaRepository();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void selectAll(RunnableArgs<List<Griglia>> onSuccess, RunnableArgs<Exception> onError){
|
void saveGriglia(Griglia griglia, RunnableArgs<Integer> onSuccess,RunnableArgs<Exception> onFail);
|
||||||
Runnable query = ()->{
|
|
||||||
try{
|
|
||||||
onSuccess.run(mRepository.getAll());
|
|
||||||
}catch (Exception e){
|
|
||||||
onError.run(e);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
execute(query);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void findByCodAlis(String codAlis , RunnableArgs<GrigliaWrapper> onSuccess, RunnableArgs<Exception> onError){
|
void findGrigliaById(int idGriglia, RunnableArgs<Griglia> onLoad, RunnableArgs<Exception> onFail);
|
||||||
Runnable query = ()->{
|
|
||||||
try{
|
|
||||||
onSuccess.run(mRepository.findByCodAlis(codAlis));
|
|
||||||
}catch (Exception e){
|
|
||||||
onError.run(e);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
execute(query);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void saveGriglia(Griglia griglia, RunnableArgs<Integer> onSuccess,RunnableArgs<Exception> onFail) {
|
|
||||||
execute(()->{
|
|
||||||
try{
|
|
||||||
if (griglia.getGrigliaId() <= 0){
|
|
||||||
griglia.setGrigliaId((int) mRepository.insert(griglia));
|
|
||||||
}else{
|
|
||||||
mRepository.update(griglia);
|
|
||||||
}
|
|
||||||
onSuccess.run(griglia.getGrigliaId());
|
|
||||||
}catch (Exception e){
|
|
||||||
onFail.run(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public void findGrigliaById(int idGriglia, RunnableArgs<Griglia> onLoad, RunnableArgs<Exception> onFail) {
|
|
||||||
execute(()->{
|
|
||||||
try{
|
|
||||||
onLoad.run(mRepository.findGrigliaById(idGriglia));
|
|
||||||
}catch (Exception e){
|
|
||||||
onFail.run(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,86 +2,25 @@ package it.integry.integrywmsnative.core.data_store.db.repository;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.MainApplication;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.dao.OrdineDao;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia;
|
import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper;
|
import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
|
||||||
public class OrdineRepository extends Repository {
|
public interface OrdineRepository {
|
||||||
|
|
||||||
private OrdineDao mRepository;
|
void selectAll(RunnableArgs<List<Ordine>> onSuccess, RunnableArgs<Exception> onError);
|
||||||
|
|
||||||
public OrdineRepository() {
|
void selectAllTransmitted(RunnableArgs<List<OrdineWithGriglia>> onSuccess, RunnableArgs<Exception> onError);
|
||||||
this.mRepository = MainApplication.getOrdiniRepository();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void selectAll(RunnableArgs<List<Ordine>> onSuccess, RunnableArgs<Exception> onError) {
|
void selectAllOpenOrders(Griglia griglia, RunnableArgs<List<OrdineWrapper>> onSuccess, RunnableArgs<Exception> onError);
|
||||||
Runnable query = () -> {
|
|
||||||
try {
|
|
||||||
onSuccess.run(mRepository.getAll());
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError.run(e);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
execute(query);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void selectAllTransmitted(RunnableArgs<List<OrdineWithGriglia>> onSuccess, RunnableArgs<Exception> onError) {
|
void insert(Ordine ordine, RunnableArgs<Integer> onSuccess, RunnableArgs<Exception> onError);
|
||||||
Runnable query = () -> {
|
|
||||||
try {
|
|
||||||
onSuccess.run(mRepository.getAllTrasnmitted());
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError.run(e);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
execute(query);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void selectAllOpenOrders(Griglia griglia, RunnableArgs<List<OrdineWrapper>> onSuccess, RunnableArgs<Exception> onError) {
|
void updateOrder(Ordine ordine, RunnableArgs<Ordine> onSuccess, RunnableArgs<Exception> onError);
|
||||||
Runnable query = () -> {
|
|
||||||
try {
|
|
||||||
onSuccess.run(mRepository.getAllOpenOrdersByGriglia(griglia.getGrigliaId()));
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError.run(e);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
execute(query);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void insert(Ordine ordine, RunnableArgs<Integer> onSuccess, RunnableArgs<Exception> onError) {
|
void delete(Ordine ordine, Runnable onSuccess, RunnableArgs<Exception> onError);
|
||||||
execute(() -> {
|
|
||||||
try {
|
|
||||||
Long id = mRepository.insert(ordine);
|
|
||||||
onSuccess.run(id.intValue());
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError.run(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void updateOrder(Ordine ordine, RunnableArgs<Ordine> onSuccess, RunnableArgs<Exception> onError) {
|
|
||||||
execute(() -> {
|
|
||||||
try {
|
|
||||||
mRepository.update(ordine);
|
|
||||||
onSuccess.run(ordine);
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError.run(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public void delete(Ordine ordine, Runnable onSuccess, RunnableArgs<Exception> onError) {
|
|
||||||
execute(() -> {
|
|
||||||
try {
|
|
||||||
mRepository.delete(ordine);
|
|
||||||
onSuccess.run();
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError.run(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,92 @@
|
|||||||
|
package it.integry.integrywmsnative.core.data_store.db.repository.implementations;
|
||||||
|
|
||||||
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloGrigliaDao;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoloGrigliaRepository;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
|
||||||
|
public class ArticoliGrigliaDataSource extends Repository implements ArticoloGrigliaRepository {
|
||||||
|
|
||||||
|
private final ArticoloGrigliaDao mArticoloGrigliaDao;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public ArticoliGrigliaDataSource(ArticoloGrigliaDao articoloGrigliaDao) {
|
||||||
|
this.mArticoloGrigliaDao = articoloGrigliaDao;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void saveArticoliToGriglia(List<ArticoloGriglia> articoli, Griglia griglia, Runnable onSuccess, RunnableArgs<Exception> onFail) {
|
||||||
|
execute(() -> {
|
||||||
|
try {
|
||||||
|
List<ArticoloGriglia> toUpdate = new ArrayList<>();
|
||||||
|
List<ArticoloGriglia> toInsert = new ArrayList<>();
|
||||||
|
List<String> codMarts = new ArrayList<>();
|
||||||
|
for (ArticoloGriglia art : articoli) {
|
||||||
|
Integer id = mArticoloGrigliaDao.getIdArticoloByGrigliaAndBarcodeAndCodMart(griglia.getGrigliaId(), art.getBarCode(), art.getCodMart());
|
||||||
|
codMarts.add(art.getCodMart());
|
||||||
|
if (id != null) {
|
||||||
|
art.setArticoloGrigliaId(id);
|
||||||
|
toUpdate.add(art);
|
||||||
|
} else {
|
||||||
|
toInsert.add(art);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mArticoloGrigliaDao.insertAll(toInsert);
|
||||||
|
mArticoloGrigliaDao.updateAll(toUpdate);
|
||||||
|
List<ArticoloGriglia> articoliGriglia = mArticoloGrigliaDao.getArticoliFromGriglia(griglia.getGrigliaId());
|
||||||
|
List<ArticoloGriglia> toDelete = Stream.of(articoliGriglia).filter(articolo -> !codMarts.contains(articolo.getCodMart())).toList();
|
||||||
|
mArticoloGrigliaDao.deleteList(toDelete);
|
||||||
|
onSuccess.run();
|
||||||
|
} catch (Exception e) {
|
||||||
|
onFail.run(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void findArticoloByBarcodeAndGriglia(String barcode, int idGriglia, RunnableArgs<ArticoloGriglia> onSuccess, RunnableArgs<Exception> onFail) {
|
||||||
|
execute(() -> {
|
||||||
|
try {
|
||||||
|
onSuccess.run(mArticoloGrigliaDao.findArticoloByBarcodeAndGriglia(barcode, idGriglia));
|
||||||
|
} catch (Exception e) {
|
||||||
|
onFail.run(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void findArticoloByCodMartAndGriglia(String codMart, int idGriglia, RunnableArgs<ArticoloGriglia> onSuccess, RunnableArgs<Exception> onFail) {
|
||||||
|
execute(() -> {
|
||||||
|
try {
|
||||||
|
onSuccess.run(mArticoloGrigliaDao.findArticoloByCodMartAndGriglia(codMart, idGriglia));
|
||||||
|
} catch (Exception e) {
|
||||||
|
onFail.run(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void findArticoloByScanAndGriglia(String scan, int idGriglia, RunnableArgs<ArticoloGriglia> onSuccess, RunnableArgs<Exception> onFail) {
|
||||||
|
execute(() -> {
|
||||||
|
try {
|
||||||
|
ArticoloGriglia articolo = mArticoloGrigliaDao.findArticoloByCodMartAndGriglia(scan, idGriglia);
|
||||||
|
if (articolo == null) {
|
||||||
|
articolo = mArticoloGrigliaDao.findArticoloByBarcodeAndGriglia(scan, idGriglia);
|
||||||
|
if (articolo == null) {
|
||||||
|
String barcode = StringUtils.leftPad(scan, 13, "0");
|
||||||
|
articolo = mArticoloGrigliaDao.findArticoloByBarcodeAndGriglia(barcode, idGriglia);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onSuccess.run(articolo);
|
||||||
|
} catch (Exception e) {
|
||||||
|
onFail.run(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,114 @@
|
|||||||
|
package it.integry.integrywmsnative.core.data_store.db.repository.implementations;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloOrdineDao;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
|
||||||
|
public class ArticoliOrdineDataSource extends Repository implements ArticoliOrdineRepository {
|
||||||
|
|
||||||
|
private final ArticoloOrdineDao mArticoloOrdineDao;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public ArticoliOrdineDataSource(ArticoloOrdineDao articoloOrdineDao) {
|
||||||
|
this.mArticoloOrdineDao = articoloOrdineDao;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void saveArticoliToOrdine(List<ArticoloOrdine> articoli, Runnable onSuccess, RunnableArgs<Exception> onFail) {
|
||||||
|
execute(() -> {
|
||||||
|
try {
|
||||||
|
List<ArticoloOrdine> toUpdate = new ArrayList<>();
|
||||||
|
List<ArticoloOrdine> toInsert = new ArrayList<>();
|
||||||
|
for (ArticoloOrdine art : articoli) {
|
||||||
|
if (art.getArticoloOrdineId() > 0) {
|
||||||
|
toUpdate.add(art);
|
||||||
|
} else {
|
||||||
|
toInsert.add(art);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mArticoloOrdineDao.insertAll(toInsert);
|
||||||
|
mArticoloOrdineDao.updateAll(toUpdate);
|
||||||
|
onSuccess.run();
|
||||||
|
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
onFail.run(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void saveArticoloToOrdine(ArticoloOrdine articolo, Runnable onSuccess, RunnableArgs<Exception> onFail) {
|
||||||
|
execute(() -> {
|
||||||
|
try {
|
||||||
|
if (articolo.getArticoloOrdineId() > 0) {
|
||||||
|
mArticoloOrdineDao.update(articolo);
|
||||||
|
} else {
|
||||||
|
mArticoloOrdineDao.insert(articolo);
|
||||||
|
}
|
||||||
|
onSuccess.run();
|
||||||
|
} catch (Exception e) {
|
||||||
|
onFail.run(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void findArticoloByOrdineAndBarcode(Ordine ordine, String barcode, RunnableArgs<ArticoloOrdine> onSuccess, RunnableArgs<Exception> onFail) {
|
||||||
|
execute(() -> {
|
||||||
|
try {
|
||||||
|
ArticoloOrdine articolo = mArticoloOrdineDao.findArticoloByOrdineAndBarcode(ordine.getOrdineId(), barcode);
|
||||||
|
onSuccess.run(articolo);
|
||||||
|
} catch (Exception e) {
|
||||||
|
onFail.run(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void findArticoloByScanAndOrdine(Ordine ordine, String barcode, RunnableArgs<ArticoloOrdine> onSuccess, RunnableArgs<Exception> onFail) {
|
||||||
|
execute(() -> {
|
||||||
|
try {
|
||||||
|
String scannedCode = barcode;
|
||||||
|
ArticoloOrdine articolo = mArticoloOrdineDao.findArticoloByCodMartAndOrdine(ordine.getOrdineId(), scannedCode);
|
||||||
|
if (articolo == null) {
|
||||||
|
articolo = mArticoloOrdineDao.findArticoloByBarcodeAndOrdine(ordine.getOrdineId(), scannedCode);
|
||||||
|
if (articolo == null) {
|
||||||
|
scannedCode = StringUtils.leftPad(scannedCode, 13, '0');
|
||||||
|
articolo = mArticoloOrdineDao.findArticoloByBarcodeAndOrdine(ordine.getOrdineId(), scannedCode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onSuccess.run(articolo);
|
||||||
|
} catch (Exception e) {
|
||||||
|
onFail.run(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void findArticoliByOrdine(Ordine ordine, RunnableArgs<List<ArticoloOrdine>> onLoad, RunnableArgs<Exception> onError) {
|
||||||
|
execute(() -> {
|
||||||
|
try {
|
||||||
|
onLoad.run(mArticoloOrdineDao.findArticoliByOrdine(ordine.getOrdineId()));
|
||||||
|
} catch (Exception e) {
|
||||||
|
onError.run(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteArticolo(ArticoloOrdine articolo, Runnable onSave, RunnableArgs<Exception> onError) {
|
||||||
|
execute(() -> {
|
||||||
|
try {
|
||||||
|
mArticoloOrdineDao.delete(articolo);
|
||||||
|
onSave.run();
|
||||||
|
} catch (Exception e) {
|
||||||
|
onError.run(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,69 @@
|
|||||||
|
package it.integry.integrywmsnative.core.data_store.db.repository.implementations;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.dao.GrigliaDao;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.wrappers.GrigliaWrapper;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
|
||||||
|
public class GrigliaDataSource extends Repository implements GrigliaRepository {
|
||||||
|
|
||||||
|
private final GrigliaDao mGrigliaDao;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public GrigliaDataSource(GrigliaDao grigliaDao) {
|
||||||
|
this.mGrigliaDao = grigliaDao;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void selectAll(RunnableArgs<List<Griglia>> onSuccess, RunnableArgs<Exception> onError) {
|
||||||
|
Runnable query = () -> {
|
||||||
|
try {
|
||||||
|
onSuccess.run(mGrigliaDao.getAll());
|
||||||
|
} catch (Exception e) {
|
||||||
|
onError.run(e);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
execute(query);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void findByCodAlis(String codAlis, RunnableArgs<GrigliaWrapper> onSuccess, RunnableArgs<Exception> onError) {
|
||||||
|
Runnable query = () -> {
|
||||||
|
try {
|
||||||
|
onSuccess.run(mGrigliaDao.findByCodAlis(codAlis));
|
||||||
|
} catch (Exception e) {
|
||||||
|
onError.run(e);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
execute(query);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void saveGriglia(Griglia griglia, RunnableArgs<Integer> onSuccess, RunnableArgs<Exception> onFail) {
|
||||||
|
execute(() -> {
|
||||||
|
try {
|
||||||
|
if (griglia.getGrigliaId() <= 0) {
|
||||||
|
griglia.setGrigliaId((int) mGrigliaDao.insert(griglia));
|
||||||
|
} else {
|
||||||
|
mGrigliaDao.update(griglia);
|
||||||
|
}
|
||||||
|
onSuccess.run(griglia.getGrigliaId());
|
||||||
|
} catch (Exception e) {
|
||||||
|
onFail.run(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void findGrigliaById(int idGriglia, RunnableArgs<Griglia> onLoad, RunnableArgs<Exception> onFail) {
|
||||||
|
execute(() -> {
|
||||||
|
try {
|
||||||
|
onLoad.run(mGrigliaDao.findGrigliaById(idGriglia));
|
||||||
|
} catch (Exception e) {
|
||||||
|
onFail.run(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,90 @@
|
|||||||
|
package it.integry.integrywmsnative.core.data_store.db.repository.implementations;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.dao.OrdineDao;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
|
||||||
|
public class OrdineDataSource extends Repository implements OrdineRepository {
|
||||||
|
|
||||||
|
private OrdineDao mOrdineDao;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public OrdineDataSource(OrdineDao ordineDao) {
|
||||||
|
this.mOrdineDao = ordineDao;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void selectAll(RunnableArgs<List<Ordine>> onSuccess, RunnableArgs<Exception> onError) {
|
||||||
|
Runnable query = () -> {
|
||||||
|
try {
|
||||||
|
onSuccess.run(mOrdineDao.getAll());
|
||||||
|
} catch (Exception e) {
|
||||||
|
onError.run(e);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
execute(query);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void selectAllTransmitted(RunnableArgs<List<OrdineWithGriglia>> onSuccess, RunnableArgs<Exception> onError) {
|
||||||
|
Runnable query = () -> {
|
||||||
|
try {
|
||||||
|
onSuccess.run(mOrdineDao.getAllTrasnmitted());
|
||||||
|
} catch (Exception e) {
|
||||||
|
onError.run(e);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
execute(query);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void selectAllOpenOrders(Griglia griglia, RunnableArgs<List<OrdineWrapper>> onSuccess, RunnableArgs<Exception> onError) {
|
||||||
|
Runnable query = () -> {
|
||||||
|
try {
|
||||||
|
onSuccess.run(mOrdineDao.getAllOpenOrdersByGriglia(griglia.getGrigliaId()));
|
||||||
|
} catch (Exception e) {
|
||||||
|
onError.run(e);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
execute(query);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void insert(Ordine ordine, RunnableArgs<Integer> onSuccess, RunnableArgs<Exception> onError) {
|
||||||
|
execute(() -> {
|
||||||
|
try {
|
||||||
|
Long id = mOrdineDao.insert(ordine);
|
||||||
|
onSuccess.run(id.intValue());
|
||||||
|
} catch (Exception e) {
|
||||||
|
onError.run(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void updateOrder(Ordine ordine, RunnableArgs<Ordine> onSuccess, RunnableArgs<Exception> onError) {
|
||||||
|
execute(() -> {
|
||||||
|
try {
|
||||||
|
mOrdineDao.update(ordine);
|
||||||
|
onSuccess.run(ordine);
|
||||||
|
} catch (Exception e) {
|
||||||
|
onError.run(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void delete(Ordine ordine, Runnable onSuccess, RunnableArgs<Exception> onError) {
|
||||||
|
execute(() -> {
|
||||||
|
try {
|
||||||
|
mOrdineDao.delete(ordine);
|
||||||
|
onSuccess.run();
|
||||||
|
} catch (Exception e) {
|
||||||
|
onError.run(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package it.integry.integrywmsnative.core.data_store.db.repository;
|
package it.integry.integrywmsnative.core.data_store.db.repository.implementations;
|
||||||
|
|
||||||
public class Repository {
|
public class Repository {
|
||||||
|
|
||||||
@ -8,20 +8,18 @@ import java.math.BigDecimal;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
|
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloDTO;
|
import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloDTO;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.view_model.GrigliaDTO;
|
import it.integry.integrywmsnative.core.data_store.db.view_model.GrigliaDTO;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.model.DtbOrdt;
|
import it.integry.integrywmsnative.core.model.DtbOrdt;
|
||||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityThread;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dto.ArtDTO;
|
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dto.ArtDTO;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dto.OrdineDTO;
|
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dto.OrdineDTO;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dto.SaveDTO;
|
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dto.SaveDTO;
|
||||||
@ -41,6 +39,7 @@ public class PVOrdiniAcquistoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
public void onResponse(Call<ServiceRESTResponse<GrigliaDTO>> call, Response<ServiceRESTResponse<GrigliaDTO>> response) {
|
public void onResponse(Call<ServiceRESTResponse<GrigliaDTO>> call, Response<ServiceRESTResponse<GrigliaDTO>> response) {
|
||||||
analyzeAnswer(response, "getArticoliListino", griglia -> {
|
analyzeAnswer(response, "getArticoliListino", griglia -> {
|
||||||
|
|
||||||
|
UtilityThread.executeParallel(() -> {
|
||||||
List<ArticoloDTO> listaArticoli = new ArrayList<>();
|
List<ArticoloDTO> listaArticoli = new ArrayList<>();
|
||||||
Stream.of(griglia.getGrigliaAcquistiChild())
|
Stream.of(griglia.getGrigliaAcquistiChild())
|
||||||
.map(ArticoloDTO::getCodMart)
|
.map(ArticoloDTO::getCodMart)
|
||||||
@ -60,6 +59,7 @@ public class PVOrdiniAcquistoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
});
|
});
|
||||||
griglia.setGrigliaAcquistiChild(listaArticoli);
|
griglia.setGrigliaAcquistiChild(listaArticoli);
|
||||||
onSuccess.run(griglia);
|
onSuccess.run(griglia);
|
||||||
|
});
|
||||||
}, onFailed);
|
}, onFailed);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,8 +106,7 @@ public class PVOrdiniAcquistoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
ordine.setDataOrdS(dto.getDataOrd());
|
ordine.setDataOrdS(dto.getDataOrd());
|
||||||
ordine.setCodMdep(dto.getCodMdep());
|
ordine.setCodMdep(dto.getCodMdep());
|
||||||
ordine.setNumOrd(dto.getNumOrd());
|
ordine.setNumOrd(dto.getNumOrd());
|
||||||
OrdineRepository repository = new OrdineRepository();
|
onSuccess.run(ordine);
|
||||||
repository.updateOrder(ordine,onSuccess,onFailed);
|
|
||||||
}else{
|
}else{
|
||||||
onFailed.run(new Exception("Nessun ordine generato"));
|
onFailed.run(new Exception("Nessun ordine generato"));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,15 @@
|
|||||||
package it.integry.integrywmsnative.core.utility;
|
package it.integry.integrywmsnative.core.utility;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.MainApplication;
|
import it.integry.integrywmsnative.core.data_store.db.AppDatabase;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsModel;
|
|
||||||
|
|
||||||
public class UtilitySettings {
|
public class UtilitySettings {
|
||||||
|
|
||||||
|
|
||||||
public static void logout(){
|
public static void logout(AppDatabase appDatabase){
|
||||||
SettingsManager.i().user = null;
|
SettingsManager.i().user = null;
|
||||||
SettingsManager.i().userSession = null;
|
SettingsManager.i().userSession = null;
|
||||||
MainApplication.clearDB();
|
UtilityThread.executeParallel(appDatabase::clearAllTables);
|
||||||
SettingsManager.update();
|
SettingsManager.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,9 @@
|
|||||||
|
package it.integry.integrywmsnative.core.utility;
|
||||||
|
|
||||||
|
public class UtilityThread {
|
||||||
|
|
||||||
|
public static void executeParallel(Runnable runnable) {
|
||||||
|
new Thread(runnable).start();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,13 +1,15 @@
|
|||||||
package it.integry.integrywmsnative.gest.picking_libero;
|
package it.integry.integrywmsnative.gest.picking_libero;
|
||||||
|
|
||||||
import javax.inject.Singleton;
|
import dagger.Subcomponent;
|
||||||
|
|
||||||
import dagger.Component;
|
@Subcomponent
|
||||||
import it.integry.integrywmsnative.MainApplicationComponent;
|
|
||||||
|
|
||||||
@Singleton
|
|
||||||
@Component(modules = {PickingLiberoModule.class}, dependencies = {MainApplicationComponent.class})
|
|
||||||
public interface PickingLiberoComponent {
|
public interface PickingLiberoComponent {
|
||||||
|
|
||||||
|
@Subcomponent.Factory
|
||||||
|
interface Factory {
|
||||||
|
|
||||||
|
PickingLiberoComponent create();
|
||||||
|
}
|
||||||
|
|
||||||
void inject(PickingLiberoFragment pickingLiberoFragment);
|
void inject(PickingLiberoFragment pickingLiberoFragment);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -112,12 +112,10 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
|
|||||||
// Inflate the layout for this fragment
|
// Inflate the layout for this fragment
|
||||||
mBindings = DataBindingUtil.inflate(inflater, R.layout.fragment_picking_libero, container, false);
|
mBindings = DataBindingUtil.inflate(inflater, R.layout.fragment_picking_libero, container, false);
|
||||||
|
|
||||||
PickingLiberoComponent pickingLiberoComponent = DaggerPickingLiberoComponent.builder()
|
MainApplication.appComponent
|
||||||
.mainApplicationModule(MainApplication.appModule)
|
.pickingLiberoComponent()
|
||||||
.mainApplicationComponent(MainApplication.appComponent)
|
.create()
|
||||||
.build();
|
.inject(this);
|
||||||
|
|
||||||
pickingLiberoComponent.inject(this);
|
|
||||||
|
|
||||||
mViewModel.setListener(this);
|
mViewModel.setListener(this);
|
||||||
|
|
||||||
|
|||||||
@ -4,13 +4,12 @@ import javax.inject.Singleton;
|
|||||||
|
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import it.integry.integrywmsnative.MainApplicationModule;
|
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||||
|
|
||||||
@Module(includes = {MainApplicationModule.class})
|
@Module(subcomponents = {PickingLiberoComponent.class})
|
||||||
public class PickingLiberoModule {
|
public class PickingLiberoModule {
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
|
|||||||
@ -15,7 +15,10 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||||
|
import it.integry.integrywmsnative.MainApplication;
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
@ -23,6 +26,10 @@ import it.integry.integrywmsnative.core.data_cache.DataCache;
|
|||||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
|
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoloGrigliaRepository;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository;
|
||||||
import it.integry.integrywmsnative.core.expansion.BaseActivity;
|
import it.integry.integrywmsnative.core.expansion.BaseActivity;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.PVOrdiniAcquistoRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.PVOrdiniAcquistoRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
@ -30,10 +37,10 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
|||||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
import it.integry.integrywmsnative.databinding.ActivityPvOrdineAcquistoEditBinding;
|
import it.integry.integrywmsnative.databinding.ActivityPvOrdineAcquistoEditBinding;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.adapter.OrdineAcquistoArtListAdapter;
|
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.adapter.OrdineAcquistoArtListAdapter;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogAskAction;
|
|
||||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.EditArticoloDialog;
|
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.EditArticoloDialog;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.helper.PVEditOrderHelper;
|
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.helper.PVEditOrderHelper;
|
||||||
import it.integry.integrywmsnative.ui.FabMenuCustomAnimations;
|
import it.integry.integrywmsnative.ui.FabMenuCustomAnimations;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.DialogAskAction;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||||
|
|
||||||
@ -47,11 +54,27 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity {
|
|||||||
private int mBarcodeScannerIstanceID;
|
private int mBarcodeScannerIstanceID;
|
||||||
private OrdineAcquistoArtListAdapter mAdapter;
|
private OrdineAcquistoArtListAdapter mAdapter;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
OrdineRepository mOrdineRepository;
|
||||||
|
@Inject
|
||||||
|
GrigliaRepository mGrigliaRepository;
|
||||||
|
@Inject
|
||||||
|
ArticoliOrdineRepository mArticoliOrdineRepository;
|
||||||
|
@Inject
|
||||||
|
ArticoloGrigliaRepository mArticoloGrigliaRepository;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
mhelper = new PVEditOrderHelper(this);
|
MainApplication.appComponent
|
||||||
|
.pvOrdineAcquistoEditComponent()
|
||||||
|
.create()
|
||||||
|
.inject(this);
|
||||||
|
|
||||||
|
mhelper = new PVEditOrderHelper(mGrigliaRepository, mArticoliOrdineRepository, mArticoloGrigliaRepository);
|
||||||
|
|
||||||
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_pv_ordine_acquisto_edit);
|
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_pv_ordine_acquisto_edit);
|
||||||
mBinding.setViewModel(this);
|
mBinding.setViewModel(this);
|
||||||
mOrdine = DataCache.retrieveItem(getIntent().getStringExtra("keyOrdine"));
|
mOrdine = DataCache.retrieveItem(getIntent().getStringExtra("keyOrdine"));
|
||||||
@ -152,7 +175,7 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void addArticolo(ArticoloOrdine articoloOrdine) {
|
private void addArticolo(ArticoloOrdine articoloOrdine) {
|
||||||
runOnUiThread(() -> EditArticoloDialog.make(this, articoloOrdine, articolo -> {
|
runOnUiThread(() -> EditArticoloDialog.make(this, mhelper, articoloOrdine, articolo -> {
|
||||||
BarcodeManager.enable();
|
BarcodeManager.enable();
|
||||||
if (articolo != null) {
|
if (articolo != null) {
|
||||||
Toast.makeText(this, "Articolo aggiunto all'ordine!", Toast.LENGTH_SHORT).show();
|
Toast.makeText(this, "Articolo aggiunto all'ordine!", Toast.LENGTH_SHORT).show();
|
||||||
@ -197,6 +220,8 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity {
|
|||||||
public void exportOrdine() {
|
public void exportOrdine() {
|
||||||
final Dialog progress = UtilityProgress.createDefaultProgressDialog(this);
|
final Dialog progress = UtilityProgress.createDefaultProgressDialog(this);
|
||||||
PVOrdiniAcquistoRESTConsumer.saveOrdine(mOrdine, mArticoli, mGriglia, (ordine) -> {
|
PVOrdiniAcquistoRESTConsumer.saveOrdine(mOrdine, mArticoli, mGriglia, (ordine) -> {
|
||||||
|
|
||||||
|
mOrdineRepository.updateOrder(ordine, ord -> {
|
||||||
progress.dismiss();
|
progress.dismiss();
|
||||||
runOnUiThread(() -> {
|
runOnUiThread(() -> {
|
||||||
Toast.makeText(this, "Ordine salvato con successo", Toast.LENGTH_SHORT).show();
|
Toast.makeText(this, "Ordine salvato con successo", Toast.LENGTH_SHORT).show();
|
||||||
@ -206,6 +231,11 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity {
|
|||||||
progress.dismiss();
|
progress.dismiss();
|
||||||
UtilityExceptions.defaultException(this, e);
|
UtilityExceptions.defaultException(this, e);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
}, e -> runOnUiThread(() -> {
|
||||||
|
progress.dismiss();
|
||||||
|
UtilityExceptions.defaultException(this, e);
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -0,0 +1,15 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit;
|
||||||
|
|
||||||
|
import dagger.Subcomponent;
|
||||||
|
|
||||||
|
@Subcomponent
|
||||||
|
public interface PVOrdineAcquistoEditComponent {
|
||||||
|
|
||||||
|
@Subcomponent.Factory
|
||||||
|
interface Factory {
|
||||||
|
|
||||||
|
PVOrdineAcquistoEditComponent create();
|
||||||
|
}
|
||||||
|
|
||||||
|
void inject(PVOrdineAcquistoEditActivity pvOrdineAcquistoEditActivity);
|
||||||
|
}
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit;
|
||||||
|
|
||||||
|
import dagger.Module;
|
||||||
|
|
||||||
|
@Module(subcomponents = PVOrdineAcquistoEditComponent.class)
|
||||||
|
public class PVOrdineAcquistoEditModule {
|
||||||
|
}
|
||||||
@ -37,10 +37,17 @@ public class EditArticoloDialog {
|
|||||||
|
|
||||||
private boolean mLockedInput = false;
|
private boolean mLockedInput = false;
|
||||||
|
|
||||||
private EditArticoloDialog(Activity context, ArticoloOrdine articolo, RunnableArgs<ArticoloOrdine> onDialogDismiss) {
|
|
||||||
|
public static Dialog make(Activity context, PVEditOrderHelper helper, ArticoloOrdine articolo, RunnableArgs<ArticoloOrdine> onDialogDismiss) {
|
||||||
|
return new EditArticoloDialog(context, helper, articolo, onDialogDismiss).mDialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private EditArticoloDialog(Activity context, PVEditOrderHelper helper, ArticoloOrdine articolo, RunnableArgs<ArticoloOrdine> onDialogDismiss) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mArticolo = articolo;
|
mArticolo = articolo;
|
||||||
mHelper = new PVEditOrderHelper(context);
|
mHelper = helper;
|
||||||
|
|
||||||
mSavedArt = null;
|
mSavedArt = null;
|
||||||
|
|
||||||
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||||
@ -52,11 +59,11 @@ public class EditArticoloDialog {
|
|||||||
UtilityDialog.setTo90PercentWidth(mContext, mDialog);
|
UtilityDialog.setTo90PercentWidth(mContext, mDialog);
|
||||||
mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||||
|
|
||||||
int qtaCnf = (int)Math.ceil(mArticolo.getQtaOrd() / mArticolo.getQtaCnf());
|
int qtaCnf = (int) Math.ceil(mArticolo.getQtaOrd() / mArticolo.getQtaCnf());
|
||||||
mBinding.qtaTot.setText(String.valueOf(mArticolo.getQtaOrd()));
|
mBinding.qtaTot.setText(String.valueOf(mArticolo.getQtaOrd()));
|
||||||
mBinding.qtaCnf.setText(String.valueOf(qtaCnf));
|
mBinding.qtaCnf.setText(String.valueOf(qtaCnf));
|
||||||
mDialog.setOnShowListener(dialog -> {
|
mDialog.setOnShowListener(dialog -> {
|
||||||
UtilityFocus.focusTextBox(mContext,mBinding.qtaTot);
|
UtilityFocus.focusTextBox(mContext, mBinding.qtaTot);
|
||||||
});
|
});
|
||||||
|
|
||||||
mDialog.setOnDismissListener(dialog -> {
|
mDialog.setOnDismissListener(dialog -> {
|
||||||
@ -74,7 +81,7 @@ public class EditArticoloDialog {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
setQtaOrd(s.toString().length() >0 ? Float.parseFloat(s.toString()) : 0);
|
setQtaOrd(s.toString().length() > 0 ? Float.parseFloat(s.toString()) : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -89,7 +96,7 @@ public class EditArticoloDialog {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||||
setQtaCnf(s.toString().length() >0 ? Integer.parseInt(s.toString()) : 0);
|
setQtaCnf(s.toString().length() > 0 ? Integer.parseInt(s.toString()) : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -98,49 +105,47 @@ public class EditArticoloDialog {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
public void setQtaCnf(int qtaCnf){
|
|
||||||
if (mLockedInput){
|
public void setQtaCnf(int qtaCnf) {
|
||||||
|
if (mLockedInput) {
|
||||||
mLockedInput = false;
|
mLockedInput = false;
|
||||||
}else{
|
} else {
|
||||||
mLockedInput = true;
|
mLockedInput = true;
|
||||||
|
|
||||||
float qtaTot = qtaCnf * mArticolo.getQtaCnf();
|
float qtaTot = qtaCnf * mArticolo.getQtaCnf();
|
||||||
mBinding.qtaTot.setText(String.valueOf(qtaTot));
|
mBinding.qtaTot.setText(String.valueOf(qtaTot));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void setQtaOrd(float qtaOrd){
|
|
||||||
|
public void setQtaOrd(float qtaOrd) {
|
||||||
mArticolo.setQtaOrd(qtaOrd);
|
mArticolo.setQtaOrd(qtaOrd);
|
||||||
if (mLockedInput){
|
if (mLockedInput) {
|
||||||
mLockedInput = false;
|
mLockedInput = false;
|
||||||
}else{
|
} else {
|
||||||
mLockedInput = true;
|
mLockedInput = true;
|
||||||
mBinding.qtaCnf.setText(String.valueOf((int)Math.ceil(qtaOrd / mArticolo.getQtaCnf())));
|
mBinding.qtaCnf.setText(String.valueOf((int) Math.ceil(qtaOrd / mArticolo.getQtaCnf())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Dialog make(Activity context, ArticoloOrdine articolo, RunnableArgs<ArticoloOrdine> onDialogDismiss) {
|
public void saveAndExit() {
|
||||||
return new EditArticoloDialog(context, articolo, onDialogDismiss).mDialog;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void saveAndExit(){
|
|
||||||
final Dialog progress = UtilityProgress.createDefaultProgressDialog(mContext);
|
final Dialog progress = UtilityProgress.createDefaultProgressDialog(mContext);
|
||||||
try{
|
try {
|
||||||
float qtaOrd = Float.parseFloat(mBinding.qtaTot.getText().toString());
|
float qtaOrd = Float.parseFloat(mBinding.qtaTot.getText().toString());
|
||||||
if (qtaOrd <= 0){
|
if (qtaOrd <= 0) {
|
||||||
throw new Exception("La quantità ordinata deve essere maggiore di 0");
|
throw new Exception("La quantità ordinata deve essere maggiore di 0");
|
||||||
}
|
}
|
||||||
mArticolo.setQtaOrd(qtaOrd);
|
mArticolo.setQtaOrd(qtaOrd);
|
||||||
|
|
||||||
}catch (Exception e){
|
} catch (Exception e) {
|
||||||
mContext.runOnUiThread(()-> UtilityExceptions.defaultException(mContext,e));
|
mContext.runOnUiThread(() -> UtilityExceptions.defaultException(mContext, e));
|
||||||
progress.dismiss();
|
progress.dismiss();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mHelper.saveArticoloToOrdine(mArticolo, ()->{
|
mHelper.saveArticoloToOrdine(mArticolo, () -> {
|
||||||
mSavedArt = mArticolo;
|
mSavedArt = mArticolo;
|
||||||
progress.dismiss();
|
progress.dismiss();
|
||||||
mDialog.dismiss();
|
mDialog.dismiss();
|
||||||
},e-> mContext.runOnUiThread(()-> UtilityExceptions.defaultException(mContext,e)));
|
}, e -> mContext.runOnUiThread(() -> UtilityExceptions.defaultException(mContext, e)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArticoloOrdine getArticolo() {
|
public ArticoloOrdine getArticolo() {
|
||||||
|
|||||||
@ -1,29 +1,24 @@
|
|||||||
package it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.helper;
|
package it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.helper;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
|
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliGrigliaRepository;
|
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoloGrigliaRepository;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository;
|
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository;
|
import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.PVOrdiniAcquistoRESTConsumer;
|
|
||||||
|
|
||||||
public class PVEditOrderHelper {
|
public class PVEditOrderHelper {
|
||||||
private Context mContext;
|
private final GrigliaRepository mGrigliaRepository;
|
||||||
private GrigliaRepository mGrigliaRepository;
|
private final ArticoliOrdineRepository mArticoliOrdineRepository;
|
||||||
private ArticoliOrdineRepository mArticoliOrdineRepository;
|
private final ArticoloGrigliaRepository mArticoliGrigliaRepository;
|
||||||
private ArticoliGrigliaRepository mArticoliGrigliaRepository;
|
|
||||||
|
|
||||||
public PVEditOrderHelper(Context mContext) {
|
public PVEditOrderHelper(GrigliaRepository grigliaRepository, ArticoliOrdineRepository articoliOrdineRepository, ArticoloGrigliaRepository articoloGrigliaRepository) {
|
||||||
this.mContext = mContext;
|
mGrigliaRepository = grigliaRepository;
|
||||||
mGrigliaRepository = new GrigliaRepository();
|
mArticoliOrdineRepository = articoliOrdineRepository;
|
||||||
mArticoliOrdineRepository = new ArticoliOrdineRepository();
|
mArticoliGrigliaRepository = articoloGrigliaRepository;
|
||||||
mArticoliGrigliaRepository = new ArticoliGrigliaRepository();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void checkArticolo(Ordine ordine, String barcode, RunnableArgs<ArticoloOrdine> onSuccess, RunnableArgs<Exception> onFail) {
|
public void checkArticolo(Ordine ordine, String barcode, RunnableArgs<ArticoloOrdine> onSuccess, RunnableArgs<Exception> onFail) {
|
||||||
|
|||||||
@ -0,0 +1,16 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.pv_ordini_acquisto;
|
||||||
|
|
||||||
|
import dagger.Subcomponent;
|
||||||
|
|
||||||
|
@Subcomponent
|
||||||
|
public interface PVOrdineAcquistoGrigliaComponent {
|
||||||
|
|
||||||
|
@Subcomponent.Factory
|
||||||
|
interface Factory {
|
||||||
|
|
||||||
|
PVOrdineAcquistoGrigliaComponent create();
|
||||||
|
}
|
||||||
|
|
||||||
|
void inject(PVOrdiniAcquistoGrigliaFragment pvOrdiniAcquistoGrigliaFragment);
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.pv_ordini_acquisto;
|
||||||
|
|
||||||
|
import dagger.Module;
|
||||||
|
|
||||||
|
@Module(subcomponents = PVOrdineAcquistoGrigliaComponent.class)
|
||||||
|
public class PVOrdineAcquistoGrigliaModule {
|
||||||
|
}
|
||||||
@ -21,15 +21,19 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.MainApplication;
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
import it.integry.integrywmsnative.core.data_cache.DataCache;
|
import it.integry.integrywmsnative.core.data_cache.DataCache;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoloGrigliaRepository;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository;
|
import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper;
|
import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
|
||||||
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
|
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
|
||||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||||
@ -37,10 +41,10 @@ import it.integry.integrywmsnative.core.utility.UtilityDate;
|
|||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
import it.integry.integrywmsnative.databinding.FragmentPvOrdiniAcquistoBinding;
|
import it.integry.integrywmsnative.databinding.FragmentPvOrdiniAcquistoBinding;
|
||||||
|
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.core.OrdineAcquistoPvOpenListAdapter;
|
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.core.OrdineAcquistoPvOpenListAdapter;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.dialogs.DialogScanLisA;
|
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.dialogs.DialogScanLisA;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.helper.OrdineAcquistoPvHelper;
|
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.helper.OrdineAcquistoPvHelper;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity;
|
|
||||||
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogAskAction;
|
import it.integry.integrywmsnative.view.dialogs.DialogAskAction;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||||
@ -54,9 +58,24 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
|
|||||||
private List<OrdineWrapper> mRenderedOrderList = new ArrayList<>();
|
private List<OrdineWrapper> mRenderedOrderList = new ArrayList<>();
|
||||||
private boolean mRedirectToNewOrder = true;
|
private boolean mRedirectToNewOrder = true;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
GrigliaRepository mGrigliaRepository;
|
||||||
|
@Inject
|
||||||
|
ArticoliOrdineRepository mArticoliOrdineRepository;
|
||||||
|
@Inject
|
||||||
|
ArticoloGrigliaRepository mArticoloGrigliaRepository;
|
||||||
|
@Inject
|
||||||
|
OrdineRepository mOrdineRepository;
|
||||||
|
|
||||||
public PVOrdiniAcquistoGrigliaFragment() {
|
public PVOrdiniAcquistoGrigliaFragment() {
|
||||||
mHelper = new OrdineAcquistoPvHelper(getActivity());
|
// Gets appComponent from MyApplication available in the base Gradle module
|
||||||
|
MainApplication.appComponent
|
||||||
|
.pvOrdineAcquistoGrigliaComponent()
|
||||||
|
.create()
|
||||||
|
.inject(this);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static PVOrdiniAcquistoGrigliaFragment newInstance() {
|
public static PVOrdiniAcquistoGrigliaFragment newInstance() {
|
||||||
@ -73,6 +92,8 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
|
|||||||
mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_pv_ordini_acquisto, container, false);
|
mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_pv_ordini_acquisto, container, false);
|
||||||
mBinding.setViewmodel(this);
|
mBinding.setViewmodel(this);
|
||||||
|
|
||||||
|
mHelper = new OrdineAcquistoPvHelper(getActivity(), mGrigliaRepository, mArticoloGrigliaRepository, mArticoliOrdineRepository, mOrdineRepository);
|
||||||
|
|
||||||
init();
|
init();
|
||||||
initRecyclerView();
|
initRecyclerView();
|
||||||
return mBinding.getRoot();
|
return mBinding.getRoot();
|
||||||
@ -81,9 +102,9 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
|
|||||||
private void init() {
|
private void init() {
|
||||||
|
|
||||||
BarcodeManager.enable();
|
BarcodeManager.enable();
|
||||||
DialogScanLisA.make(getActivity(), griglia -> {
|
DialogScanLisA.make(getActivity(), mGrigliaRepository, mHelper, griglia -> {
|
||||||
if (griglia == null) {
|
if (griglia == null) {
|
||||||
((IPoppableActivity) getActivity()).pop();
|
if (getActivity() != null) ((IPoppableActivity) getActivity()).pop();
|
||||||
} else {
|
} else {
|
||||||
setGriglia(griglia);
|
setGriglia(griglia);
|
||||||
}
|
}
|
||||||
@ -109,8 +130,8 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
|
|||||||
|
|
||||||
private void fetchOrders() {
|
private void fetchOrders() {
|
||||||
final Dialog progress = UtilityProgress.createDefaultProgressDialog(getActivity(), getString(R.string.ordini_a_aperti_progress));
|
final Dialog progress = UtilityProgress.createDefaultProgressDialog(getActivity(), getString(R.string.ordini_a_aperti_progress));
|
||||||
OrdineRepository repository = new OrdineRepository();
|
|
||||||
repository.selectAllOpenOrders(mGriglia, (ordini) -> getActivity().runOnUiThread(() -> {
|
mOrdineRepository.selectAllOpenOrders(mGriglia, (ordini) -> getActivity().runOnUiThread(() -> {
|
||||||
progress.dismiss();
|
progress.dismiss();
|
||||||
setOrdini(ordini);
|
setOrdini(ordini);
|
||||||
}), (e) -> {
|
}), (e) -> {
|
||||||
@ -127,7 +148,7 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
|
|||||||
mAdapter.updateItems(mRenderedOrderList);
|
mAdapter.updateItems(mRenderedOrderList);
|
||||||
if (mRenderedOrderList.size() <= 0 && mRedirectToNewOrder) {
|
if (mRenderedOrderList.size() <= 0 && mRedirectToNewOrder) {
|
||||||
createNewOrder();
|
createNewOrder();
|
||||||
}else{
|
} else {
|
||||||
mRedirectToNewOrder = false;
|
mRedirectToNewOrder = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -160,7 +181,6 @@ public class PVOrdiniAcquistoGrigliaFragment extends Fragment implements ITitled
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void selectAction(Ordine ordine) {
|
private void selectAction(Ordine ordine) {
|
||||||
getActivity().runOnUiThread(() -> DialogAskAction.make(getActivity(),
|
getActivity().runOnUiThread(() -> DialogAskAction.make(getActivity(),
|
||||||
Html.fromHtml(String.format(this.getString(R.string.ord_acq_testata), String.valueOf(ordine.getOrdineId()), UtilityDate.formatDate(ordine.getDataIns(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN))).toString(),
|
Html.fromHtml(String.format(this.getString(R.string.ord_acq_testata), String.valueOf(ordine.getOrdineId()), UtilityDate.formatDate(ordine.getDataIns(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN))).toString(),
|
||||||
|
|||||||
@ -16,7 +16,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository;
|
import it.integry.integrywmsnative.core.data_store.db.repository.implementations.OrdineDataSource;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia;
|
import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia;
|
||||||
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
|
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||||
@ -84,7 +84,9 @@ public class PVOrdiniAcquistoTransmittedListFragment extends Fragment implements
|
|||||||
private void init(){
|
private void init(){
|
||||||
final Dialog progress = UtilityProgress.createDefaultProgressDialog(getActivity());
|
final Dialog progress = UtilityProgress.createDefaultProgressDialog(getActivity());
|
||||||
|
|
||||||
OrdineRepository repository = new OrdineRepository();
|
|
||||||
|
//TODO: resolve databinding
|
||||||
|
OrdineDataSource repository = null; //new OrdineDataSource();
|
||||||
|
|
||||||
repository.selectAllTransmitted((ordini)->{
|
repository.selectAllTransmitted((ordini)->{
|
||||||
mOriginalOrderList = ordini;
|
mOriginalOrderList = ordini;
|
||||||
|
|||||||
@ -3,10 +3,8 @@ package it.integry.integrywmsnative.gest.pv_ordini_acquisto.dialogs;
|
|||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.graphics.drawable.ColorDrawable;
|
import android.graphics.drawable.ColorDrawable;
|
||||||
import android.view.KeyEvent;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
|
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
@ -35,12 +33,16 @@ public class DialogScanLisA {
|
|||||||
private RunnableArgs<Griglia> mOnDialogDismiss;
|
private RunnableArgs<Griglia> mOnDialogDismiss;
|
||||||
|
|
||||||
private OrdineAcquistoPvHelper mHelper;
|
private OrdineAcquistoPvHelper mHelper;
|
||||||
|
|
||||||
|
private GrigliaRepository mGrigliaRepository;
|
||||||
private Griglia mGriglia;
|
private Griglia mGriglia;
|
||||||
|
|
||||||
private DialogScanLisA(Activity context, RunnableArgs<Griglia> onDialogDismiss) {
|
private DialogScanLisA(Activity context, GrigliaRepository grigliaRepository, OrdineAcquistoPvHelper helper, RunnableArgs<Griglia> onDialogDismiss) {
|
||||||
mOnDialogDismiss = null;
|
mOnDialogDismiss = null;
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mHelper = new OrdineAcquistoPvHelper(context);
|
mGrigliaRepository = grigliaRepository;
|
||||||
|
mHelper = helper;
|
||||||
|
|
||||||
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||||
mGriglia = null;
|
mGriglia = null;
|
||||||
mBinding = DataBindingUtil.inflate(inflater, R.layout.dialog_scan_codice_griglia, null, false);
|
mBinding = DataBindingUtil.inflate(inflater, R.layout.dialog_scan_codice_griglia, null, false);
|
||||||
@ -53,8 +55,8 @@ public class DialogScanLisA {
|
|||||||
initBarcode();
|
initBarcode();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Dialog make(Activity context, RunnableArgs<Griglia> onDialogDismiss) {
|
public static Dialog make(Activity context, GrigliaRepository grigliaRepository, OrdineAcquistoPvHelper helper, RunnableArgs<Griglia> onDialogDismiss) {
|
||||||
return new DialogScanLisA(context, onDialogDismiss).mDialog;
|
return new DialogScanLisA(context, grigliaRepository, helper, onDialogDismiss).mDialog;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -94,9 +96,8 @@ public class DialogScanLisA {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
GrigliaRepository repository = new GrigliaRepository();
|
|
||||||
|
|
||||||
repository.findByCodAlis(data.getStringValue(), griglia -> {
|
mGrigliaRepository.findByCodAlis(data.getStringValue(), griglia -> {
|
||||||
if (griglia != null) {
|
if (griglia != null) {
|
||||||
griglia.getGriglia().setCountArticoli(griglia.getCountArticoli());
|
griglia.getGriglia().setCountArticoli(griglia.getCountArticoli());
|
||||||
mHelper.updateGriglia(griglia.getGriglia(), onGrigliaAvailable, mOnError);
|
mHelper.updateGriglia(griglia.getGriglia(), onGrigliaAvailable, mOnError);
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package it.integry.integrywmsnative.gest.pv_ordini_acquisto.helper;
|
package it.integry.integrywmsnative.gest.pv_ordini_acquisto.helper;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.app.Activity;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@ -9,8 +9,8 @@ import java.util.List;
|
|||||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
|
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliGrigliaRepository;
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository;
|
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoloGrigliaRepository;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository;
|
import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository;
|
import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloDTO;
|
import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloDTO;
|
||||||
@ -19,18 +19,18 @@ import it.integry.integrywmsnative.core.rest.consumers.PVOrdiniAcquistoRESTConsu
|
|||||||
|
|
||||||
public class OrdineAcquistoPvHelper {
|
public class OrdineAcquistoPvHelper {
|
||||||
|
|
||||||
private Context mContext;
|
private Activity mContext;
|
||||||
private GrigliaRepository mGrigliaRepository;
|
private GrigliaRepository mGrigliaRepository;
|
||||||
private ArticoliGrigliaRepository mArticoliGrigliaRepository;
|
private ArticoloGrigliaRepository mArticoliGrigliaRepository;
|
||||||
private ArticoliOrdineRepository mArticoliOrdineRepository;
|
private ArticoliOrdineRepository mArticoliOrdineRepository;
|
||||||
private OrdineRepository mOrdineRepository;
|
private OrdineRepository mOrdineRepository;
|
||||||
|
|
||||||
public OrdineAcquistoPvHelper(Context mContext) {
|
public OrdineAcquistoPvHelper(Activity context, GrigliaRepository grigliaRepository, ArticoloGrigliaRepository articoloGrigliaRepository, ArticoliOrdineRepository articoliOrdineRepository, OrdineRepository ordineRepository) {
|
||||||
this.mContext = mContext;
|
this.mContext = context;
|
||||||
this.mGrigliaRepository = new GrigliaRepository();
|
this.mGrigliaRepository = grigliaRepository;
|
||||||
this.mArticoliGrigliaRepository = new ArticoliGrigliaRepository();
|
this.mArticoliGrigliaRepository = articoloGrigliaRepository;
|
||||||
this.mArticoliOrdineRepository = new ArticoliOrdineRepository();
|
this.mArticoliOrdineRepository = articoliOrdineRepository;
|
||||||
this.mOrdineRepository = new OrdineRepository();
|
this.mOrdineRepository = ordineRepository;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,16 +42,16 @@ public class OrdineAcquistoPvHelper {
|
|||||||
|
|
||||||
public void updateGriglia(Griglia griglia, RunnableArgs<Griglia> onSave, RunnableArgs<Exception> onFail) {
|
public void updateGriglia(Griglia griglia, RunnableArgs<Griglia> onSave, RunnableArgs<Exception> onFail) {
|
||||||
PVOrdiniAcquistoRESTConsumer.getArticoliListino(griglia.getCodAlis(), dto -> {
|
PVOrdiniAcquistoRESTConsumer.getArticoliListino(griglia.getCodAlis(), dto -> {
|
||||||
|
mContext.runOnUiThread(() -> {
|
||||||
if (dto.getGrigliaAcquistiChild().size() <= 0) {
|
if (dto.getGrigliaAcquistiChild().size() <= 0) {
|
||||||
Exception e = new Exception("La griglia selezionata (" + griglia.getCodAlis() + ") non esiste o non presenta articoli");
|
onFail.run(new Exception("La griglia selezionata (" + griglia.getCodAlis() + ") non esiste o non presenta articoli"));
|
||||||
onFail.run(e);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
griglia.setDescrLisa(dto.getDescrLisa());
|
griglia.setDescrLisa(dto.getDescrLisa());
|
||||||
griglia.setDescrDepo(dto.getDescrDepo());
|
griglia.setDescrDepo(dto.getDescrDepo());
|
||||||
griglia.setCountArticoli(dto.getGrigliaAcquistiChild().size());
|
griglia.setCountArticoli(dto.getGrigliaAcquistiChild().size());
|
||||||
mGrigliaRepository.saveGriglia(griglia, id -> saveLisAToGriglia(dto.getGrigliaAcquistiChild(), griglia, onSave, onFail), onFail);
|
mGrigliaRepository.saveGriglia(griglia, id -> saveLisAToGriglia(dto.getGrigliaAcquistiChild(), griglia, onSave, onFail), onFail);
|
||||||
|
});
|
||||||
}, onFail);
|
}, onFail);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ public class OrdineAcquistoPvHelper {
|
|||||||
toSave.setIdGriglia(griglia.getGrigliaId());
|
toSave.setIdGriglia(griglia.getGrigliaId());
|
||||||
articoliGriglia.add(toSave);
|
articoliGriglia.add(toSave);
|
||||||
}
|
}
|
||||||
mArticoliGrigliaRepository.saveArticoliToGriglia(articoliGriglia,griglia, () -> onSave.run(griglia), onFail);
|
mArticoliGrigliaRepository.saveArticoliToGriglia(articoliGriglia, griglia, () -> onSave.run(griglia), onFail);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void createNewOrder(Griglia griglia, RunnableArgs<Ordine> onSuccess, RunnableArgs<Exception> onError) {
|
public void createNewOrder(Griglia griglia, RunnableArgs<Ordine> onSuccess, RunnableArgs<Exception> onError) {
|
||||||
|
|||||||
@ -1,14 +1,16 @@
|
|||||||
package it.integry.integrywmsnative.gest.rettifica_giacenze;
|
package it.integry.integrywmsnative.gest.rettifica_giacenze;
|
||||||
|
|
||||||
import javax.inject.Singleton;
|
import dagger.Subcomponent;
|
||||||
|
|
||||||
import dagger.Component;
|
@Subcomponent
|
||||||
import it.integry.integrywmsnative.MainApplicationComponent;
|
|
||||||
|
|
||||||
@Singleton
|
|
||||||
@Component(modules = {RettificaGiacenzeModule.class}, dependencies = {MainApplicationComponent.class})
|
|
||||||
public interface RettificaGiacenzeComponent {
|
public interface RettificaGiacenzeComponent {
|
||||||
|
|
||||||
|
@Subcomponent.Factory
|
||||||
|
interface Factory {
|
||||||
|
|
||||||
|
RettificaGiacenzeComponent create();
|
||||||
|
}
|
||||||
|
|
||||||
void inject(RettificaGiacenzeFragment rettificaGiacenzeFragment);
|
void inject(RettificaGiacenzeFragment rettificaGiacenzeFragment);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -103,12 +103,10 @@ public class RettificaGiacenzeFragment extends Fragment implements ITitledFragme
|
|||||||
|
|
||||||
mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_main_rettifica_giacenze, container, false);
|
mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_main_rettifica_giacenze, container, false);
|
||||||
|
|
||||||
RettificaGiacenzeComponent rettificaGiacenzeComponent = DaggerRettificaGiacenzeComponent.builder()
|
MainApplication.appComponent
|
||||||
.mainApplicationModule(MainApplication.appModule)
|
.rettificaGiacenzeComponent()
|
||||||
.mainApplicationComponent(MainApplication.appComponent)
|
.create()
|
||||||
.build();
|
.inject(this);
|
||||||
|
|
||||||
rettificaGiacenzeComponent.inject(this);
|
|
||||||
|
|
||||||
mViewModel.setListener(this);
|
mViewModel.setListener(this);
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import javax.inject.Singleton;
|
|||||||
|
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import it.integry.integrywmsnative.MainApplicationModule;
|
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||||
@ -12,7 +11,7 @@ import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
|||||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.core.RettificaGiacenzeRESTConsumer;
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.core.RettificaGiacenzeRESTConsumer;
|
||||||
|
|
||||||
@Module(includes = {MainApplicationModule.class})
|
@Module(subcomponents = RettificaGiacenzeComponent.class)
|
||||||
public class RettificaGiacenzeModule {
|
public class RettificaGiacenzeModule {
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -109,12 +109,10 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
|
|
||||||
mBindings = DataBindingUtil.setContentView(this, R.layout.activity_spedizione);
|
mBindings = DataBindingUtil.setContentView(this, R.layout.activity_spedizione);
|
||||||
|
|
||||||
SpedizioneComponent spedizioneComponent = DaggerSpedizioneComponent.builder()
|
MainApplication.appComponent
|
||||||
.mainApplicationModule(MainApplication.appModule)
|
.spedizioneComponent()
|
||||||
.mainApplicationComponent(MainApplication.appComponent)
|
.create()
|
||||||
.build();
|
.inject(this);
|
||||||
|
|
||||||
spedizioneComponent.inject(this);
|
|
||||||
|
|
||||||
mViewmodel.setListeners(this);
|
mViewmodel.setListeners(this);
|
||||||
|
|
||||||
|
|||||||
@ -1,14 +1,16 @@
|
|||||||
package it.integry.integrywmsnative.gest.spedizione;
|
package it.integry.integrywmsnative.gest.spedizione;
|
||||||
|
|
||||||
import javax.inject.Singleton;
|
import dagger.Subcomponent;
|
||||||
|
|
||||||
import dagger.Component;
|
@Subcomponent
|
||||||
import it.integry.integrywmsnative.MainApplicationComponent;
|
|
||||||
|
|
||||||
@Singleton
|
|
||||||
@Component(modules = {SpedizioneModule.class}, dependencies = {MainApplicationComponent.class})
|
|
||||||
public interface SpedizioneComponent {
|
public interface SpedizioneComponent {
|
||||||
|
|
||||||
|
@Subcomponent.Factory
|
||||||
|
interface Factory {
|
||||||
|
|
||||||
|
SpedizioneComponent create();
|
||||||
|
}
|
||||||
|
|
||||||
void inject(SpedizioneActivity spedizioneActivity);
|
void inject(SpedizioneActivity spedizioneActivity);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import javax.inject.Singleton;
|
|||||||
|
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import it.integry.integrywmsnative.MainApplicationModule;
|
|
||||||
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
|
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||||
@ -13,7 +12,7 @@ import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
|||||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
||||||
|
|
||||||
@Module(includes = {MainApplicationModule.class})
|
@Module(subcomponents = SpedizioneComponent.class)
|
||||||
public class SpedizioneModule {
|
public class SpedizioneModule {
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user