Implementazione dagger
This commit is contained in:
parent
82dc4e73ee
commit
ac899f7f8d
@ -14,7 +14,6 @@ apply plugin: 'kotlin-android'
|
|||||||
apply plugin: 'kotlin-android-extensions'
|
apply plugin: 'kotlin-android-extensions'
|
||||||
apply plugin: 'com.google.gms.google-services'
|
apply plugin: 'com.google.gms.google-services'
|
||||||
|
|
||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
def appVersionCode = 132
|
def appVersionCode = 132
|
||||||
@ -117,11 +116,17 @@ dependencies {
|
|||||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
||||||
implementation 'androidx.lifecycle:lifecycle-common-java8:2.2.0'
|
implementation 'androidx.lifecycle:lifecycle-common-java8:2.2.0'
|
||||||
implementation 'org.apache.commons:commons-text:1.8'
|
implementation 'org.apache.commons:commons-text:1.8'
|
||||||
//kapt "androidx.lifecycle:lifecycle-compiler:2.0.0"
|
|
||||||
|
|
||||||
//MVVM
|
//MVVM
|
||||||
|
def dagger2_version = "2.26"
|
||||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
||||||
implementation "androidx.lifecycle:lifecycle-common-java8:2.2.0"
|
implementation "androidx.lifecycle:lifecycle-common-java8:2.2.0"
|
||||||
|
api "com.google.dagger:dagger:$dagger2_version"
|
||||||
|
annotationProcessor "com.google.dagger:dagger-compiler:$dagger2_version"
|
||||||
|
api "com.google.dagger:dagger-android:$dagger2_version"
|
||||||
|
api "com.google.dagger:dagger-android-support:$dagger2_version" // if you use the support libraries
|
||||||
|
annotationProcessor "com.google.dagger:dagger-android-processor:$dagger2_version"
|
||||||
|
|
||||||
//FAB
|
//FAB
|
||||||
implementation 'com.github.clans:fab:1.6.4'
|
implementation 'com.github.clans:fab:1.6.4'
|
||||||
//CUSTOM VIEWS
|
//CUSTOM VIEWS
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
package="it.integry.integrywmsnative">
|
package="it.integry.integrywmsnative">
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
@ -18,7 +17,6 @@
|
|||||||
android:roundIcon="@mipmap/ic_launcher_round"
|
android:roundIcon="@mipmap/ic_launcher_round"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/AppTheme"
|
android:theme="@style/AppTheme"
|
||||||
tools:replace="android:debuggable"
|
|
||||||
android:usesCleartextTraffic="true">
|
android:usesCleartextTraffic="true">
|
||||||
<activity android:name=".gest.spedizione_new.SpedizioneActivity"></activity>
|
<activity android:name=".gest.spedizione_new.SpedizioneActivity"></activity>
|
||||||
<activity android:name=".gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity" />
|
<activity android:name=".gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity" />
|
||||||
|
|||||||
@ -4,6 +4,8 @@ import android.app.Application;
|
|||||||
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.AppDatabase;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloGrigliaDao;
|
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloGrigliaDao;
|
||||||
@ -11,10 +13,15 @@ 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.GrigliaDao;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.dao.OrdineDao;
|
import it.integry.integrywmsnative.core.data_store.db.dao.OrdineDao;
|
||||||
|
|
||||||
|
|
||||||
public class MainApplication extends Application {
|
public class MainApplication extends Application {
|
||||||
|
|
||||||
public static Resources res;
|
public static Resources res;
|
||||||
|
|
||||||
|
// Reference to the application graph that is used across the whole app
|
||||||
|
public static MainApplicationComponent appComponent;
|
||||||
|
public static MainApplicationModule appModule;
|
||||||
|
|
||||||
private AppContext appContext = new AppContext(this);
|
private AppContext appContext = new AppContext(this);
|
||||||
|
|
||||||
private static AppDatabase appDb;
|
private static AppDatabase appDb;
|
||||||
@ -26,11 +33,16 @@ public class MainApplication extends Application {
|
|||||||
public void onCreate() {
|
public void onCreate() {
|
||||||
super.onCreate();
|
super.onCreate();
|
||||||
|
|
||||||
appContext.init();
|
appModule = new MainApplicationModule(MainApplication.this);
|
||||||
|
|
||||||
|
appComponent = DaggerMainApplicationComponent.create();
|
||||||
|
// .builder()
|
||||||
|
// .mainApplicationModule(new MainApplicationModule(MainApplication.this))
|
||||||
|
// .build();
|
||||||
|
|
||||||
|
appContext.init();
|
||||||
appDb = AppDatabase.getDatabase(this);
|
appDb = AppDatabase.getDatabase(this);
|
||||||
//Stash.init(this);
|
//Stash.init(this);
|
||||||
|
|
||||||
res = getResources();
|
res = getResources();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,14 @@
|
|||||||
|
package it.integry.integrywmsnative;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
|
import dagger.Component;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione_new.SpedizioneActivity;
|
||||||
|
|
||||||
|
// Definition of the Application graph
|
||||||
|
@Component(modules = {MainApplicationModule.class})
|
||||||
|
public interface MainApplicationComponent {
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
package it.integry.integrywmsnative;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
|
import dagger.Module;
|
||||||
|
import dagger.Provides;
|
||||||
|
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
|
||||||
|
|
||||||
|
@Module
|
||||||
|
public class MainApplicationModule {
|
||||||
|
|
||||||
|
private final Context mContext;
|
||||||
|
|
||||||
|
public MainApplicationModule(Context context) {
|
||||||
|
this.mContext = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@Singleton
|
||||||
|
ColliDataRecoverService provideColliDataRecoverService() {
|
||||||
|
return new ColliDataRecoverService(mContext);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,91 @@
|
|||||||
|
package it.integry.integrywmsnative.core.data_recover;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
|
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
|
||||||
|
|
||||||
|
public class ColliDataRecoverDTO {
|
||||||
|
|
||||||
|
private int id;
|
||||||
|
private int numCollo;
|
||||||
|
private String serCollo;
|
||||||
|
private String dataCollo;
|
||||||
|
private String gestioneCollo;
|
||||||
|
private String filtro;
|
||||||
|
|
||||||
|
private List<OrdineVenditaInevasoDTO> testateOrdini;
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ColliDataRecoverDTO setId(int id) {
|
||||||
|
this.id = id;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getNumCollo() {
|
||||||
|
return numCollo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ColliDataRecoverDTO setNumCollo(int numCollo) {
|
||||||
|
this.numCollo = numCollo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSerCollo() {
|
||||||
|
return serCollo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ColliDataRecoverDTO setSerCollo(String serCollo) {
|
||||||
|
this.serCollo = serCollo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDataCollo() {
|
||||||
|
return dataCollo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ColliDataRecoverDTO setDataCollo(String dataCollo) {
|
||||||
|
this.dataCollo = dataCollo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGestioneCollo() {
|
||||||
|
return gestioneCollo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ColliDataRecoverDTO setGestioneCollo(String gestioneCollo) {
|
||||||
|
this.gestioneCollo = gestioneCollo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFiltro() {
|
||||||
|
return filtro;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ColliDataRecoverDTO setFiltro(String filtro) {
|
||||||
|
this.filtro = filtro;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<OrdineVenditaInevasoDTO> getTestateOrdini() {
|
||||||
|
return testateOrdini;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ColliDataRecoverDTO setTestateOrdini(List<OrdineVenditaInevasoDTO> testateOrdini) {
|
||||||
|
this.testateOrdini = testateOrdini;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public MtbColt getMtbColt() {
|
||||||
|
return new MtbColt()
|
||||||
|
.setNumCollo(getNumCollo())
|
||||||
|
.setSerCollo(getSerCollo())
|
||||||
|
.setGestione(getGestioneCollo())
|
||||||
|
.setDataCollo(getDataCollo())
|
||||||
|
.setFiltroOrdini(getFiltro());
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,152 @@
|
|||||||
|
package it.integry.integrywmsnative.core.data_recover;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
import com.annimon.stream.Optional;
|
||||||
|
import com.annimon.stream.Stream;
|
||||||
|
import com.google.android.gms.common.util.IOUtils;
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.CommonConst;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
|
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
public class ColliDataRecoverService {
|
||||||
|
|
||||||
|
|
||||||
|
private final Context mContext;
|
||||||
|
private List<ColliDataRecoverDTO> mtbColtsSessions = new ArrayList<>();
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public ColliDataRecoverService(Context context) {
|
||||||
|
this.mContext = context;
|
||||||
|
|
||||||
|
if(isFilePresent(CommonConst.Files.RECOVER_COLLO_FILE)) {
|
||||||
|
loadLocalFile();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public boolean thereIsAnExistantSession() {
|
||||||
|
return mtbColtsSessions.size() > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Integer> getAllSessionIDs() {
|
||||||
|
if(thereIsAnExistantSession()) {
|
||||||
|
|
||||||
|
return Stream.of(mtbColtsSessions)
|
||||||
|
.map(ColliDataRecoverDTO::getId)
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
} else return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ColliDataRecoverDTO getSession(Integer sessionID) {
|
||||||
|
|
||||||
|
if(sessionID == null) return null;
|
||||||
|
|
||||||
|
return getIfExists(sessionID);
|
||||||
|
}
|
||||||
|
|
||||||
|
private ColliDataRecoverDTO getIfExists(int id) {
|
||||||
|
Optional<ColliDataRecoverDTO> recoverDTOOptional = Stream.of(mtbColtsSessions)
|
||||||
|
.filter(x -> x.getId() == id)
|
||||||
|
.findSingle();
|
||||||
|
|
||||||
|
|
||||||
|
return recoverDTOOptional.isPresent() ? recoverDTOOptional.get() : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int startNewSession(MtbColt mtbColtSession, List<OrdineVenditaInevasoDTO> testateOrdini) {
|
||||||
|
Integer newId = null;
|
||||||
|
|
||||||
|
while(newId == null) {
|
||||||
|
int randomId = new Random().nextInt(1000);
|
||||||
|
ColliDataRecoverDTO dto = getIfExists(randomId);
|
||||||
|
if(dto == null) newId = randomId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ColliDataRecoverDTO recoverDTO = new ColliDataRecoverDTO()
|
||||||
|
.setId(newId)
|
||||||
|
.setDataCollo(mtbColtSession.getDataColloS())
|
||||||
|
.setNumCollo(mtbColtSession.getNumCollo())
|
||||||
|
.setSerCollo(mtbColtSession.getSerCollo())
|
||||||
|
.setGestioneCollo(mtbColtSession.getGestione())
|
||||||
|
.setFiltro(mtbColtSession.getFiltroOrdini())
|
||||||
|
.setTestateOrdini(testateOrdini);
|
||||||
|
|
||||||
|
mtbColtsSessions.add(recoverDTO);
|
||||||
|
updateLocalFile();
|
||||||
|
return newId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void closeSession(int ID) {
|
||||||
|
ColliDataRecoverDTO dto = getIfExists(ID);
|
||||||
|
|
||||||
|
if(dto != null) {
|
||||||
|
mtbColtsSessions.remove(dto);
|
||||||
|
updateLocalFile();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void loadLocalFile() {
|
||||||
|
InputStream inputStream;
|
||||||
|
Gson gson = new Gson();
|
||||||
|
|
||||||
|
try {
|
||||||
|
inputStream = mContext.openFileInput(CommonConst.Files.RECOVER_COLLO_FILE);
|
||||||
|
|
||||||
|
byte[] bytes = IOUtils.readInputStreamFully(inputStream);
|
||||||
|
String jsonString = new String(bytes);
|
||||||
|
|
||||||
|
Type listType = new TypeToken<ArrayList<ColliDataRecoverDTO>>(){}.getType();
|
||||||
|
mtbColtsSessions = gson.fromJson(jsonString, listType);
|
||||||
|
|
||||||
|
inputStream.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
UtilityExceptions.defaultException(mContext, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void updateLocalFile() {
|
||||||
|
FileOutputStream outputStream;
|
||||||
|
|
||||||
|
Gson gson = new Gson();
|
||||||
|
String jsonText = gson.toJson(mtbColtsSessions);
|
||||||
|
|
||||||
|
try {
|
||||||
|
outputStream = mContext.openFileOutput(CommonConst.Files.RECOVER_COLLO_FILE, Context.MODE_PRIVATE);
|
||||||
|
outputStream.write(jsonText.getBytes());
|
||||||
|
outputStream.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
UtilityExceptions.defaultException(mContext, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isFilePresent(String fileName) {
|
||||||
|
String path = mContext.getFilesDir().getAbsolutePath() + "/" + fileName;
|
||||||
|
File file = new File(path);
|
||||||
|
return file.exists();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -730,8 +730,6 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
|
|
||||||
this.loadMatchedRows(matchPickingObject);
|
this.loadMatchedRows(matchPickingObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void loadMatchedRows(List<PickingObjectDTO> matchedRows) {
|
private void loadMatchedRows(List<PickingObjectDTO> matchedRows) {
|
||||||
if(matchedRows == null || matchedRows.size() == 0) {
|
if(matchedRows == null || matchedRows.size() == 0) {
|
||||||
DialogCommon.showNoArtFoundDialog(mActivity, null);
|
DialogCommon.showNoArtFoundDialog(mActivity, null);
|
||||||
@ -754,7 +752,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
// tempSourceMtbColt.getSerCollo().equals(matchedRows.get(0).getSerCollo()) &&
|
// tempSourceMtbColt.getSerCollo().equals(matchedRows.get(0).getSerCollo()) &&
|
||||||
// tempSourceMtbColt.getDataColloS().equals(matchedRows.get(0).getDataColloS())) {
|
// tempSourceMtbColt.getDataColloS().equals(matchedRows.get(0).getDataColloS())) {
|
||||||
|
|
||||||
onOrdineRowDispatch(matchedRows.get(0));
|
onOrdineRowDispatch(matchedRows.get(0));
|
||||||
// } else {
|
// } else {
|
||||||
// //Se sto pickando da una UL diversa da quella suggerita allora non te la apro in
|
// //Se sto pickando da una UL diversa da quella suggerita allora non te la apro in
|
||||||
// //automatico ma ti mostro il filtro
|
// //automatico ma ti mostro il filtro
|
||||||
@ -777,6 +775,8 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void createNewUL() {
|
public void createNewUL() {
|
||||||
this.createNewUL(null, null, null, false, true, null);
|
this.createNewUL(null, null, null, false, true, null);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,8 +15,11 @@ import com.tfb.fbtoast.FBToast;
|
|||||||
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.barcode_base_android_library.model.BarcodeType;
|
import it.integry.barcode_base_android_library.model.BarcodeType;
|
||||||
|
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;
|
||||||
@ -25,6 +28,7 @@ import it.integry.integrywmsnative.core.class_router.ClassRouter;
|
|||||||
import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
|
import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
|
||||||
import it.integry.integrywmsnative.core.data_cache.DataCache;
|
import it.integry.integrywmsnative.core.data_cache.DataCache;
|
||||||
import it.integry.integrywmsnative.core.data_recover.ColliDataRecover;
|
import it.integry.integrywmsnative.core.data_recover.ColliDataRecover;
|
||||||
|
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
|
||||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
@ -43,7 +47,8 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
|
|||||||
|
|
||||||
private ActivitySpedizioneBinding mBindings;
|
private ActivitySpedizioneBinding mBindings;
|
||||||
|
|
||||||
private SpedizioneViewModel mViewmodel;
|
@Inject
|
||||||
|
SpedizioneViewModel mViewmodel;
|
||||||
|
|
||||||
private ObservableArrayList<SpedizioneListModel> mSpedizioneMutableData = new ObservableArrayList();
|
private ObservableArrayList<SpedizioneListModel> mSpedizioneMutableData = new ObservableArrayList();
|
||||||
|
|
||||||
@ -55,7 +60,6 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
|
|||||||
|
|
||||||
private boolean mFlashShowCodForn;
|
private boolean mFlashShowCodForn;
|
||||||
private int barcodeScannerIstanceID = -1;
|
private int barcodeScannerIstanceID = -1;
|
||||||
private Integer mMtbColtSessionID;
|
|
||||||
|
|
||||||
private ArrayList<PickingObjectDTO> mPickingList;
|
private ArrayList<PickingObjectDTO> mPickingList;
|
||||||
private ArrayList<OrdineVenditaInevasoDTO> mTestateOrdini;
|
private ArrayList<OrdineVenditaInevasoDTO> mTestateOrdini;
|
||||||
@ -72,7 +76,15 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
|
|||||||
mColliRegistrati = DataCache.retrieveItem(getIntent().getStringExtra("keyColliRegistrati"));
|
mColliRegistrati = DataCache.retrieveItem(getIntent().getStringExtra("keyColliRegistrati"));
|
||||||
|
|
||||||
mBindings = DataBindingUtil.setContentView(this, R.layout.activity_spedizione);
|
mBindings = DataBindingUtil.setContentView(this, R.layout.activity_spedizione);
|
||||||
mViewmodel = new ViewModelProvider(this).get(SpedizioneViewModel.class);
|
|
||||||
|
// ((MainApplication) getApplicationContext()).appComponent.inject(this);
|
||||||
|
SpedizioneComponent spedizioneComponent = DaggerSpedizioneComponent.builder()
|
||||||
|
.mainApplicationModule(MainApplication.appModule)
|
||||||
|
.mainApplicationComponent(MainApplication.appComponent)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
spedizioneComponent.inject(this);
|
||||||
|
|
||||||
mViewmodel.addListeners(this);
|
mViewmodel.addListeners(this);
|
||||||
|
|
||||||
setSupportActionBar(mBindings.toolbar);
|
setSupportActionBar(mBindings.toolbar);
|
||||||
@ -238,8 +250,6 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
|
|||||||
public void onLUCreated(MtbColt mtbColt) {
|
public void onLUCreated(MtbColt mtbColt) {
|
||||||
noLUPresent.set(false);
|
noLUPresent.set(false);
|
||||||
|
|
||||||
mMtbColtSessionID = ColliDataRecover.startNewSession(mtbColt, mTestateOrdini);
|
|
||||||
|
|
||||||
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
|
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,7 +257,12 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV
|
|||||||
public void onLUClosed() {
|
public void onLUClosed() {
|
||||||
noLUPresent.set(true);
|
noLUPresent.set(true);
|
||||||
|
|
||||||
if(mMtbColtSessionID != null) ColliDataRecover.closeSession(mMtbColtSessionID);
|
// if(mMtbColtSessionID != null) ColliDataRecover.closeSession(mMtbColtSessionID);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFilterChanged(String newValue) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -0,0 +1,14 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.spedizione_new;
|
||||||
|
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
|
import dagger.Component;
|
||||||
|
import it.integry.integrywmsnative.MainApplicationComponent;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
@Component(modules = {SpedizioneModule.class}, dependencies = {MainApplicationComponent.class})
|
||||||
|
public interface SpedizioneComponent {
|
||||||
|
|
||||||
|
void inject(SpedizioneActivity spedizioneActivity);
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.spedizione_new;
|
||||||
|
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
|
import dagger.Module;
|
||||||
|
import dagger.Provides;
|
||||||
|
import it.integry.integrywmsnative.MainApplicationModule;
|
||||||
|
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
|
||||||
|
|
||||||
|
@Module(includes = {MainApplicationModule.class})
|
||||||
|
public class SpedizioneModule {
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@Singleton
|
||||||
|
SpedizioneViewModel providesSpedizioneViewModel(ColliDataRecoverService colliDataRecoverService) {
|
||||||
|
return new SpedizioneViewModel(colliDataRecoverService);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -7,14 +7,20 @@ import androidx.lifecycle.ViewModel;
|
|||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
|
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.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
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.core.CommonConst;
|
import it.integry.integrywmsnative.core.CommonConst;
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
|
import it.integry.integrywmsnative.core.data_recover.ColliDataRecover;
|
||||||
|
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.AtomicBigDecimal;
|
||||||
import it.integry.integrywmsnative.core.model.CommonModelConsts;
|
import it.integry.integrywmsnative.core.model.CommonModelConsts;
|
||||||
import it.integry.integrywmsnative.core.model.FiltroOrdineDTO;
|
import it.integry.integrywmsnative.core.model.FiltroOrdineDTO;
|
||||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
@ -41,7 +47,7 @@ import it.integry.integrywmsnative.gest.spedizione_new.exceptions.ScannedPositio
|
|||||||
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
|
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
|
||||||
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
|
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
|
||||||
|
|
||||||
public class SpedizioneViewModel extends ViewModel {
|
public class SpedizioneViewModel {
|
||||||
|
|
||||||
private List<OrdineVenditaInevasoDTO> mTestateOrdini;
|
private List<OrdineVenditaInevasoDTO> mTestateOrdini;
|
||||||
private MutableLiveData<List<PickingObjectDTO>> mPickingList = new MutableLiveData<>();
|
private MutableLiveData<List<PickingObjectDTO>> mPickingList = new MutableLiveData<>();
|
||||||
@ -60,6 +66,16 @@ public class SpedizioneViewModel extends ViewModel {
|
|||||||
|
|
||||||
private MtbColt mCurrentMtbColt = null;
|
private MtbColt mCurrentMtbColt = null;
|
||||||
|
|
||||||
|
private Integer mMtbColtSessionID;
|
||||||
|
private final ColliDataRecoverService mColliDataRecoverService;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public SpedizioneViewModel(ColliDataRecoverService colliDataRecoverService) {
|
||||||
|
this.mColliDataRecoverService = colliDataRecoverService;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void setDataset(String codMdep, List<PickingObjectDTO> pickingList, List<OrdineVenditaInevasoDTO> testateOrdini) {
|
public void setDataset(String codMdep, List<PickingObjectDTO> pickingList, List<OrdineVenditaInevasoDTO> testateOrdini) {
|
||||||
this.mDefaultCodMdep = codMdep;
|
this.mDefaultCodMdep = codMdep;
|
||||||
this.mPickingList.postValue(pickingList);
|
this.mPickingList.postValue(pickingList);
|
||||||
@ -552,6 +568,15 @@ public class SpedizioneViewModel extends ViewModel {
|
|||||||
|
|
||||||
private void dispatchOrdineRow(final PickingObjectDTO pickingObjectDTO) {
|
private void dispatchOrdineRow(final PickingObjectDTO pickingObjectDTO) {
|
||||||
|
|
||||||
|
AtomicBigDecimal numCnfWithdrawRows = new AtomicBigDecimal();
|
||||||
|
AtomicBigDecimal qtaColWithdrawRows = new AtomicBigDecimal();
|
||||||
|
|
||||||
|
Stream.of(pickingObjectDTO.getWithdrawRows())
|
||||||
|
.forEach(row -> {
|
||||||
|
numCnfWithdrawRows.addAndGet(row.getNumCnf());
|
||||||
|
qtaColWithdrawRows.addAndGet(row.getQtaCol());
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -582,14 +607,13 @@ public class SpedizioneViewModel extends ViewModel {
|
|||||||
.setDataCollo(value.getDataColloS())
|
.setDataCollo(value.getDataColloS())
|
||||||
.setMtbColr(new ObservableArrayList<>());
|
.setMtbColr(new ObservableArrayList<>());
|
||||||
|
|
||||||
// value
|
|
||||||
// .setDisablePrint(disablePrint)
|
|
||||||
// .setMtbColr(new ObservableArrayList<>());
|
|
||||||
|
|
||||||
// setULToCurrentContext(value);
|
|
||||||
|
|
||||||
this.mCurrentMtbColt = mtbColt;
|
this.mCurrentMtbColt = mtbColt;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
mMtbColtSessionID = this.mColliDataRecoverService.startNewSession(mtbColt, mTestateOrdini);
|
||||||
|
|
||||||
if (onComplete != null) onComplete.run();
|
if (onComplete != null) onComplete.run();
|
||||||
this.sendLUCreated(mtbColt);
|
this.sendLUCreated(mtbColt);
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user