diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index ca2abbe3..770b61df 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/app/build.gradle b/app/build.gradle
index 4ddfd5b6..38f1ad34 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -21,8 +21,8 @@ android {
applicationId "it.integry.integrywmsnative"
minSdkVersion 21
targetSdkVersion 28
- versionCode 11
- versionName "1.0.8"
+ versionCode 12
+ versionName "1.0.9"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
@@ -49,6 +49,7 @@ dependencies {
})
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.orhanobut:logger:2.2.0'
+ implementation 'com.google.firebase:firebase-core:16.0.6'
implementation 'com.google.firebase:firebase-crash:16.2.1'
implementation 'com.google.firebase:firebase-perf:16.2.2'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.7'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b4ff3c85..20b6fc3b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -55,6 +55,9 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/it/integry/integrywmsnative/MainApplication.java b/app/src/main/java/it/integry/integrywmsnative/MainApplication.java
index 2acaab81..df67d6b7 100644
--- a/app/src/main/java/it/integry/integrywmsnative/MainApplication.java
+++ b/app/src/main/java/it/integry/integrywmsnative/MainApplication.java
@@ -21,6 +21,7 @@ import it.integry.integrywmsnative.core.settings.Stash;
import it.integry.integrywmsnative.core.update.UpdatesManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityResources;
+import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
import it.integry.integrywmsnative.view.dialogs.exception.DialogException;
@@ -38,6 +39,22 @@ public class MainApplication extends Application {
if(!BuildConfig.DEBUG) {
Fabric.with(this, new Crashlytics());
+
+ if(SettingsManager.i() != null &&
+ (SettingsManager.i().userSession != null && !UtilityString.isNullOrEmpty(SettingsManager.i().userSession.profileDB)) &&
+ (SettingsManager.i().user != null && !UtilityString.isNullOrEmpty(SettingsManager.i().user.fullname))) {
+
+ Crashlytics.setString("user_fullname", SettingsManager.i().user.fullname);
+ Crashlytics.setString("profile_db", SettingsManager.i().userSession.profileDB);
+ }
+ } else {
+ if(SettingsManager.i() != null &&
+ (SettingsManager.i().userSession != null && !UtilityString.isNullOrEmpty(SettingsManager.i().userSession.profileDB)) &&
+ (SettingsManager.i().user != null && !UtilityString.isNullOrEmpty(SettingsManager.i().user.fullname))) {
+
+ Crashlytics.setString("user_fullname", SettingsManager.i().user.fullname);
+ Crashlytics.setString("profile_db", "[DEBUG] " + SettingsManager.i().userSession.profileDB);
+ }
}
Stash.init(this);
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/ColliMagazzinoRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/ColliMagazzinoRESTConsumer.java
index c9755991..549046ad 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/ColliMagazzinoRESTConsumer.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/ColliMagazzinoRESTConsumer.java
@@ -71,6 +71,22 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer{
}
+ public static void saveRigaCollo(MtbColr mtbColrToSave, RunnableArgs onComplete, RunnableArgs onFailed){
+
+ EntityRESTConsumer.processEntity(mtbColrToSave, new ISimpleOperationCallback() {
+ @Override
+ public void onSuccess(MtbColr value) {
+ if(onComplete != null) onComplete.run(value);
+ }
+
+ @Override
+ public void onFailed(Exception ex) {
+ if(onFailed != null) onFailed.run(ex);
+ }
+ }, MtbColr.class);
+
+ }
+
public static void createColloLavorazione(int segno, RunnableArgs onComplete, RunnableArgs onFailed) {
MtbColt mtbColtToCreate = new MtbColt()
.setSegno(segno)
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java
index a79f5168..685178d9 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java
@@ -71,7 +71,7 @@ public class SettingsManager {
public static void reloadDBVariables(Runnable onComplete, RunnableArgs onFailed){
dbSettingsModelIstance = new DBSettingsModel();
- Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("_db_reload_vars");
+ Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_reload_vars");
perfTrace.start();
Runnable tmpOnComplete = () -> {
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java
index 91b13ac3..3af4dec0 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityExceptions.java
@@ -5,6 +5,7 @@ import android.content.Context;
import android.text.SpannableString;
import android.util.Log;
+import com.crashlytics.android.Crashlytics;
import com.orhanobut.logger.Logger;
import it.integry.integrywmsnative.core.REST.CommonRESTException;
@@ -30,6 +31,8 @@ public class UtilityExceptions {
DialogSimpleMessageHelper.makeErrorDialog(context, new SpannableString(errorMessage), null, null).show();
if(sendEmail) UtilityLogger.errorMe(ex);
+
+ Crashlytics.logException(ex.getCause());
}
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java
index 10a88396..e6ef1bf6 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/viewmodel/RettificaGiacenzeViewModel.java
@@ -19,6 +19,7 @@ import com.annimon.stream.Stream;
import java.math.BigDecimal;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import it.integry.integrywmsnative.MainActivity;
@@ -26,6 +27,7 @@ import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.CommonRESTException;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
+import it.integry.integrywmsnative.core.REST.consumers.ISingleValueOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.di.BindableBoolean;
@@ -40,6 +42,7 @@ import it.integry.integrywmsnative.core.report.ReportManager;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
+import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.FragmentMainRettificaGiacenzeBinding;
@@ -291,32 +294,6 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked
qtaDto.setCanPartitaMagBeChanged(true);
qtaDto.setCanDataScadBeChanged(true);
-/*
- if(ean128Model != null){
- if(!UtilityString.isNullOrEmpty(ean128Model.BatchLot)){
- qtaDto.partitaMag = ean128Model.BatchLot;
- qtaDto.canPartitaMagBeChanged = false;
- }
-
- let dataScad = ean128Model.BestBefore || ean128Model.Expiry;
- if(dataScad != null){
- qtaDto.shouldAskDataScad = true;
- qtaDto.dataScad = moment(dataScad, "DD/MM/YYYY HH:mm:ss").format("YYYY-MM-DD");
- qtaDto.canDataScadBeChanged = false;
- }
-
- if(ean128Model.NetWeightKg != null) {
- qtaDto.qtaTot = ean128Model.NetWeightKg;
- qtaDto.qtaPerCnf = ean128Model.NetWeightKg;
- qtaDto.numDiCnf = 1;
- }
-
- if(ean128Model.Count != null){
- qtaDto.qtaTot = ean128Model.Count;
- qtaDto.numDiCnf = qtaDto.qtaTot / qtaDto.qtaPerCnf;
- }
- }
-*/
DialogInputQuantity.makeBase(mContext, qtaDto, true, (quantityDTO) -> {
onPostDispatch(mtbAart, quantityDTO);
@@ -385,7 +362,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked
@Override
public void onItemClick(MtbColr item, int position) {
- /*
+
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
MtbColr clickedItem = mtbColt.get().getMtbColr().get(position);
@@ -393,12 +370,11 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked
mBinding.bottomSheetActionsTitle.setText(clickedItem.getDescrizione());
mBinding.bottomSheetActionsSubtitle.setText(clickedItem.getCodMart());
- mBinding.bottomSheetActionsEditBtn.setOnClickListener(v -> onItemEdit(position));
+ mBinding.bottomSheetActionsEditBtn.setOnClickListener(v -> onItemEdit(item, position));
- mBinding.bottomSheetActionsDeleteBtn.setOnClickListener(v -> onItemDelete(position));
+ mBinding.bottomSheetActionsDeleteBtn.setOnClickListener(v -> onItemDelete(item));
- mBinding.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getQtaCol()) + " " + clickedItem.getUntMis());
- */
+ mBinding.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getQtaCol()) + " " + clickedItem.getMtbAart().getUntMis());
}
@@ -440,9 +416,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked
progress.dismiss();
resetMtbColt(openNewOne);
}
- }), () -> {
- progress.dismiss();
- }, ex ->
+ }), progress::dismiss, ex ->
UtilityExceptions.defaultException(mContext, ex, progress)
);
@@ -453,9 +427,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked
} else {
resetMtbColt(openNewOne);
}
- }, () -> {
- progress.dismiss();
- }, ex -> UtilityExceptions.defaultException(mContext, ex, progress));
+ }, progress::dismiss, ex -> UtilityExceptions.defaultException(mContext, ex, progress));
}
} else {
@@ -506,6 +478,89 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked
}, onFailed).show();
}
+ private void onItemEdit(MtbColr mtbColrToEdit, int index) {
+ mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
+
+ MtbColr mtbColrToEditClone = (MtbColr) mtbColrToEdit.clone();
+
+ DialogInputQuantity.DTO dto = new DialogInputQuantity.DTO()
+ .setBatchLot(mtbColrToEditClone.getPartitaMag())
+ .setQtaDaEvadere(null)
+ .setQtaOrd(null)
+ .setQtaDisponibile(new BigDecimal(-1))
+ .setMtbAart(mtbColrToEditClone.getMtbAart())
+ .setCanPartitaMagBeChanged(false)
+ .setQtaTot(mtbColrToEditClone.getQtaCol());
+
+ DialogInputQuantity.makeBase(mContext, dto, true, value -> {
+
+ mtbColrToEditClone
+ .setRiga(null)
+ .setDatetimeRow(new Date())
+ .setQtaCol(new BigDecimal(value.qtaTot.get()).subtract(mtbColrToEditClone.getQtaCol()))
+ .setOperation(CommonModelConsts.OPERATION.INSERT);
+
+ MtbColt mtbColtClone = (MtbColt) mtbColt.get().clone();
+ mtbColtClone.setMtbColr(new ObservableArrayList<>());
+ mtbColtClone.getMtbColr().add(mtbColrToEditClone);
+ mtbColtClone.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
+
+ ProgressDialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
+
+ ColliMagazzinoRESTConsumer.saveCollo(mtbColtClone, valueNewMtbColt -> {
+ progressDialog.dismiss();
+ mtbColt.get().getMtbColr().remove(index);
+
+ mtbColrToEditClone
+ .setQtaCol(new BigDecimal(value.qtaTot.get()))
+ .setOperation(CommonModelConsts.OPERATION.NO_OP);
+
+ mtbColt.get().getMtbColr().add(index, mtbColrToEditClone);
+ }, ex -> {
+ UtilityExceptions.defaultException(mContext, ex, progressDialog);
+ });
+
+ }).show();
+
+
+
+
+
+
+
+
+
+
+
+ }
+
+ private void onItemDelete(MtbColr mtbColrToDelete) {
+ mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
+
+ MtbColr mtbColrToDeleteClone = (MtbColr) mtbColrToDelete.clone();
+
+ mtbColrToDeleteClone
+ .setRiga(null)
+ .setDatetimeRow(new Date())
+ .setQtaCol(mtbColrToDeleteClone.getQtaCol().multiply(new BigDecimal(-1)))
+ .setOperation(CommonModelConsts.OPERATION.INSERT);
+
+ MtbColt mtbColtClone = (MtbColt) mtbColt.get().clone();
+ mtbColtClone.setMtbColr(new ObservableArrayList<>());
+ mtbColtClone.getMtbColr().add(mtbColrToDeleteClone);
+ mtbColtClone.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
+
+ ProgressDialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
+
+ ColliMagazzinoRESTConsumer.saveCollo(mtbColtClone, value -> {
+ progressDialog.dismiss();
+ mtbColt.get().getMtbColr().remove(mtbColrToDelete);
+ }, ex -> {
+ UtilityExceptions.defaultException(mContext, ex, progressDialog);
+ });
+ }
+
+
private void printCollo(ProgressDialog progress) {
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/core/VenditaHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/core/VenditaHelper.java
index ac29c5c9..4e4a42b7 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/core/VenditaHelper.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/core/VenditaHelper.java
@@ -45,7 +45,7 @@ public class VenditaHelper {
public void loadOrdini(final ILoadOrdiniCallback callback){
String codMdep = SettingsManager.i().userSession.depo.getCodMdep();
- Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("_db_load_ords_v");
+ Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_load_ords_v");
perfTrace.start();
OrdiniVenditaRESTConsumerService service = RESTBuilder.getService(OrdiniVenditaRESTConsumerService.class);
@@ -95,7 +95,7 @@ public class VenditaHelper {
OrdiniVenditaRESTConsumerService service = RESTBuilder.getService(OrdiniVenditaRESTConsumerService.class);
- Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("_db_load_pick_v");
+ Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_load_pick_v");
perfTrace.start();
service.getPickingList(codMdep, dateCons, joinedBarcodes).enqueue(new Callback>>() {
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_position_of_lu/DialogAskPositionOfLU.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_position_of_lu/DialogAskPositionOfLU.java
index daa90202..23410bc0 100644
--- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_position_of_lu/DialogAskPositionOfLU.java
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_position_of_lu/DialogAskPositionOfLU.java
@@ -146,12 +146,15 @@ public class DialogAskPositionOfLU {
if (UtilityPosizione.isPosizioneWithLivello(foundPosizione)) {
askLivello();
+ BarcodeManager.enable();
} else {
updatePosizione(foundPosizione, () -> {
completedFlow = true;
+ BarcodeManager.enable();
if(onComplete != null) onComplete.run(foundPosizione);
}, ex -> {
completedFlow = true;
+ BarcodeManager.enable();
onFailed.run(ex);
});
}