diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
deleted file mode 100644
index f48666fb..00000000
--- a/.idea/assetWizardSettings.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index 4ae112ed..32b760cf 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/.idea/modules.xml b/.idea/modules.xml
index e0a9141b..70316e59 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -2,7 +2,7 @@
-
+
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 93daa408..25af3c1a 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
@@ -178,10 +178,10 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer{
}
- public static void distribuisciCollo(MtbColt mtbColtToDistribute, Runnable onComplete, RunnableArgs onFailed) {
+ public static void distribuisciCollo(MtbColt mtbColtToDistribute, DistribuzioneColloDTO.CriterioDistribuzione criterioDistribuzione, Runnable onComplete, RunnableArgs onFailed) {
DistribuzioneColloDTO distribuzioneColloDTO = new DistribuzioneColloDTO()
- .setCriterioDistribuzione(DistribuzioneColloDTO.CriterioDistribuzione.UPDATE)
+ .setCriterioDistribuzione(criterioDistribuzione)
.setDataCollo(mtbColtToDistribute.getDataColloS())
.setNumCollo(mtbColtToDistribute.getNumCollo())
.setGestione(mtbColtToDistribute.getGestione())
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/REST/model/DistribuzioneColloDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/REST/model/DistribuzioneColloDTO.java
index bb84832d..a67a4428 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/REST/model/DistribuzioneColloDTO.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/REST/model/DistribuzioneColloDTO.java
@@ -63,7 +63,8 @@ public class DistribuzioneColloDTO {
}
public enum CriterioDistribuzione {
- UPDATE("U"); //UPDATE COLLO GIA' ESISTENTE
+ UPDATE("U"), //UPDATE COLLO GIA' ESISTENTE
+ SPLIT_ORDINE("O"); //UPDATE COLLO GIA' ESISTENTE
private String text;
CriterioDistribuzione(String text) {
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/context/AppContext.java b/app/src/main/java/it/integry/integrywmsnative/core/context/AppContext.java
new file mode 100644
index 00000000..8343e531
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/core/context/AppContext.java
@@ -0,0 +1,10 @@
+package it.integry.integrywmsnative.core.context;
+
+public class AppContext {
+
+ public AppContext() {
+
+ }
+
+
+}
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 3af4dec0..70d6e73e 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
@@ -8,6 +8,7 @@ import android.util.Log;
import com.crashlytics.android.Crashlytics;
import com.orhanobut.logger.Logger;
+import it.integry.integrywmsnative.BuildConfig;
import it.integry.integrywmsnative.core.REST.CommonRESTException;
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
@@ -30,9 +31,12 @@ public class UtilityExceptions {
if(errorMessage == null) errorMessage = ex.getMessage();
DialogSimpleMessageHelper.makeErrorDialog(context, new SpannableString(errorMessage), null, null).show();
- if(sendEmail) UtilityLogger.errorMe(ex);
- Crashlytics.logException(ex.getCause());
+ if(!BuildConfig.DEBUG) {
+ if(sendEmail) UtilityLogger.errorMe(ex);
+
+ Crashlytics.logException(ex.getCause());
+ }
}
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/viewmodel/PickingLiberoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/viewmodel/PickingLiberoViewModel.java
index ad82b9f6..7b358468 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/viewmodel/PickingLiberoViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/viewmodel/PickingLiberoViewModel.java
@@ -3,8 +3,10 @@ package it.integry.integrywmsnative.gest.picking_libero.viewmodel;
import android.app.Activity;
import android.app.ProgressDialog;
import android.text.SpannableString;
+import android.view.View;
import com.annimon.stream.Stream;
+import com.google.android.material.bottomsheet.BottomSheetBehavior;
import java.math.BigDecimal;
import java.util.ArrayList;
@@ -12,6 +14,7 @@ import java.util.Date;
import java.util.Iterator;
import java.util.List;
+import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import androidx.databinding.Observable;
import androidx.databinding.ObservableArrayList;
@@ -38,6 +41,7 @@ import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
+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.ActivityPickingLiberoBinding;
@@ -61,6 +65,8 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked {
public BindableBoolean thereIsAnyRowInUL = new BindableBoolean();
public BindableBoolean thereIsAnOpenULWithoutRows = new BindableBoolean();
+ private BottomSheetBehavior mBottomSheetBehavior;
+
private PickingLiberoActivity mContext;
private ActivityPickingLiberoBinding mBinding;
private PickingLiberoHelper mHelper;
@@ -75,6 +81,8 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked {
initObservable();
initRecyclerView();
+
+ initBottomSheetActions();
}
@@ -178,6 +186,26 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked {
mBinding.pickingLiberoMainList.setAdapter(null);
}
+ private void initBottomSheetActions() {
+ mBinding.bg.setOnClickListener(v -> mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED));
+
+ mBottomSheetBehavior = BottomSheetBehavior.from(mBinding.bottomSheetActions);
+
+ mBottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
+ @Override
+ public void onStateChanged(@NonNull View bottomSheet, int newState) {
+ if (newState == BottomSheetBehavior.STATE_COLLAPSED)
+ mBinding.bg.setVisibility(View.GONE);
+ }
+
+ @Override
+ public void onSlide(@NonNull View bottomSheet, float slideOffset) {
+ mBinding.bg.setVisibility(View.VISIBLE);
+ mBinding.bg.setAlpha(slideOffset);
+ }
+ });
+ }
+
public void onBackPressed() {
if(thereIsAnOpenedUL.get()) {
@@ -505,6 +533,40 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked {
@Override
public void onItemClick(MtbColr item, int position) {
+ mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
+ MtbColr clickedItem = mtbColt.get().getMtbColr().get(position);
+
+ mBinding.bottomSheetActionsTitle.setText(clickedItem.getDescrizione());
+ mBinding.bottomSheetActionsSubtitle.setText(clickedItem.getCodMart());
+
+ mBinding.bottomSheetActionsDeleteBtn.setOnClickListener(v -> onItemDelete(item));
+
+ mBinding.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getQtaCol()) + " " + clickedItem.getMtbAart().getUntMis());
+ }
+
+
+ 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.DELETE);
+
+ 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));
}
}
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 3fb0ff5c..a51fb212 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
@@ -519,16 +519,6 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked
}).show();
-
-
-
-
-
-
-
-
-
-
}
private void onItemDelete(MtbColr mtbColrToDelete) {
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
index 8d9a536a..9e26aee9 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
@@ -21,6 +21,7 @@ import it.integry.integrywmsnative.core.REST.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer;
+import it.integry.integrywmsnative.core.REST.model.DistribuzioneColloDTO;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.CommonModelConsts;
@@ -688,7 +689,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone();
- ColliMagazzinoRESTConsumer.distribuisciCollo(cloneMtbColt, onComplete,
+ ColliMagazzinoRESTConsumer.distribuisciCollo(cloneMtbColt, DistribuzioneColloDTO.CriterioDistribuzione.UPDATE, onComplete,
ex -> UtilityExceptions.defaultException(mActivity, ex, progress));
}
diff --git a/app/src/main/res/layout/activity_picking_libero.xml b/app/src/main/res/layout/activity_picking_libero.xml
index d76ca5cf..4de2c5e9 100644
--- a/app/src/main/res/layout/activity_picking_libero.xml
+++ b/app/src/main/res/layout/activity_picking_libero.xml
@@ -192,6 +192,109 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+