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 7f90afed..97b0d387 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
@@ -37,7 +37,11 @@ public class UtilityExceptions {
String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex);
- if(errorMessage == null) errorMessage = ex.getMessage();
+ if(errorMessage == null) {
+ errorMessage = ex.getMessage();
+
+ if(ex.getCause() != null) errorMessage += "
" + ex.getCause().getMessage();
+ }
if(context != null) {
DialogSimpleMessageHelper.makeErrorDialog(context, new SpannableString(errorMessage), null, null).show();
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java
index 859073b9..2f527c7d 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_pick_ord_lavorazione/ProdOrdineLavorazioneElencoFragment.java
@@ -37,9 +37,9 @@ import it.integry.integrywmsnative.core.utility.UtilityToast;
import it.integry.integrywmsnative.databinding.FragmentProdOrdineLavorazioneElencoBinding;
import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.core.ProdOrdineLavorazioneHelper;
import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.core.ProdOrdineLavorazioneListAdapter;
+import it.integry.integrywmsnative.gest.spedizione_new.SpedizioneActivity;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
-import it.integry.integrywmsnative.gest.spedizione.VenditaOrdineInevasoActivity;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
@@ -277,7 +277,7 @@ public class ProdOrdineLavorazioneElencoFragment extends Fragment implements ITi
}
private void startPickingActivity(List ordini, List selectedOrders, List mtbColtList) {
- Intent myIntent = new Intent(getActivity(), VenditaOrdineInevasoActivity.class);
+ Intent myIntent = new Intent(getActivity(), SpedizioneActivity.class);
String keyPickingList = DataCache.addItem(ordini);
myIntent.putExtra("keyPickingList", keyPickingList);
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/VenditaOrdineInevasoActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/VenditaOrdineInevasoActivity.java
deleted file mode 100644
index 08ee7faa..00000000
--- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/VenditaOrdineInevasoActivity.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package it.integry.integrywmsnative.gest.spedizione;
-
-import android.content.Intent;
-import androidx.databinding.DataBindingUtil;
-
-import android.os.Bundle;
-import android.view.Menu;
-import android.view.MenuItem;
-
-import java.util.ArrayList;
-
-import it.integry.integrywmsnative.R;
-import it.integry.integrywmsnative.core.expansion.BaseActivity;
-import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
-import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
-import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
-import it.integry.integrywmsnative.core.data_cache.DataCache;
-import it.integry.integrywmsnative.core.model.MtbColt;
-import it.integry.integrywmsnative.core.utility.UtilityExceptions;
-import it.integry.integrywmsnative.databinding.ActivityVenditaOrdineInevasoBinding;
-import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetBinding;
-import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
-import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
-import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
-import it.integry.integrywmsnative.gest.spedizione.viewmodel.VenditaOrdineInevasoViewModel;
-import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel;
-
-public class VenditaOrdineInevasoActivity extends BaseActivity {
-
-
- private ActivityVenditaOrdineInevasoBinding mBindings;
- private VenditaOrdineInevasoViewModel mVenditaOrdineInevasoViewModel;
- private ArticoliInColloBottomSheetViewModel mArticoliInColloBottomSheetViewModel;
-
-
- private static final int PICK_UL_REQUEST = 1; // The request code
-
- private int barcodeScannerIstanceID = -1;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- mBindings = DataBindingUtil.setContentView(this, R.layout.activity_vendita_ordine_inevaso);
- FragmentArticoliInColloBottomSheetBinding bindings = this.mBindings.bottomSheetInclude;
- mArticoliInColloBottomSheetViewModel = new ArticoliInColloBottomSheetViewModel(this, bindings);
-
- ArrayList pickingList = DataCache.retrieveItem(getIntent().getStringExtra("keyPickingList"));
- ArrayList testateOrdini = DataCache.retrieveItem(getIntent().getStringExtra("keyTestateOrdini"));
- ArrayList colliRegistrati = DataCache.retrieveItem(getIntent().getStringExtra("keyColliRegistrati"));
- mVenditaOrdineInevasoViewModel = new VenditaOrdineInevasoViewModel(
- this, mBindings, mArticoliInColloBottomSheetViewModel, pickingList, testateOrdini, colliRegistrati);
-
- setSupportActionBar(this.mBindings.toolbar);
-
- setTitle(R.string.activity_vendita_inevaso_title);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
-
- barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
- .setOnScanSuccessfull(mVenditaOrdineInevasoViewModel.onScanSuccessfull)
- .setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false)));
- }
-
- @Override
- public boolean onSupportNavigateUp() {
- onBackPressed();
- return true;
- }
-
- @Override
- public void onBackPressed() {
- if(mArticoliInColloBottomSheetViewModel.isExpanded()){
- mArticoliInColloBottomSheetViewModel.collapse();
- } else if(mVenditaOrdineInevasoViewModel.thereIsAnOpenedUL()) {
- mArticoliInColloBottomSheetViewModel.closeCurrentUL(() -> {
- BarcodeManager.removeCallback(barcodeScannerIstanceID);
- super.onBackPressed();
- });
-
- } else {
- BarcodeManager.removeCallback(barcodeScannerIstanceID);
- super.onBackPressed();
- }
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.activity_vendita_ordine_inevaso, menu);
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // Handle item selection
- switch (item.getItemId()) {
- default:
- return super.onOptionsItemSelected(item);
- }
- }
-
-
- public void startListaBancaliRegistratiActivity(ArrayList mtbColts){
- Intent myIntent = ListaBancaliActivity.createIntent(this, mtbColts, true, PrinterRESTConsumer.Type.PRIMARIA);
- this.startActivityForResult(myIntent, PICK_UL_REQUEST);
- }
-
-
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- // Check which request we're responding to
- if (requestCode == PICK_UL_REQUEST) {
- // Make sure the request was successful
- if (resultCode == RESULT_OK) {
-
- MtbColt recoveredMtbColt = DataCache.retrieveItem(data.getStringExtra("key"));
-
- mVenditaOrdineInevasoViewModel.recoverUL(recoveredMtbColt);
- }
- }
- }
-
-}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/MainListOrdineVenditaInevasoAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/MainListOrdineVenditaInevasoAdapter.java
deleted file mode 100644
index 433a4bc9..00000000
--- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/MainListOrdineVenditaInevasoAdapter.java
+++ /dev/null
@@ -1,262 +0,0 @@
-package it.integry.integrywmsnative.gest.spedizione.core;
-
-import android.content.Context;
-import androidx.databinding.ObservableArrayList;
-import androidx.databinding.ObservableList;
-import android.graphics.Color;
-import androidx.core.util.Pools;
-import androidx.recyclerview.widget.RecyclerView;
-import android.text.Html;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.annimon.stream.Stream;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import it.integry.integrywmsnative.R;
-import it.integry.integrywmsnative.core.CommonConst;
-import it.integry.integrywmsnative.core.settings.SettingsManager;
-import it.integry.integrywmsnative.core.utility.UtilityNumber;
-import it.integry.integrywmsnative.core.utility.UtilityString;
-import it.integry.integrywmsnative.gest.spedizione.core.interfaces.IOnOrdineVenditaRowDispatched;
-import it.integry.integrywmsnative.gest.spedizione.dto.VenditaOrdineInevasoListViewModel;
-
-public class MainListOrdineVenditaInevasoAdapter extends RecyclerView.Adapter {
-
- private Context mContext;
- private List mDataset;
- private View mEmptyView;
- private ObservableArrayList mObservableDataset;
- private IOnOrdineVenditaRowDispatched mOrdineRowDispatch;
-
- private static final Pools.SynchronizedPool sPool = new Pools.SynchronizedPool(200);
-
- public static class ViewHolder extends RecyclerView.ViewHolder {
- // each data item is just a string in this case
- protected View mGroupTitle;
- protected LinearLayout mLinearLayoutGroupItemContainer;
-
- protected List pool = new ArrayList<>();
-
- public ViewHolder(View v) {
- super(v);
- }
- }
-
- public MainListOrdineVenditaInevasoAdapter(Context context, ObservableArrayList myDataset, View emptyView) {
- mContext = context;
- mObservableDataset = myDataset;
- mEmptyView = emptyView;
-
-
- mDataset = Stream.of(mObservableDataset).filter(x -> !x.isHidden()).toList();
- mObservableDataset.addOnListChangedCallback(onListChangedCallback);
-
- checkIfEmpty();
- }
-
- public void setOnOrdineRowDispatchCallback(IOnOrdineVenditaRowDispatched ordineRowDispatch) {
- mOrdineRowDispatch = ordineRowDispatch;
- }
-
- private ObservableList.OnListChangedCallback onListChangedCallback = new ObservableList.OnListChangedCallback>() {
- @Override
- public void onChanged(ObservableList sender) {
- refreshNotHiddenElements();
- notifyDataSetChanged();
- checkIfEmpty();
- }
-
- @Override
- public void onItemRangeChanged(ObservableList sender, int positionStart, int itemCount) {
- refreshNotHiddenElements();
- notifyDataSetChanged();
- checkIfEmpty();
- }
-
- @Override
- public void onItemRangeInserted(ObservableList sender, int positionStart, int itemCount) {
- refreshNotHiddenElements();
- notifyDataSetChanged();
- checkIfEmpty();
- }
-
- @Override
- public void onItemRangeMoved(ObservableList sender, int fromPosition, int toPosition, int itemCount) {
- refreshNotHiddenElements();
- notifyDataSetChanged();
- checkIfEmpty();
- }
-
- @Override
- public void onItemRangeRemoved(ObservableList sender, int positionStart, int itemCount) {
- refreshNotHiddenElements();
- notifyDataSetChanged();
- checkIfEmpty();
- }
-
- private void refreshNotHiddenElements() {
- mDataset = Stream.of(mObservableDataset).filter(x -> !x.isHidden()).toList();
- }
- };
-
-
- @Override
- public MainListOrdineVenditaInevasoAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- // create a new view
- View v = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.vendita_ordine_inevaso_main_list_model, parent, false);
-
-
- ViewHolder vh = new ViewHolder(v);
-
- TextView descrizioneArtForn = v.findViewById(R.id.vendita_ordine_inevaso_main_list__descrizione_gruppo);
- vh.mGroupTitle = descrizioneArtForn;
-
- LinearLayout groupItemContainer = v.findViewById(R.id.vendita_ordine_inevaso_main_list__group_item_container);
- vh.mLinearLayoutGroupItemContainer = groupItemContainer;
-
- return vh;
- }
-
-
- // Replace the contents of a view (invoked by the layout manager)
- @Override
- public void onBindViewHolder(MainListOrdineVenditaInevasoAdapter.ViewHolder holder, int position) {
- ((TextView)holder.mGroupTitle).setText(mDataset.get(position).descrizioneGroup);
-
- List subset = mDataset.get(position).rows;
-
- int visibleElementsCounter = 0;
-
- for(int i = 0; i < subset.size(); i++) {
-
- final VenditaOrdineInevasoListViewModel.SubItem rowItem = subset.get(i);
-
- if(!rowItem.getOriginalModel().isHidden() &&
- (rowItem.getOriginalModel().isTempHidden() == null ||
- (rowItem.getOriginalModel().isTempHidden() != null && !rowItem.getOriginalModel().isTempHidden()))) {
- visibleElementsCounter++;
-
- View groupModelViewPool = (View) sPool.acquire();
- if (groupModelViewPool == null) {
- groupModelViewPool = LayoutInflater.from(mContext)
- .inflate(R.layout.vendita_ordine_inevaso_main_list_child_group_model, holder.mLinearLayoutGroupItemContainer, false);
- }
-
- View groupModelView = groupModelViewPool;
- holder.pool.add(groupModelView);
-
-
- if (rowItem.getQtaRiservata().subtract(rowItem.getQtaOrdinata()).floatValue() >= 0 ) {
- groupModelView.setBackgroundColor(mContext.getResources().getColor(R.color.green_500_with_alpha));
- } else if (rowItem.getQtaRiservata().floatValue() > 0) {
- groupModelView.setBackgroundColor(mContext.getResources().getColor(R.color.orange_600_with_alpha));
- } else if (visibleElementsCounter % 2 == 1) {
- groupModelView.setBackgroundColor(Color.WHITE);
- } else {
- groupModelView.setBackgroundColor(mContext.getResources().getColor(R.color.letturaFacilitataBG));
- }
-
- final TextView badge1 = groupModelView.findViewById(R.id.vendita_ordine_inevaso_main_list_group_item_badge1);
- badge1.setText(rowItem.getBadge1());
-
- final TextView badge2 = groupModelView.findViewById(R.id.vendita_ordine_inevaso_main_list_group_item_badge2);
- badge2.setText(rowItem.getBadge2());
- badge2.setVisibility(UtilityString.isNullOrEmpty(rowItem.getBadge2()) ? View.GONE : View.VISIBLE);
-
-
- final TextView descrizione = groupModelView.findViewById(R.id.vendita_ordine_inevaso_main_list_group_item_descrizione);
-
- String descrizioneString = rowItem.getDescrizione();
- int descrizioneColor = Color.BLACK;
-
- if (UtilityString.isNullOrEmpty(descrizioneString)) {
- descrizioneString = mContext.getString(R.string.no_description);
- descrizioneColor = Color.GRAY;
- } else if (descrizioneString.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)) {
- descrizioneString = mContext.getString(R.string.stock);
- }
-
- descrizione.setText(descrizioneString);
- descrizione.setTextColor(descrizioneColor);
-
- final TextView subDescrizione1 = groupModelView.findViewById(R.id.vendita_ordine_inevaso_main_list_group_item_subdescrizione1);
- if(rowItem.getSubDescrizione1() != null) subDescrizione1.setText(Html.fromHtml(rowItem.getSubDescrizione1()));
- subDescrizione1.setVisibility(UtilityString.isNullOrEmpty(rowItem.getSubDescrizione1()) ? View.GONE : View.VISIBLE);
-
- final TextView subDescrizione2 = groupModelView.findViewById(R.id.vendita_ordine_inevaso_main_list_group_item_subdescrizione2);
- if(rowItem.getSubDescrizione2() != null) subDescrizione2.setText(Html.fromHtml(rowItem.getSubDescrizione2()));
- subDescrizione2.setVisibility(UtilityString.isNullOrEmpty(rowItem.getSubDescrizione2()) ? View.GONE : View.VISIBLE);
-
- final TextView qtaEvasa = groupModelView.findViewById(R.id.vendita_ordine_inevaso_main_list_group_item_qta_evasa);
- qtaEvasa.setText(UtilityNumber.decimalToString(rowItem.getQtaRiservata()));
-
- final TextView qtaTot = groupModelView.findViewById(R.id.vendita_ordine_inevaso_main_list_group_item_qta_tot);
- qtaTot.setText(UtilityNumber.decimalToString(rowItem.getQtaOrdinata()));
-
- final TextView untMis = groupModelView.findViewById(R.id.vendita_ordine_inevaso_main_list_group_item_unt_mis);
- untMis.setText(rowItem.getUntMis());
-
-
-
- final View deactivatedOverBG = groupModelView.findViewById(R.id.deactivated_over_bg);
- deactivatedOverBG.setVisibility(rowItem.getOriginalModel().isDeactivated() ? View.VISIBLE : View.GONE);
- groupModelView.setAlpha(rowItem.getOriginalModel().isDeactivated() ? 0.8f : 1);
- badge1.setBackground(mContext.getResources().getDrawable(rowItem.getOriginalModel().isDeactivated() ? R.drawable.badge_gray_round_corner : R.drawable.badge1_round_corner));
- qtaEvasa.setTextColor(mContext.getResources().getColor(rowItem.getOriginalModel().isDeactivated() ? R.color.gray_600 : R.color.green_700));
-
-
- groupModelView.setOnClickListener(view -> {
- if (mOrdineRowDispatch != null && SettingsManager.iDB().isFlagSpedizioneEnableManualPick()) {
-// rowItem.getOriginalModel().setTempEan128Model(null);
- mOrdineRowDispatch.onOrdineRowDispatch(rowItem.getOriginalModel());
- }
- });
-
- holder.mLinearLayoutGroupItemContainer.addView(groupModelView);
-
- }
-
- }
-
- }
-
-
-
- @Override
- public void onViewRecycled(MainListOrdineVenditaInevasoAdapter.ViewHolder holder){
- if(holder != null){
- for(int i = 0; i < holder.pool.size(); i++){
- ((ViewGroup) holder.pool.get(i).getParent()).removeView(holder.pool.get(i));
- sPool.release(holder.pool.get(i));
- }
-
- holder.pool.clear();
- }
-
- super.onViewRecycled(holder);
- }
-
-
-
- // Return the size of your dataset (invoked by the layout manager)
- @Override
- public int getItemCount() {
- return mDataset.size();
- }
-
-
- void checkIfEmpty() {
- if (mEmptyView != null) {
- final boolean emptyViewVisible = getItemCount() == 0;
- mEmptyView.setVisibility(emptyViewVisible ? View.VISIBLE : View.GONE);
- }
- }
-
-}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/SpedizioneHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/SpedizioneHelper.java
deleted file mode 100644
index 653d16a1..00000000
--- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/SpedizioneHelper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package it.integry.integrywmsnative.gest.spedizione.core;
-
-import androidx.databinding.ObservableArrayList;
-
-import java.util.List;
-
-import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
-
-public class SpedizioneHelper {
-
- private ObservableArrayList mPickingObjectDtoList;
-
- public SpedizioneHelper(List pickingObjectDTOList) {
- this.mPickingObjectDtoList = new ObservableArrayList<>();
- this.mPickingObjectDtoList.addAll(pickingObjectDTOList);
- }
-
-}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/VenditaOrdineInevasoHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/VenditaOrdineInevasoHelper.java
deleted file mode 100644
index 8c87fdab..00000000
--- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/VenditaOrdineInevasoHelper.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package it.integry.integrywmsnative.gest.spedizione.core;
-
-import android.content.Context;
-import androidx.databinding.ObservableArrayList;
-import android.view.View;
-
-import com.annimon.stream.Stream;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-
-import it.integry.integrywmsnative.R;
-import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration;
-import it.integry.integrywmsnative.core.class_router.ClassRouter;
-import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
-import it.integry.integrywmsnative.core.model.MtbColr;
-import it.integry.integrywmsnative.core.settings.SettingsManager;
-import it.integry.integrywmsnative.core.utility.UtilityString;
-import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
-import it.integry.integrywmsnative.gest.spedizione.dto.VenditaOrdineInevasoListViewModel;
-
-public class VenditaOrdineInevasoHelper {
-
- private Context mContext;
-
- private ObservableArrayList mListViewModels = new ObservableArrayList<>();
-
- public VenditaOrdineInevasoHelper(Context context){
- mContext = context;
- }
-
- public MainListOrdineVenditaInevasoAdapter getRightListAdapter(View emptyView) {
- return new MainListOrdineVenditaInevasoAdapter(mContext, mListViewModels, emptyView);
- }
-
- public void updateListModel(List> mDataset, List mtbColrs) throws Exception {
-
- mListViewModels.clear();
-
- mListViewModels.addAll(getListViewModelPerPosizione(mDataset, mtbColrs));
-
- }
-
- public List> getPickingListRaggruppataPerPosizione(List mPickingList, boolean forceHiddenCheck){
-
-
- for(int i = 0; i < mPickingList.size(); i++) {
- if(mPickingList.get(i).isHidden() == null || forceHiddenCheck) {
- PickingObjectDTOOld tmpItem = mPickingList.get(i);
-
- tmpItem.setDeactivated(tmpItem.getQtaCollo() == null || tmpItem.getQtaCollo().floatValue() == 0);
- tmpItem.setHidden(false);
- tmpItem.setTempHidden(false);
- }
- }
-
- List listOfKnownPositions = Stream.of(mPickingList)
- .filter(x -> !x.isDeactivated())
- .map(PickingObjectDTOOld::getPosizione)
- .distinctBy(x -> x)
- .withoutNulls()
- .sortBy(x -> x)
- .toList();
-
-
- listOfKnownPositions.add(null);
-
-
- List> groupedRighe = new ArrayList<>();
- for (String position : listOfKnownPositions) {
-
- List tmpList = Stream.of(mPickingList)
- .filter(x -> !x.isDeactivated() && (x.getPosizione() == null && position == null) ||
- (x.getPosizione() != null && x.getPosizione().equalsIgnoreCase(position))).toList();
-
- for(int i = 0; i < tmpList.size(); i++){
- if(tmpList.get(i).isHidden() == null || forceHiddenCheck) {
- PickingObjectDTOOld tmpItem = tmpList.get(i);
-
- tmpItem.setHidden(tmpItem.getQtaCollo().compareTo(BigDecimal.ZERO) <= 0 || (!tmpItem.getMtbAart().isFlagQtaCnfFissaBoolean() && tmpItem.getNumCnfCollo().compareTo(BigDecimal.ZERO) <= 0));
- tmpItem.setTempHidden(false);
- }
- }
-
- if(tmpList.size() > 0){
- groupedRighe.add(tmpList);
- }
-
- }
-
- List deactivatedItems = Stream.of(mPickingList)
- .filter(PickingObjectDTOOld::isDeactivated)
- .toList();
-
- if(deactivatedItems.size() > 0) groupedRighe.add(deactivatedItems);
-
- return groupedRighe;
- }
-
-
- public List getListViewModelPerPosizione(List> groupedRighe, List mtbColrs) {
-
- ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
-
- List listModel = new ArrayList<>();
-
- for(int i = 0; i < groupedRighe.size(); i++) {
- List currentGroup = groupedRighe.get(i);
-
- VenditaOrdineInevasoListViewModel itemModel = new VenditaOrdineInevasoListViewModel();
-
-
- String posizioneString = "";
- if(currentGroup.get(0).isDeactivated()) {
- posizioneString = mContext.getResources().getText(R.string.picking_not_available).toString();
- } else {
- posizioneString = mContext.getResources().getText(R.string.position_text) + ": " + (UtilityString.isNullOrEmpty(currentGroup.get(0).getPosizione()) ? "N.A." : currentGroup.get(0).getPosizione());
- }
-
-
- itemModel.descrizioneGroup = posizioneString;
- itemModel.rows = new ArrayList<>();
-
- for(int k = 0; k < currentGroup.size(); k++) {
- final PickingObjectDTOOld currentItem = currentGroup.get(k);
- final VenditaOrdineInevasoListViewModel.SubItem rowModel = new VenditaOrdineInevasoListViewModel.SubItem();
-
- String badge1 = "";
-
- if(customConfiguration.getConfig(BaseCustomConfiguration.Keys.FLAG_SHOW_COD_FORN_IN_SPEDIZIONE)) {
- badge1 += !UtilityString.isNullOrEmpty(currentItem.getCodAlis()) ? (currentItem.getCodAlis() + " - ") : "";
- badge1 += (!UtilityString.isNullOrEmpty(currentItem.getCodArtFor()) ? currentItem.getCodArtFor() : currentItem.getCodMart());
- } else {
- badge1 += currentItem.getCodMart();
- }
-
- rowModel.setBadge1(badge1);
-
- rowModel.setBadge2(UtilityString.isNullOrEmpty(currentItem.getCodJcom()) ? null : currentItem.getCodJcom());
-
- rowModel.setDescrizione(currentItem.getDescrizioneEstesa());
-
- if(!UtilityString.isNullOrEmpty(currentItem.getPartitaMag())) {
- rowModel.setSubDescrizione1(String.format(mContext.getResources().getText(R.string.batch_lot_text).toString(), currentItem.getPartitaMag()));
- }
-
- if(currentItem.getNumCollo() != null) {
- rowModel.setSubDescrizione2(String.format(mContext.getResources().getText(R.string.lu_number_data_text).toString(), currentItem.getNumCollo(), currentItem.getDataColloHuman()));
- }
-
- BigDecimal currentQtaColEvasa = BigDecimal.ZERO;
- BigDecimal currentNumCnfColEvasa = BigDecimal.ZERO;
-
- if(currentItem.getWithdrawRows() != null) {
- for (MtbColr mtbColr : currentItem.getWithdrawRows()) {
- currentQtaColEvasa = currentQtaColEvasa.add(mtbColr.getQtaCol());
- currentNumCnfColEvasa = currentNumCnfColEvasa.add(mtbColr.getNumCnf());
- }
- }
-
-
-
- if(!SettingsManager.iDB().isFlagForceAllToColli() && (currentItem.getMtbAart() == null || currentItem.getMtbAart().isFlagQtaCnfFissaBoolean())){
- rowModel.setQtaOrdinata(currentItem.getNumCollo() != null ? currentItem.getQtaCollo() : currentItem.getQtaOrd());
- rowModel.setQtaRiservata(currentQtaColEvasa);
-
- if(currentItem.getMtbAart() != null) {
- rowModel.setUntMis(currentItem.getMtbAart().getUntMis());
- }
- } else {
- rowModel.setUntMis("col");
- rowModel.setQtaOrdinata(currentItem.getNumCollo() != null ? currentItem.getNumCnfCollo() : currentItem.getNumCnfOrd());
- rowModel.setQtaRiservata(currentNumCnfColEvasa);
- }
-
-
- rowModel.setOriginalModel(currentItem);
-
- itemModel.rows.add(rowModel);
- }
- listModel.add(itemModel);
- }
-
- return listModel;
-
- }
-
-
-}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/interfaces/IOnOrdineVenditaRowDispatched.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/interfaces/IOnOrdineVenditaRowDispatched.java
deleted file mode 100644
index b7998096..00000000
--- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/core/interfaces/IOnOrdineVenditaRowDispatched.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package it.integry.integrywmsnative.gest.spedizione.core.interfaces;
-
-import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
-
-public interface IOnOrdineVenditaRowDispatched {
-
- void onOrdineRowDispatch(PickingObjectDTOOld item);
-}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dto/VenditaOrdineInevasoListViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dto/VenditaOrdineInevasoListViewModel.java
deleted file mode 100644
index f7df383b..00000000
--- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dto/VenditaOrdineInevasoListViewModel.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package it.integry.integrywmsnative.gest.spedizione.dto;
-
-import com.annimon.stream.Stream;
-
-import java.math.BigDecimal;
-import java.util.List;
-
-import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
-
-public class VenditaOrdineInevasoListViewModel {
- public String descrizioneGroup;
- public List rows;
-
- public boolean isHidden(){
- if(rows == null || rows.size() == 0) return true;
- return Stream.of(rows).filter(x -> (x.originalModel.isHidden() != null && !x.originalModel.isHidden()) &&
- (x.originalModel.isTempHidden() != null && !x.originalModel.isTempHidden())).count() == 0;
- }
-
- public static class SubItem {
-
- private String badge1;
- private String badge2;
-
- private String descrizione;
- private String subDescrizione1;
- private String subDescrizione2;
- private BigDecimal qtaRiservata;
- private BigDecimal qtaOrdinata;
- private String untMis;
-
- private PickingObjectDTOOld originalModel;
-
- public String getBadge1() {
- return badge1;
- }
-
- public SubItem setBadge1(String badge1) {
- this.badge1 = badge1;
- return this;
- }
-
- public String getBadge2() {
- return badge2;
- }
-
- public SubItem setBadge2(String badge2) {
- this.badge2 = badge2;
- return this;
- }
-
- public String getDescrizione() {
- return descrizione;
- }
-
- public SubItem setDescrizione(String descrizione) {
- this.descrizione = descrizione;
- return this;
- }
-
- public String getSubDescrizione1() {
- return subDescrizione1;
- }
-
- public SubItem setSubDescrizione1(String subDescrizione1) {
- this.subDescrizione1 = subDescrizione1;
- return this;
- }
-
- public String getSubDescrizione2() {
- return subDescrizione2;
- }
-
- public SubItem setSubDescrizione2(String subDescrizione2) {
- this.subDescrizione2 = subDescrizione2;
- return this;
- }
-
- public BigDecimal getQtaRiservata() {
- return qtaRiservata == null ? BigDecimal.ZERO : qtaRiservata;
- }
-
- public SubItem setQtaRiservata(BigDecimal qtaRiservata) {
- this.qtaRiservata = qtaRiservata;
- return this;
- }
-
- public BigDecimal getQtaOrdinata() {
- return qtaOrdinata == null ? BigDecimal.ZERO : qtaOrdinata;
- }
-
- public SubItem setQtaOrdinata(BigDecimal qtaOrdinata) {
- this.qtaOrdinata = qtaOrdinata;
- return this;
- }
-
- public PickingObjectDTOOld getOriginalModel() {
- return originalModel;
- }
-
- public SubItem setOriginalModel(PickingObjectDTOOld originalModel) {
- this.originalModel = originalModel;
- return this;
- }
-
- public String getUntMis() {
- return untMis;
- }
-
- public SubItem setUntMis(String untMis) {
- this.untMis = untMis;
- return this;
- }
- }
-
-}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/rest/OrdineVenditaInevasoRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/rest/OrdineVenditaInevasoRESTConsumerService.java
deleted file mode 100644
index c87b126c..00000000
--- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/rest/OrdineVenditaInevasoRESTConsumerService.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package it.integry.integrywmsnative.gest.spedizione.rest;
-
-public interface OrdineVenditaInevasoRESTConsumerService {
-}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
deleted file mode 100644
index b55b6c92..00000000
--- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
+++ /dev/null
@@ -1,1586 +0,0 @@
-package it.integry.integrywmsnative.gest.spedizione.viewmodel;
-
-import android.app.Dialog;
-
-import androidx.databinding.ObservableArrayList;
-import androidx.databinding.ObservableField;
-import androidx.recyclerview.widget.LinearLayoutManager;
-
-import android.text.SpannableString;
-
-import com.annimon.stream.Stream;
-import com.tfb.fbtoast.FBToast;
-
-import org.jetbrains.annotations.NotNull;
-
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Objects;
-
-import it.integry.barcode_base_android_library.model.BarcodeType;
-import it.integry.integrywmsnative.R;
-import it.integry.integrywmsnative.core.CommonConst;
-import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
-import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
-import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
-import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
-import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
-import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
-import it.integry.integrywmsnative.core.rest.model.Ean128Model;
-import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
-import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
-import it.integry.integrywmsnative.core.class_router.ClassRouter;
-import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita;
-import it.integry.integrywmsnative.core.data_recover.ColliDataRecover;
-import it.integry.integrywmsnative.core.di.BindableBoolean;
-import it.integry.integrywmsnative.core.expansion.AtomicBigDecimal;
-import it.integry.integrywmsnative.core.expansion.RunnableArgs;
-import it.integry.integrywmsnative.core.model.CommonModelConsts;
-import it.integry.integrywmsnative.core.model.FiltroOrdineDTO;
-import it.integry.integrywmsnative.core.model.MtbAart;
-import it.integry.integrywmsnative.core.model.MtbColr;
-import it.integry.integrywmsnative.core.model.MtbColt;
-import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
-import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
-import it.integry.integrywmsnative.core.report.ReportManager;
-import it.integry.integrywmsnative.core.settings.SettingsManager;
-import it.integry.integrywmsnative.core.utility.UtilityBarcode;
-import it.integry.integrywmsnative.core.utility.UtilityDate;
-import it.integry.integrywmsnative.core.utility.UtilityExceptions;
-import it.integry.integrywmsnative.core.utility.UtilityLogger;
-import it.integry.integrywmsnative.core.utility.UtilityPosizione;
-import it.integry.integrywmsnative.core.utility.UtilityProgress;
-import it.integry.integrywmsnative.core.utility.UtilityString;
-import it.integry.integrywmsnative.databinding.ActivityVenditaOrdineInevasoBinding;
-import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
-import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTOOld;
-import it.integry.integrywmsnative.gest.spedizione.VenditaOrdineInevasoActivity;
-import it.integry.integrywmsnative.gest.spedizione.core.VenditaOrdineInevasoHelper;
-import it.integry.integrywmsnative.gest.spedizione.core.MainListOrdineVenditaInevasoAdapter;
-import it.integry.integrywmsnative.gest.spedizione.core.interfaces.IOnOrdineVenditaRowDispatched;
-import it.integry.integrywmsnative.view.bottomsheet.interfaces.IOnColloClosedCallback;
-import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel;
-
-import it.integry.integrywmsnative.view.dialogs.DialogCommon;
-import it.integry.integrywmsnative.view.dialogs.DialogConsts;
-import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
-import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
-import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
-import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPeso;
-import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity;
-import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO;
-import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArt;
-import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
-
-public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IOnOrdineVenditaRowDispatched {
-
- public ObservableField isFabVisible = new ObservableField<>();
- public BindableBoolean shouldShowAddExtraItems = new BindableBoolean();
-
- private VenditaOrdineInevasoActivity mActivity;
- private final ActivityVenditaOrdineInevasoBinding mBindings;
- private final ArticoliInColloBottomSheetViewModel mArticoliInColloBottomSheetViewModel;
-
- private final List mPickingList;
- private List> mGroupedPickingList;
- private final List mTestateOrdini;
- private final List mColliRegistrati;
-
- private VenditaOrdineInevasoHelper mHelper;
- private MainListOrdineVenditaInevasoAdapter mAdapter;
-
- private GestioneEnum defaultGestioneOfUL = null;
- private String defaultCodMdepOfUL = null;
- private List defaultFiltroOrdine = new ArrayList<>();
- private String defaultCodAnagOfUL = null;
- private String defaultRagSocOfUL = null;
- private String defaultRifOrdOfUL = null;
- private Integer defaultNumOrdOfUL = null;
- private Date defaultDataOrdOfUL = null;
- private String defaultCodJFasOfUL = null;
-
-
- private Integer mtbColtSessionID = null;
-
- public VenditaOrdineInevasoViewModel(VenditaOrdineInevasoActivity activity, ActivityVenditaOrdineInevasoBinding bindings, ArticoliInColloBottomSheetViewModel articoliInColloBottomSheetViewModel, List pickingList, List orders, List colliRegistrati) {
- this.mActivity = activity;
- this.mBindings = bindings;
- this.mArticoliInColloBottomSheetViewModel = articoliInColloBottomSheetViewModel;
- this.mPickingList = pickingList;
- this.mTestateOrdini = orders;
- this.mColliRegistrati = colliRegistrati;
-
- this.isFabVisible.set(true);
-
- this.mBindings.setViewmodel(this);
-
- this.init();
- this.initDatiPicking();
- }
-
- private void init() {
- mArticoliInColloBottomSheetViewModel.setOnCloseColloCallbackListener(this);
-
- mArticoliInColloBottomSheetViewModel.setOnItemDeletedCallback((deletedItem) -> {
- this.onRowItemDeleted(deletedItem);
- this.refreshOrderBy(false);
- });
-
- mArticoliInColloBottomSheetViewModel.setOnItemEditedCallback((originalItem, editedItem) -> {
- this.onRowItemEdited(originalItem, editedItem);
- this.refreshOrderBy(false);
- });
-
- mBindings.addExtraItemsToolbar.setOnClickListener((v -> {
- addExtraItem();
- }));
-
- mHelper = new VenditaOrdineInevasoHelper(mActivity);
-
- initRecyclerView();
- }
-
- private void initRecyclerView() {
- //RecyclerView setup
- this.mBindings.venditaOrdineMainList.setHasFixedSize(true);
-
- this.mBindings.venditaOrdineMainList.setLayoutManager(new LinearLayoutManager(mActivity));
-
- mAdapter = mHelper.getRightListAdapter(this.mBindings.venditaOrdineInevasoEmptyView);
-
- try {
- this.mGroupedPickingList = mHelper.getPickingListRaggruppataPerPosizione(mPickingList, true);
- mHelper.updateListModel(this.mGroupedPickingList, null);
- } catch (Exception e) {
- UtilityExceptions.defaultException(mActivity, e);
- }
-
- mAdapter.setOnOrdineRowDispatchCallback(this);
- this.mBindings.venditaOrdineMainList.setAdapter(mAdapter);
- }
-
- private void initDatiPicking() {
- if (this.mTestateOrdini != null && this.mTestateOrdini.size() > 0) {
-
- //Definizione della gestione collo di default
- List foundGestioni = Stream.of(mTestateOrdini)
- .map(OrdineVenditaInevasoDTO::getGestioneEnum)
- .withoutNulls()
- .distinctBy(x -> x)
- .toList();
-
- if (foundGestioni != null && foundGestioni.size() > 1) {
- DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString(mActivity.getString(R.string.error_multiple_gest)), null, () -> {
- mActivity.finish();
- }).show();
- return;
- } else if (foundGestioni != null && foundGestioni.size() == 1) {
- defaultGestioneOfUL = foundGestioni.get(0);
- } else {
- defaultGestioneOfUL = GestioneEnum.VENDITA;
- }
-
-
- defaultCodMdepOfUL = SettingsManager.i().userSession.depo.getCodMdep();
-
-
- //Definizione del filtro ordine da applicare a tutti i colli generati
- Stream.of(mTestateOrdini).forEach(x -> {
- FiltroOrdineDTO filtro = new FiltroOrdineDTO()
- .setDataOrd(x.getDataOrdD())
- .setNumOrd(x.getNumOrd())
- .setGestioneOrd(x.getGestione())
- .setDataCons(x.getDataConsD());
-
- if (!defaultFiltroOrdine.contains(filtro)) defaultFiltroOrdine.add(filtro);
- });
-
-
- //Definizione del codAnag
- List foundCodAnag = Stream.of(mTestateOrdini)
- .map(OrdineVenditaInevasoDTO::getCodAnagOrd)
-// .withoutNulls()
- .distinctBy(x -> x)
- .toList();
-
- if (foundCodAnag != null && foundCodAnag.size() == 1) {
- defaultCodAnagOfUL = foundCodAnag.get(0);
- }
-
-
- //Definizione del codAnag
- List foundRagSoc = Stream.of(mTestateOrdini)
- .map(OrdineVenditaInevasoDTO::getRagSocOrd)
-// .withoutNulls()
- .distinctBy(x -> x)
- .toList();
-
- if (foundRagSoc != null && foundRagSoc.size() == 1) {
- defaultRagSocOfUL = foundRagSoc.get(0);
- }
-
-
- //Definizione del rifOrd
- List foundRifOrd = Stream.of(mTestateOrdini)
- .map(OrdineVenditaInevasoDTO::getRifOrd)
-// .withoutNulls()
- .distinctBy(x -> x)
- .toList();
-
- if (foundRifOrd != null && foundRifOrd.size() == 1) {
- defaultRifOrdOfUL = foundRifOrd.get(0);
- }
-
-
- //Definizione del numOrd
- List foundNumOrd = Stream.of(mTestateOrdini)
- .map(OrdineVenditaInevasoDTO::getNumOrd)
- .withoutNulls()
- .distinctBy(x -> x)
- .toList();
-
- if (foundNumOrd != null && foundNumOrd.size() == 1) {
- defaultNumOrdOfUL = foundNumOrd.get(0);
- }
-
-
- //Definizione del dataOrd
- List foundDataOrd = Stream.of(mTestateOrdini)
- .map(OrdineVenditaInevasoDTO::getDataOrdD)
- .withoutNulls()
- .distinctBy(x -> x)
- .toList();
-
- if (foundDataOrd != null && foundDataOrd.size() == 1) {
- defaultDataOrdOfUL = foundDataOrd.get(0);
- }
-
-
- //Definizione del codJfas
- List foundCodJfas = Stream.of(mTestateOrdini)
- .map(OrdineVenditaInevasoDTO::getCodJfas)
- //.withoutNulls()
- .distinctBy(x -> x)
- .toList();
-
- if (foundCodJfas != null && foundCodJfas.size() == 1) {
- defaultCodJFasOfUL = foundCodJfas.get(0);
- }
-
- }
- }
-
-
- private void onRowItemEdited(MtbColr originalItem, MtbColr editedItem) {
-
- for (int i = 0; i < mPickingList.size(); i++) {
-
- int foundIndex = mPickingList.get(i).getWithdrawRows().indexOf(originalItem);
-
- if (foundIndex >= 0) {
- mPickingList.get(i).getWithdrawRows().set(foundIndex, editedItem);
-
- break;
- }
-
- }
- }
-
- private void onRowItemDeleted(MtbColr deletedItem) {
-
- for (int i = 0; i < mPickingList.size(); i++) {
-
- int foundIndex = mPickingList.get(i).getWithdrawRows().indexOf(deletedItem);
-
- if (foundIndex >= 0) {
- mPickingList.get(i).getWithdrawRows().remove(foundIndex);
-
- break;
- }
-
- }
- }
-
- private void refreshOrderBy(boolean forceHiddenCheck) {
-
- try {
- List mtbColrs = mArticoliInColloBottomSheetViewModel.mtbColt.get() != null ? mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr() : null;
-
- this.mGroupedPickingList = mHelper.getPickingListRaggruppataPerPosizione(mPickingList, forceHiddenCheck);
- mHelper.updateListModel(this.mGroupedPickingList, mtbColrs);
- } catch (Exception e) {
- UtilityExceptions.defaultException(mActivity, e);
- }
- }
-
- private void applyFilter(String descriptionText) {
- this.mBindings.filteredArtsInListExpandableLayout.expand(true);
- this.mBindings.descriptionFilterText.setText(descriptionText);
- }
-
- public void removeListFilter() {
- for (int i = 0; i < mPickingList.size(); i++) {
- mPickingList.get(i).setTempHidden(false);
- mPickingList.get(i).setTempPickData(null);
- }
-
- refreshOrderBy(false);
- this.mBindings.filteredArtsInListExpandableLayout.collapse(true);
- }
-
- public void recoverUL(MtbColt recoveredMtbColt) {
- mtbColtSessionID = ColliDataRecover.startNewSession(recoveredMtbColt, mTestateOrdini);
- setULToCurrentContext(recoveredMtbColt);
- refreshOrderBy(false);
- }
-
- public RunnableArgs onScanSuccessfull = data -> {
-
- Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mActivity);
-
- BarcodeManager.disable();
-
- //Se non c'è una UL aperta
- if (!thereIsAnOpenedUL()) {
-
- //Se è un'etichetta anonima
- if (UtilityBarcode.isEtichettaAnonima(data)) {
-
- //Se il collo non esiste allora lo creo associandolo a questa etichetta anonima
- //invece se esiste apro un collo nuovo e cerco gli articoli presenti nell'ul
- //dell'etichetta anonima
- this.executeEtichettaAnonimaNotOpenedLU(data, progressDialog);
- } else if (UtilityBarcode.isEanPeso(data)) {
-
- //Creo una nuova ul e cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
- this.createNewUL(null, null, progressDialog, false, false, () -> {
- this.executeEtichettaEanPeso(data, progressDialog);
- });
- } else if (UtilityBarcode.isEtichetta128(data)) {
-
- //Creo una nuova ul e cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
- this.createNewUL(null, null, progressDialog, false, false, () -> {
- this.executeEtichettaEan128(data, progressDialog);
- });
- } else {
- this.createNewUL(null, null, progressDialog, false, false, () -> {
- this.loadArticolo(data.getStringValue(), null, progressDialog);
- });
- }
- } else {
- if (UtilityBarcode.isEtichettaAnonima(data)) {
- //Cerco gli articoli presenti nell'ul dell'etichetta anonima
- this.executeEtichettaLU(data.getStringValue(), progressDialog);
-
-
- } else if (UtilityBarcode.isEanPeso(data)) {
- //Cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
- this.executeEtichettaEanPeso(data, progressDialog);
-
-
- } else if (UtilityBarcode.isEtichetta128(data)) {
- //Cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
- this.executeEtichettaEan128(data, progressDialog);
-
-
- } else if (UtilityBarcode.isEtichettaPosizione(data)) {
- //Cerco l'UL presente all'interno della posizione
- this.executeEtichettaPosizione(data.getStringValue(), progressDialog);
-
-
- } else {
- this.loadArticolo(data.getStringValue(), null, progressDialog);
- }
- }
-
- };
-
- private void executeEtichettaAnonimaNotOpenedLU(BarcodeScanDTO barcodeScanDTO, Dialog progressDialog) {
- ColliMagazzinoRESTConsumer.getBySSCCStatic(barcodeScanDTO.getStringValue(), true, false, mtbColt -> {
-
- if (mtbColt == null) {
-
- if (!UtilityBarcode.isEtichettaAnonimaOfCurrentYear(barcodeScanDTO.getStringValue())) {
- UtilityExceptions.defaultException(mActivity, new Exception("Per continuare scansiona un'etichetta dell'anno corrente"), progressDialog, false);
- BarcodeManager.enable();
- } else {
-
- this.createNewUL(
- UtilityBarcode.getNumColloFromULAnonima(barcodeScanDTO.getStringValue()),
- CommonConst.Config.DEFAULT_ANONYMOUS_UL_SERIE, progressDialog,
- true, true,
- null);
- }
- } else {
-
- this.createNewUL(
- null,
- null,
- progressDialog,
- false, false,
- () -> searchArtFromUL(mtbColt, progressDialog)
- );
- }
- BarcodeManager.enable();
-
- }, ex -> {
- UtilityExceptions.defaultException(mActivity, ex, progressDialog);
- BarcodeManager.enable();
- });
- }
-
- private void executeEtichettaPosizione(String posizione, Dialog progressDialog) {
-
-
- MtbDepoPosizione foundPosizione = UtilityPosizione.getFromCache(posizione);
-
-
- if (foundPosizione != null) {
-
- if (foundPosizione.isFlagMonoCollo()) {
-
- PosizioniRESTConsumer.getBancaliInPosizione(foundPosizione, mtbColtList -> {
-
- if (mtbColtList == null || mtbColtList.size() == 0 || mtbColtList.size() > 1) {
-
- progressDialog.dismiss();
- //Nessuna UL trovata oppure più UL nella stessa posizione
- DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString("Nessuna UL trovata"), null, BarcodeManager::enable).show();
-
- } else {
- ColliMagazzinoRESTConsumer.getByTestataStatic(mtbColtList.get(0), true, false, mtbColt -> {
- if (mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) {
- searchArtFromUL(mtbColt, progressDialog);
- } else {
- progressDialog.dismiss();
- DialogCommon.showNoArtFoundDialog(mActivity, null);
- }
-
-
- BarcodeManager.enable();
- }, ex -> {
- UtilityExceptions.defaultException(mActivity, ex, progressDialog);
- BarcodeManager.enable();
- });
- }
-
- }, ex -> {
- UtilityExceptions.defaultException(mActivity, ex, progressDialog);
- BarcodeManager.enable();
- });
-
- } else {
- progressDialog.dismiss();
- //La posizione non è Mono-UL
- DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString("La posizione scelta non è Mono-UL"), null, BarcodeManager::enable).show();
- }
-
- } else {
- progressDialog.dismiss();
- //Nessuna posizione trovata con questo barcode
- DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString("Nessuna posizione trovata con il barcode scansionato"), null, BarcodeManager::enable).show();
-
- }
-<<<<<<< HEAD:app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
-=======
-
-
->>>>>>> develop:app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
- }
-
-
- private void executeEtichettaLU(String SSCC, Dialog progressDialog) {
- ColliMagazzinoRESTConsumer.getBySSCCStatic(SSCC, true, false, mtbColt -> {
-
-
- if (mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) {
- searchArtFromUL(mtbColt, progressDialog);
- } else {
- progressDialog.dismiss();
- DialogCommon.showNoArtFoundDialog(mActivity, null);
- }
-
-
- BarcodeManager.enable();
-
- }, ex -> {
- UtilityExceptions.defaultException(mActivity, ex, progressDialog);
- BarcodeManager.enable();
- });
- }
-
-
- private void executeEtichettaEan128(BarcodeScanDTO barcodeScanDTO, Dialog progressDialog) {
- BarcodeRESTConsumer.decodeEan128(barcodeScanDTO, ean128Model -> {
-
- String barcodeProd = null;
-
- if (!UtilityString.isNullOrEmpty(ean128Model.Sscc)) barcodeProd = ean128Model.Sscc;
- if (!UtilityString.isNullOrEmpty(ean128Model.Gtin)) barcodeProd = ean128Model.Gtin;
- if (!UtilityString.isNullOrEmpty(ean128Model.Content))
- barcodeProd = ean128Model.Content;
-
-
- if (!UtilityString.isNullOrEmpty(barcodeProd)) {
-
- if (!UtilityString.isNullOrEmpty(ean128Model.Sscc)) {
- this.executeEtichettaLU(ean128Model.Sscc, progressDialog);
- } else {
-
- if (barcodeProd.startsWith("0") || barcodeProd.startsWith("9")) {
- barcodeProd = barcodeProd.substring(1);
- }
-
- this.loadArticolo(barcodeProd, PickingObjectDTOOld.PickData.fromEan128(ean128Model), progressDialog);
-
- }
-
-
- } else {
- //EAN 128 non completo o comunque mancano i riferimenti al prodotto
- progressDialog.dismiss();
- BarcodeManager.enable();
- }
- }, ex -> {
- UtilityExceptions.defaultException(mActivity, ex, progressDialog);
- BarcodeManager.enable();
- });
- }
-
-
- private void executeEtichettaEanPeso(BarcodeScanDTO barcodeScanDTO, Dialog progressDialog) {
-
- try {
- Ean13PesoModel ean13PesoModel = Ean13PesoModel.fromBarcode(barcodeScanDTO.getStringValue());
-
- this.loadArticolo(ean13PesoModel.getPrecode(), PickingObjectDTOOld.PickData.fromEan128(ean13PesoModel.toEan128()), progressDialog);
- } catch (Exception ex) {
- UtilityExceptions.defaultException(mActivity, ex, progressDialog);
- BarcodeManager.enable();
- }
- }
-
-<<<<<<< HEAD:app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
- private void loadArticolo(String barcodeProd, PickingObjectDTOOld.PickData pickData, Dialog progressDialog) {
- if(barcodeProd.length() == 14) {
-=======
- private void loadArticolo(String barcodeProd, PickingObjectDTO.PickData pickData, Dialog progressDialog) {
- if (barcodeProd.length() == 14) {
->>>>>>> develop:app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
- barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd);
- }
-
-
- ArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
-
- if (mtbAartList != null && mtbAartList.size() > 0) {
-
-// if(!thereIsAnOpenedUL()){
-//
-// this.createNewUL(null, null, progressDialog, false, () -> {
-// BarcodeManager.enable();
-// this.searchArtInList(mtbAartList.get(0), ean128Model);
-// });
-//
-// } else {
- this.searchArtFromAnag(mtbAartList.get(0), pickData);
-
- BarcodeManager.enable();
- progressDialog.dismiss();
-// }
-//
- } else {
- BarcodeManager.enable();
- progressDialog.dismiss();
-
- DialogSimpleMessageHelper.makeWarningDialog(mActivity,
- new SpannableString(mActivity.getResources().getText(R.string.no_result_from_barcode)),
- null, null)
- .show();
- }
-
- }, ex -> {
- BarcodeManager.enable();
- UtilityExceptions.defaultException(mActivity, ex, progressDialog);
- });
-
-
- }
-
-
- private void searchArtFromUL(MtbColt scannedUL, Dialog progressDialog) {
-
- final List pickingList = mPickingList;
-
- List matchPickingObject = Stream.of(pickingList)
- .filter(x -> Objects.equals(x.getNumCollo(), scannedUL.getNumCollo()) &&
- x.getDataColloS().equals(scannedUL.getDataColloS()) &&
- x.getSerCollo().equalsIgnoreCase(scannedUL.getSerCollo()) &&
- (scannedUL.getGestioneEnum() == GestioneEnum.ACQUISTO || scannedUL.getGestioneEnum() == GestioneEnum.LAVORAZIONE)).toList();
-
- List alreadyMatchedArts = Stream.of(matchPickingObject)
- .map(PickingObjectDTOOld::getCodMart).toList();
-
- //Cerco se devo fare pick dell'articolo tramite codMart perché forse non risulta in nessun collo
- //if(matchPickingObject != null && matchPickingObject.size() == 0 && scannedUL.getItem() != null && scannedUL.getItem().size() > 0) {
-<<<<<<< HEAD:app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
- List listOfCodMartsInRowCollo = Stream.of(scannedUL.getMtbColr())
- .map(MtbColr::getCodMart)
- .withoutNulls()
- .toList();
-
-
-
- List matchPickingObjectByArt = Stream.of(pickingList)
- .filter(x -> //x.getNumCollo() == null &&
- (listOfCodMartsInRowCollo.contains(x.getCodMart()) && !alreadyMatchedArts.contains(x.getCodMart())))
- .toList();
-
-
- if(SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) {
- for (int i = 0; i < matchPickingObjectByArt.size(); i++) {
- PickingObjectDTOOld tmpPickObj = matchPickingObjectByArt.get(i);
-
-
-
- List matchWithPartitaMag = Stream.of(scannedUL.getMtbColr())
- .filter(x -> x.getCodMart().equalsIgnoreCase(tmpPickObj.getCodMart()) &&
- Objects.equals(x.getPartitaMag(), tmpPickObj.getPartitaMag())).toList();
-=======
- List listOfCodMartsInRowCollo = Stream.of(scannedUL.getMtbColr())
- .map(MtbColr::getCodMart)
- .withoutNulls()
- .toList();
->>>>>>> develop:app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
-
-
- List matchPickingObjectByArt = Stream.of(pickingList)
- .filter(x -> //x.getNumCollo() == null &&
- (listOfCodMartsInRowCollo.contains(x.getCodMart()) && !alreadyMatchedArts.contains(x.getCodMart())))
- .toList();
-
-
- if (SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) {
- for (int i = 0; i < matchPickingObjectByArt.size(); i++) {
- PickingObjectDTO tmpPickObj = matchPickingObjectByArt.get(i);
-
-
-<<<<<<< HEAD:app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
- PickingObjectDTOOld.PickData pickData = new PickingObjectDTOOld.PickData()
- .setMtbPartitaMag(matchRow.getRifPartitaMag())
- .setNumCnf(matchRow.getNumCnf())
- .setQtaCnf(matchRow.getQtaCnf())
- .setQtaTot(matchRow.getQtaCol())
- .setSourceMtbColt(scannedUL);
-=======
- List matchWithPartitaMag = Stream.of(scannedUL.getMtbColr())
- .filter(x -> x.getCodMart().equalsIgnoreCase(tmpPickObj.getCodMart()) &&
- Objects.equals(x.getPartitaMag(), tmpPickObj.getPartitaMag())).toList();
->>>>>>> develop:app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
-
- boolean anyMatch = matchWithPartitaMag.size() > 0;
-
- if (!anyMatch) {
- matchPickingObjectByArt.remove(i);
- i--;
- } else {
-
-<<<<<<< HEAD:app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
- PickingObjectDTOOld tmpPickObj = matchPickingObjectByArt.get(i);
- List matchWithColloRow = Stream.of(scannedUL.getMtbColr())
- .filter(x -> x.getCodMart().equalsIgnoreCase(tmpPickObj.getCodMart())).toList();
-=======
- for (int k = 0; k < matchWithPartitaMag.size(); k++) {
->>>>>>> develop:app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
-
-
- MtbColr matchRow = matchWithPartitaMag.get(k);
-
-<<<<<<< HEAD:app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
- MtbColr matchRow = matchWithColloRow.get(k);
- PickingObjectDTOOld.PickData pickData = new PickingObjectDTOOld.PickData()
-=======
- PickingObjectDTO.PickData pickData = new PickingObjectDTO.PickData()
->>>>>>> develop:app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
- .setMtbPartitaMag(matchRow.getRifPartitaMag())
- .setNumCnf(matchRow.getNumCnf())
- .setQtaCnf(matchRow.getQtaCnf())
- .setQtaTot(matchRow.getQtaCol())
- .setSourceMtbColt(scannedUL);
-
- tmpPickObj.setTempPickData(pickData);
- }
- }
- }
-
- } else {
- for (int i = 0; i < matchPickingObjectByArt.size(); i++) {
-
- PickingObjectDTO tmpPickObj = matchPickingObjectByArt.get(i);
- List matchWithColloRow = Stream.of(scannedUL.getMtbColr())
- .filter(x -> x.getCodMart().equalsIgnoreCase(tmpPickObj.getCodMart())).toList();
-
- for (int k = 0; k < matchWithColloRow.size(); k++) {
-
-
- MtbColr matchRow = matchWithColloRow.get(k);
- PickingObjectDTO.PickData pickData = new PickingObjectDTO.PickData()
- .setMtbPartitaMag(matchRow.getRifPartitaMag())
- .setNumCnf(matchRow.getNumCnf())
- .setQtaCnf(matchRow.getQtaCnf())
- .setQtaTot(matchRow.getQtaCol())
- .setSourceMtbColt(scannedUL);
-
- tmpPickObj.setTempPickData(pickData);
- }
-
- }
- }
-
-
- //}
- matchPickingObject.addAll(matchPickingObjectByArt);
-
- this.loadMatchedRows(matchPickingObject);
-
- progressDialog.dismiss();
- BarcodeManager.enable();
-
- }
-
-
- private void searchArtFromAnag(MtbAart mtbAart, PickingObjectDTOOld.PickData pickData) {
-
- final List pickingList = mPickingList;
-
- List matchPickingObject = Stream.of(pickingList)
- .filter(x -> x.getNumCollo() == null &&
- (mtbAart.getCodMart().equalsIgnoreCase(x.getCodMart())))
- .toList();
-
-
-<<<<<<< HEAD:app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
- if(SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) {
- List matchWithPartitaMag = Stream.of(matchPickingObject)
-=======
- if (SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) {
- List matchWithPartitaMag = Stream.of(matchPickingObject)
->>>>>>> develop:app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
- .filter(x -> x.getCodMart().equalsIgnoreCase(mtbAart.getCodMart()) &&
- (pickData != null && pickData.getMtbPartitaMag() != null && Objects.equals(x.getPartitaMag(), pickData.getMtbPartitaMag().getPartitaMag()))).toList();
-
- matchPickingObject = matchWithPartitaMag;
-
- }
-
- if (matchPickingObject.size() == 1) {
- matchPickingObject.get(0).setTempPickData(pickData);
- }
-
- this.loadMatchedRows(matchPickingObject);
- }
-<<<<<<< HEAD:app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
- private void loadMatchedRows(List matchedRows) {
- if(matchedRows == null || matchedRows.size() == 0) {
-=======
-
-
- private void loadMatchedRows(List matchedRows) {
- if (matchedRows == null || matchedRows.size() == 0) {
->>>>>>> develop:app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
- DialogCommon.showNoArtFoundDialog(mActivity, null);
- } else {
- for (int i = 0; i < mPickingList.size(); i++) {
- if (!matchedRows.contains(mPickingList.get(i))) {
- mPickingList.get(i).setTempHidden(true);
- }
- }
-
- if (matchedRows.size() == 1) {
-
- if (matchedRows.get(0).getTempPickData() != null &&
- matchedRows.get(0).getTempPickData().getSourceMtbColt() != null) {
-
-// MtbColt tempSourceMtbColt = matchedRows.get(0).getTempPickData().getSourceMtbColt();
-
-// if (tempSourceMtbColt.getGestione().equals(matchedRows.get(0).getGestione()) &&
-// tempSourceMtbColt.getNumCollo() == matchedRows.get(0).getNumCollo() &&
-// tempSourceMtbColt.getSerCollo().equals(matchedRows.get(0).getSerCollo()) &&
-// tempSourceMtbColt.getDataColloS().equals(matchedRows.get(0).getDataColloS())) {
-
- onOrdineRowDispatch(matchedRows.get(0));
-// } else {
-// //Se sto pickando da una UL diversa da quella suggerita allora non te la apro in
-// //automatico ma ti mostro il filtro
-// applyFilter("");
-// refreshOrderBy(false);
-// }
-
- } else if (matchedRows.get(0).isDeactivated()) {
- applyFilter("");
- refreshOrderBy(false);
- } else {
- onOrdineRowDispatch(matchedRows.get(0));
- }
- } else {
-
- applyFilter("");
- refreshOrderBy(false);
- }
- }
- }
-
-
-
-
- public void createNewUL() {
- this.createNewUL(null, null, null, false, true, null);
- }
-
- public void createNewUL(Integer customNumCollo, String customSerCollo, Dialog progress, boolean disablePrint, boolean closeProgress, Runnable onComplete) {
- this.mBindings.venditaOrdineInevasoFab.close(true);
-
- if (progress == null) {
- progress = UtilityProgress.createDefaultProgressDialog(mActivity);
- }
- progress.show();
-
- MtbColt mtbColt = new MtbColt();
- mtbColt.initDefaultFields();
- mtbColt.setGestione(defaultGestioneOfUL)
- .setSegno(-1)
- .setRifOrd(defaultRifOrdOfUL)
- .setNumOrd(defaultNumOrdOfUL)
- .setDataOrdD(defaultDataOrdOfUL)
- .setCodAnag(defaultCodAnagOfUL)
- .setCodMdep(defaultCodMdepOfUL)
- .setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
-
- if (defaultGestioneOfUL == GestioneEnum.LAVORAZIONE) {
- mtbColt.setPosizione(defaultCodJFasOfUL);
- }
-
- if (customNumCollo != null) {
- mtbColt.setNumCollo(customNumCollo);
- }
-
- if (!UtilityString.isNullOrEmpty(customSerCollo)) {
- mtbColt.setSerCollo(customSerCollo);
- }
-
- mtbColt.generaFiltroOrdineFromDTO(defaultFiltroOrdine);
-
- Dialog finalProgress = progress;
- ColliMagazzinoRESTConsumer.saveColloStatic(mtbColt, value -> {
-
- mtbColt
- .setNumCollo(value.getNumCollo())
- .setDataCollo(value.getDataColloS());
- mtbColtSessionID = ColliDataRecover.startNewSession(mtbColt, mTestateOrdini);
-
- value
- .setDisablePrint(disablePrint)
- .setMtbColr(new ObservableArrayList<>())
- .setRagSocCliente(defaultRagSocOfUL);
-
- setULToCurrentContext(value);
-
- if (closeProgress) finalProgress.dismiss();
-
- FBToast.successToast(mActivity, mActivity.getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
-
- if (onComplete != null) onComplete.run();
- }, ex -> {
- UtilityExceptions.defaultException(mActivity, ex, finalProgress);
- });
-
- }
-
- private void setULToCurrentContext(MtbColt mtbColt) {
- isFabVisible.set(false);
- shouldShowAddExtraItems.set(SettingsManager.iDB().isFlagCanAddExtraItemSpedizione());
- mArticoliInColloBottomSheetViewModel.mtbColt.set(mtbColt);
- }
-
- public void showCreatedUL() {
-
- this.mBindings.venditaOrdineInevasoFab.close(false);
- mActivity.startListaBancaliRegistratiActivity((ArrayList) mColliRegistrati);
- }
-
- @Override
- public void onColloClosed(Runnable onComplete, boolean shouldPrint) {
- if (thereIsAnOpenedUL()) {
-
- final Dialog progress = UtilityProgress.createDefaultProgressDialog(mActivity);
-
- final MtbColt currentMtbColt = mArticoliInColloBottomSheetViewModel.mtbColt.get();
-
- ColliMagazzinoRESTConsumer.canLUBeDeletedStatic(currentMtbColt, canBeDeleted -> {
-
- if (!canBeDeleted) {
- Runnable saveAction = () -> {
- ColliMagazzinoRESTConsumer.updateDataFineStatic(
- currentMtbColt,
- () -> distribuisciCollo(progress, (generatedMtbColts) -> {
- if (shouldPrint)
- printCollo(progress, generatedMtbColts, onComplete);
- else {
- postCloseOperations(generatedMtbColts, onComplete);
- progress.dismiss();
- }
- }), ex -> UtilityExceptions.defaultException(mActivity, ex, progress));
- };
-
- if (SettingsManager.iDB().isFlagAskPesoColloSpedizione()) {
-
- DialogInputPeso.make(mActivity, currentMtbColt.getCodTcol(), currentMtbColt.getPesoNettoKg(), currentMtbColt.getPesoKg(), (newCodTcol, newNetWeight, newGrossWeight) -> {
-
- currentMtbColt.setCodTcol(newCodTcol);
- currentMtbColt.setPesoNettoKg(newNetWeight);
- currentMtbColt.setPesoKg(newGrossWeight);
-
- saveAction.run();
- }).show();
- } else {
- saveAction.run();
- }
- } else {
- if (mtbColtSessionID != null) ColliDataRecover.closeSession(mtbColtSessionID);
- deleteCollo(progress, onComplete);
- }
-
-
- }, ex -> {
- UtilityExceptions.defaultException(mActivity, ex, progress);
- });
-
- } else {
- if (onComplete != null) onComplete.run();
- }
-
- }
-
-
- private void distribuisciCollo(Dialog progress, RunnableArgs> onComplete) {
-
- MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone();
-
- IOrdiniVendita ordiniVendita = ClassRouter.getInstance(ClassRouter.PATH.ORDINI_VENDITA);
-
- ordiniVendita.distribuisciCollo(cloneMtbColt, mTestateOrdini, mtbColts -> {
-
- if (mtbColtSessionID != null) ColliDataRecover.closeSession(mtbColtSessionID);
-
- ColliMagazzinoRESTConsumer.getMultipleByTestateStatic(mtbColts, true, onComplete::run, ex -> {
- UtilityExceptions.defaultException(mActivity, ex, progress);
- });
-
- }, ex -> {
- UtilityExceptions.defaultException(mActivity, ex, progress);
- });
- }
-
- private void printCollo(Dialog progress, List mtbColtsToPrint, Runnable onComplete) {
- DialogAskShouldPrint.make(mActivity, "Packing List", shouldPrint -> {
-
-<<<<<<< HEAD:app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
- if(shouldPrint) {
- PrinterRESTConsumer.getAvailablePrintersStatic(SettingsManager.i().userSession.depo.getCodMdep(), PrinterRESTConsumer.Type.PRIMARIA, value -> {
-=======
- if (shouldPrint) {
- PrinterRESTConsumer.getAvailablePrinters(SettingsManager.i().userSession.depo.getCodMdep(), PrinterRESTConsumer.Type.PRIMARIA, value -> {
->>>>>>> develop:app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
-
- if (value.size() > 0) {
- try {
- cyclicPrint(mtbColtsToPrint.iterator(), value.get(0), () -> {
- postCloseOperations(mtbColtsToPrint, onComplete);
- progress.dismiss();
- }, ex -> {
- progress.dismiss();
- String errorMessage = ex.getMessage();
- DialogSimpleMessageHelper.makeErrorDialog(
- mActivity,
- new SpannableString(errorMessage),
- null,
- null,
- R.string.button_ignore_print,
- () -> postCloseOperations(mtbColtsToPrint, onComplete)).show();
- });
-
- } catch (Exception ex) {
- UtilityExceptions.defaultException(mActivity, ex, progress);
- postCloseOperations(mtbColtsToPrint, onComplete);
- }
- } else {
- progress.dismiss();
- String errorMessage = "Nessuna stampante configurata";
- DialogSimpleMessageHelper.makeWarningDialog(mActivity, new SpannableString(errorMessage), null, () -> postCloseOperations(mtbColtsToPrint, onComplete)).show();
- }
- }, ex -> {
- UtilityExceptions.defaultException(mActivity, ex, progress);
- });
- } else {
- postCloseOperations(mtbColtsToPrint, onComplete);
- progress.dismiss();
- }
- }).show();
- }
-
-
- private void cyclicPrint(@NotNull Iterator sourceMtbColts, String printerName, Runnable onComplete, RunnableArgs onAbort) {
- if (sourceMtbColts.hasNext()) {
- singlePrint(sourceMtbColts.next(), printerName, () -> {
- cyclicPrint(sourceMtbColts, printerName, onComplete, onAbort);
- }, onAbort);
- } else {
- onComplete.run();
- }
- }
-
- private void singlePrint(MtbColt mtbColtToPrint, String printerName, Runnable onComplete, RunnableArgs onFailed) {
- ReportManager.getRightReportNameByGestione(mtbColtToPrint.getGestioneEnum(), reportName -> {
-
-<<<<<<< HEAD:app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
- PrinterRESTConsumer.printCollo(
- printerName,
- mtbColtToPrint,
- 1,
- reportName, onComplete, onFailed);
-
- }, onFailed);
-=======
- PrinterRESTConsumer.printCollo(
- printerName,
- mtbColtToPrint,
- 1,
- reportName, onComplete, onAbort);
-
- }, onAbort);
->>>>>>> develop:app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
- }
-
-
- private void deleteCollo(Dialog progress, Runnable onComplete) {
-
- ColliMagazzinoRESTConsumer.deleteColloStatic(mArticoliInColloBottomSheetViewModel.mtbColt.get(), () -> {
- mArticoliInColloBottomSheetViewModel.mtbColt.set(null);
-
- isFabVisible.set(true);
- shouldShowAddExtraItems.set(false);
-
- progress.dismiss();
-
-
- if (onComplete != null) onComplete.run();
- }, ex -> UtilityExceptions.defaultException(mActivity, ex, progress)
- );
- }
-
- public boolean thereIsAnOpenedUL() {
- return mArticoliInColloBottomSheetViewModel.mtbColt.get() != null;
- }
-
- public boolean thereIsAnyRowInUL() {
- return mArticoliInColloBottomSheetViewModel.mtbColt.get() != null &&
- mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr() != null &&
- mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr().size() > 0;
- }
-
-
- private void postCloseOperations(List generatedMtbColt, Runnable onComplete) {
-
- this.mColliRegistrati.addAll(generatedMtbColt);
-
- mArticoliInColloBottomSheetViewModel.mtbColt.set(null);
- isFabVisible.set(true);
- shouldShowAddExtraItems.set(false);
-
-
- for (int i = 0; i < this.mPickingList.size(); i++) {
-
- for (int k = 0; k < this.mPickingList.get(i).getWithdrawRows().size(); k++) {
-
- MtbColr withdrawRow = this.mPickingList.get(i).getWithdrawRows().get(k);
-
- this.mPickingList.get(i).setQtaCollo(this.mPickingList.get(i).getQtaCollo().subtract(withdrawRow.getQtaCol()));
- this.mPickingList.get(i).setQtaOrd(this.mPickingList.get(i).getQtaOrd().subtract(withdrawRow.getQtaCol()));
- this.mPickingList.get(i).setNumCnfCollo(this.mPickingList.get(i).getNumCnfCollo().subtract(withdrawRow.getNumCnf()));
- this.mPickingList.get(i).setNumCnfOrd(this.mPickingList.get(i).getNumCnfOrd().subtract(withdrawRow.getNumCnf()));
-
- }
-
- this.mPickingList.get(i).getWithdrawRows().clear();
- }
-
- removeListFilter();
- refreshOrderBy(true);
-
- if (onComplete != null) onComplete.run();
- }
-
-
- @Override
-<<<<<<< HEAD:app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
- public void onOrdineRowDispatch(final PickingObjectDTOOld item) {
- if(mArticoliInColloBottomSheetViewModel.mtbColt.get() != null){
-=======
- public void onOrdineRowDispatch(final PickingObjectDTO item) {
- if (mArticoliInColloBottomSheetViewModel.mtbColt.get() != null) {
->>>>>>> develop:app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
-
-
- List currentMtbColrs = mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr();
-
- List filteredMtbColrs = Stream.of(currentMtbColrs).filter(
- x -> x.getCodMart().equalsIgnoreCase(item.getCodMart()) &&
- (!SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV() || (SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV() && ((x.getPartitaMag() == null && item.getPartitaMag() == null) || (x.getPartitaMag() != null && x.getPartitaMag().equalsIgnoreCase(item.getPartitaMag()))))))
- .toList();
-
- BigDecimal qtaEvasaTotaleInMtbColr = BigDecimal.ZERO;
- int numCnfTotaleInMtbColr = 0;
-
- for (MtbColr mtbColr : filteredMtbColrs) {
- qtaEvasaTotaleInMtbColr = qtaEvasaTotaleInMtbColr.add(mtbColr.getQtaCol());
- numCnfTotaleInMtbColr += mtbColr.getNumCnf().intValue();
- }
-
-
- BigDecimal qtaDaEvadere = item.getQtaOrd().subtract(qtaEvasaTotaleInMtbColr);
- if (qtaDaEvadere.floatValue() < 0) qtaDaEvadere = BigDecimal.ZERO;
-
- int numCnfDaEvadere = item.getNumCnfOrd().intValue() - numCnfTotaleInMtbColr;
- if (numCnfDaEvadere < 0) numCnfDaEvadere = 0;
-
-
- AtomicBigDecimal qtaColEvasaInCurrentUL = new AtomicBigDecimal();
- AtomicBigDecimal numCnfEvasaInCurrentUL = new AtomicBigDecimal();
-
- Stream.of(item.getWithdrawRows())
- .filter(x -> ((x.getNumColloRif() == null) || Objects.equals(x.getNumColloRif(), item.getNumCollo()) &&
- ((x.getDataColloRifS() == null) || Objects.equals(x.getDataColloRifS(), item.getDataColloS())) &&
- ((x.getSerColloRif() == null) || Objects.equals(x.getSerColloRif(), item.getSerCollo()))) &&
- ((x.getGestioneRif() == null) || Objects.equals(x.getGestioneRif(), item.getGestione())))
- .forEach(x -> {
- qtaColEvasaInCurrentUL.addAndGet(x.getQtaCol());
- numCnfEvasaInCurrentUL.addAndGet(x.getNumCnf());
- });
-
- BigDecimal qtaDisponibile = (item.isDeactivated() ? item.getQtaOrd() : item.getQtaDisponibileCollo()).subtract(qtaColEvasaInCurrentUL.get());
- BigDecimal qtaTot = (item.isDeactivated() ? item.getQtaOrd() : item.getQtaCollo()).subtract(qtaColEvasaInCurrentUL.get());
-
- BigDecimal numCnfDisponibile = (item.isDeactivated() ? item.getNumCnfOrd() : item.getNumCnfDisponibileCollo()).subtract(numCnfEvasaInCurrentUL.get());
- BigDecimal numCnfTot = (item.isDeactivated() ? item.getNumCnfOrd() : item.getNumCnfCollo()).subtract(numCnfEvasaInCurrentUL.get());
-
- if (qtaDisponibile.floatValue() < 0) qtaDisponibile = BigDecimal.ZERO;
- if (qtaTot.floatValue() < 0) qtaTot = BigDecimal.ZERO;
-
- if (numCnfDisponibile.floatValue() < 0) numCnfDisponibile = BigDecimal.ZERO;
- if (numCnfTot.floatValue() < 0) numCnfTot = BigDecimal.ZERO;
-
- DialogInputQuantity.DTO dto = new DialogInputQuantity.DTO()
- .setBatchLot(item.getPartitaMag())
- .setCodArtFor(item.getCodArtFor())
- .setMtbAart(item.getMtbAart())
- .setQtaOrd(item.getQtaOrd())
- .setQtaDaEvadere(qtaDaEvadere)
- .setQtaDisponibile(qtaDisponibile)
- .setQtaTot(qtaTot)
- .setQtaEvasa(qtaEvasaTotaleInMtbColr)
- .setCanPartitaMagBeChanged(item.isDeactivated())
- .setMaxQta(qtaDisponibile);
-
- boolean batchLotEnabled = true;
-
-<<<<<<< HEAD:app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
- if(item.getTempPickData() != null) {
- PickingObjectDTOOld.PickData tmpPickData = item.getTempPickData();
-=======
- if (item.getTempPickData() != null) {
- PickingObjectDTO.PickData tmpPickData = item.getTempPickData();
->>>>>>> develop:app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
-
- if (tmpPickData.getQtaCnf() == null && tmpPickData.getNumCnf() != null && tmpPickData.getQtaTot() != null) {
- tmpPickData.setQtaCnf(tmpPickData.getQtaTot().divide(tmpPickData.getNumCnf(), 3, RoundingMode.HALF_EVEN));
- }
-
- boolean isTakenFromUL = tmpPickData.getSourceMtbColt() != null;
-
- if (tmpPickData.getMtbPartitaMag() != null) {
-
- if (!UtilityString.isNullOrEmpty(tmpPickData.getMtbPartitaMag().getPartitaMag())) {
- dto.setBatchLot(tmpPickData.getMtbPartitaMag().getPartitaMag());
- }
-
- if (tmpPickData.getMtbPartitaMag().getDataScadD() != null) {
- dto.setDataScad(tmpPickData.getMtbPartitaMag().getDataScadD());
- dto.setShouldAskDataScad(true);
- }
-
- batchLotEnabled = tmpPickData.getMtbPartitaMag().getFlagStato() == null || tmpPickData.getMtbPartitaMag().getFlagStato().equalsIgnoreCase("A");
- }
-
- boolean useQtaDaEvadere = false;
-
-<<<<<<< HEAD:app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
- if(tmpPickData.getQtaTot() != null) {
- useQtaDaEvadere = qtaDaEvadere.floatValue() < tmpPickData.getQtaTot().floatValue() && item.getMtbAart().isFlagQtaCnfFissaBoolean();
-=======
- if (tmpPickData.getQtaTot() != null) {
- useQtaDaEvadere = qtaDaEvadere.floatValue() < tmpPickData.getQtaTot().floatValue() && item.getMtbAart().isFlagQtaCnfFissa();
->>>>>>> develop:app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
- if (useQtaDaEvadere && !isTakenFromUL) {
- dto.setQtaTot(qtaDaEvadere);
- dto.setMaxQta(qtaDaEvadere);
-
-// if(isTakenFromUL) {
-// dto.setNumCnf(qtaDaEvadere.divide(tmpPickData.getQtaCnf(), 0, RoundingMode.HALF_UP).intValue());
-// }
-
- } else {
- if (SettingsManager.iDB().isFlagForceAllToColli()) {
-
- int numCnfColDaEvadere = numCnfDaEvadere < tmpPickData.getNumCnf().intValue() ? numCnfDaEvadere : tmpPickData.getNumCnf().intValue();
- dto.setNumCnf(numCnfColDaEvadere);
- dto.setQtaCnf(tmpPickData.getQtaCnf());
- dto.setQtaTot(tmpPickData.getQtaCnf().multiply(new BigDecimal(numCnfColDaEvadere)));
- dto.setQtaDaEvadere(tmpPickData.getQtaCnf().multiply(new BigDecimal(numCnfColDaEvadere)));
-
- } else {
- dto.setQtaTot(qtaDaEvadere.compareTo(tmpPickData.getQtaTot()) < 0 && !tmpPickData.isEanPeso() ? qtaDaEvadere : tmpPickData.getQtaTot());
- dto.setMaxQta(tmpPickData.getQtaTot());
-
- if (tmpPickData.getNumCnf() != null) {
- dto.setQtaCnf(tmpPickData.getQtaTot().divide(tmpPickData.getNumCnf(), 3, RoundingMode.HALF_UP));
- } else {
- dto.setQtaCnf(tmpPickData.getQtaTot());
- }
- }
-
-
- }
-
- if (tmpPickData.getQtaCnf() != null && useQtaDaEvadere) {
- dto.setQtaCnf(tmpPickData.getQtaCnf());
- }
- }
-
-
- if (dto.getQtaDaEvadere() != null && dto.getQtaDaEvadere().floatValue() > 0 && dto.getQtaCnf() != null && dto.getQtaCnf().floatValue() > 0) {
- if (useQtaDaEvadere && (dto.getQtaDaEvadere() != null && dto.getQtaDaEvadere().floatValue() > 0)) {
- dto.setNumCnf(dto.getQtaDaEvadere().divide(dto.getQtaCnf(), 3, RoundingMode.HALF_EVEN).intValue());
- } else {
- dto.setNumCnf((dto.getQtaTot().compareTo(dto.getQtaDaEvadere()) < 0 ? dto.getQtaTot() : dto.getQtaDaEvadere()).divide(dto.getQtaCnf(), RoundingMode.HALF_UP).intValue());
- if (dto.getNumCnf() == 0) dto.setNumCnf(1);
- }
- }
-
- dto.setCanPartitaMagBeChanged(false);
- dto.setCanDataScadBeChanged(false);
- } else {
-
- BigDecimal qtaCnf = null;
-
- if (item.getQtaCnfOrd() != null) {
- qtaCnf = item.getQtaCnfOrd();
- } else if (item.getQtaCnfCollo() != null) {
- qtaCnf = item.getQtaCnfCollo();
- } else if (item.getMtbAart() != null) {
- qtaCnf = item.getMtbAart().getQtaCnf();
- }
-
-
- if (qtaDisponibile != null && qtaDisponibile.compareTo(BigDecimal.ZERO) > 0) {
- dto.setNumCnf(qtaDisponibile.divide(qtaCnf, 3, RoundingMode.HALF_EVEN).setScale(0, RoundingMode.UP).intValue());
- } else if (qtaDaEvadere.compareTo(BigDecimal.ZERO) > 0) {
- dto.setNumCnf(qtaDaEvadere.divide(qtaCnf, 3, RoundingMode.HALF_EVEN).setScale(0, RoundingMode.UP).intValue());
- }
-
- dto.setQtaCnf(qtaCnf);
- }
-
- boolean canOverflowQuantity = SettingsManager.iDB().isFlagCanAddExtraQuantitySpedizione();
-
- if (!batchLotEnabled) {
- this.showBatchLotDisabledWarning(dto.getBatchLot(), () -> {
- DialogInputQuantity.makeBase(mActivity, dto, canOverflowQuantity, (quantityDTO, closeUL) -> onOrdineRowDispatched(item, quantityDTO, closeUL), null).show();
- }, null);
- } else {
- DialogInputQuantity.makeBase(mActivity, dto, canOverflowQuantity, (quantityDTO, closeUL) -> onOrdineRowDispatched(item, quantityDTO, closeUL), null).show();
- }
- }
- }
-
-<<<<<<< HEAD:app/src/main/java/it/integry/integrywmsnative/gest/spedizione/viewmodel/VenditaOrdineInevasoViewModel.java
- private void onOrdineRowDispatched(PickingObjectDTOOld item, QuantityDTO quantityDTO, boolean closeUL){
-=======
- private void onOrdineRowDispatched(PickingObjectDTO item, QuantityDTO quantityDTO, boolean closeUL) {
->>>>>>> develop:app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java
- final Dialog progress = UtilityProgress.createDefaultProgressDialog(mActivity);
-
- final MtbColr mtbColr = new MtbColr()
- .setCodMart(item.getCodMart())
- .setPartitaMag(UtilityString.empty2null(quantityDTO.batchLot.get()))
- .setQtaCol(quantityDTO.qtaTot.getBigDecimal())
- .setQtaCnf(quantityDTO.qtaCnf.getBigDecimal())
- .setNumCnf(quantityDTO.numCnf.getBigDecimal())
- .setDescrizione(item.getDescrizioneEstesa())
- .setDatetimeRow(UtilityDate.getDateInstance());
-
- if (item.getTempPickData() != null && item.getTempPickData().getSourceMtbColt() != null) {
- MtbColt sourceMtbColt = item.getTempPickData().getSourceMtbColt();
-
- mtbColr
- .setCodJcom(UtilityString.empty2null(item.getCodJcom()))
- .setSerColloRif(UtilityString.empty2null(sourceMtbColt.getSerCollo()))
- .setNumColloRif(sourceMtbColt.getNumCollo())
- .setGestioneRif(UtilityString.empty2null(sourceMtbColt.getGestione()))
- .setDataColloRif(UtilityString.empty2null(sourceMtbColt.getDataColloS()));
-
- MtbColt currentOpenedMtbColt = mArticoliInColloBottomSheetViewModel.mtbColt.get();
-
- if (currentOpenedMtbColt.getCodTcol() == null &&
- currentOpenedMtbColt.getPesoKg() == null &&
- currentOpenedMtbColt.getPesoNettoKg() == null) {
-
- currentOpenedMtbColt.setCodTcol(sourceMtbColt.getCodTcol());
- currentOpenedMtbColt.setPesoKg(sourceMtbColt.getPesoKg());
- currentOpenedMtbColt.setPesoNettoKg(sourceMtbColt.getPesoNettoKg());
- }
-
- } else if (item.getNumCollo() != null) {
- mtbColr
- .setCodJcom(UtilityString.empty2null(item.getCodJcom()))
- .setSerColloRif(UtilityString.empty2null(item.getSerCollo()))
- .setNumColloRif(item.getNumCollo())
- .setGestioneRif(UtilityString.empty2null(item.getGestione()))
- .setDataColloRif(UtilityString.empty2null(item.getDataColloS()));
- }
-
-
- mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
-
- MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone();
- cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE);
-
- cloneMtbColt.setMtbColr(new ObservableArrayList());
- cloneMtbColt.getMtbColr().add(mtbColr);
-
-
- boolean shouldPrint = true;
- //Se è l'unico articolo del collo
- if (closeUL && mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr().size() == 0) {
-// this.addTipoPedanaFromArt(item, cloneMtbColt, closeUL, progress);
- shouldPrint = false;
- if (UtilityString.isNullOrEmpty(cloneMtbColt.getCodTcol())) {
- cloneMtbColt.setCodTcol(item.getCodTcol());
- cloneMtbColt.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
- }
- }
-
-
- onOrdineRowSave(item, cloneMtbColt, closeUL, !shouldPrint, progress);
-
-
- }
-
- private void addTipoPedanaFromArt(PickingObjectDTOOld item, MtbColt cloneMtbColt, boolean closeUL, Dialog progress) {
-
- String codTcol = item.getCodTcol();
- if (codTcol != null) {
- MagazzinoRESTConsumer.getTipoCollo(codTcol, mtbTcol -> {
- if (mtbTcol != null) {
- final MtbColr mtbColr = new MtbColr()
- .setCodMart(mtbTcol.getCodMart())
- .setQtaCol(BigDecimal.ONE)
- .setDescrizione(mtbTcol.getDescrizione())
- .setDatetimeRow(UtilityDate.getDateInstance());
- mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
- cloneMtbColt.getMtbColr().add(mtbColr);
-
- onOrdineRowSave(item, cloneMtbColt, closeUL, true, progress);
- } else {
- onOrdineRowSave(item, cloneMtbColt, closeUL, false, progress);
- }
- }, ex -> {
- UtilityExceptions.defaultException(mActivity, ex, progress);
- });
- } else {
- onOrdineRowSave(item, cloneMtbColt, closeUL, false, progress);
- }
-
- }
-
-
- private void onOrdineRowSave(PickingObjectDTOOld item, MtbColt cloneMtbColt, boolean closeUL, boolean hasTipoCollo, Dialog progress) {
- ColliMagazzinoRESTConsumer.saveColloStatic(cloneMtbColt, value -> {
-
- MtbColr mtbColr = cloneMtbColt.getMtbColr().get(0);
-
- mtbColr
- .setDataCollo(value.getDataColloS())
- .setNumCollo(value.getNumCollo())
- .setGestione(value.getGestione())
- .setSerCollo(value.getSerCollo())
- .setRiga(value.getMtbColr().get(0).getRiga())
- .setUntMis(item.getMtbAart().getUntMis())
- .setMtbAart(item.getMtbAart());
-
- item.getWithdrawRows().add(mtbColr);
-
- mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr().add(mtbColr);
-
- //Chiamato removeListFilter perché cosi mi cancella tutti i dati di pick temporanei
- removeListFilter();
-
-
- FBToast.successToast(mActivity, mActivity.getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
-
- progress.dismiss();
-
- if (closeUL) onColloClosed(null, !hasTipoCollo);
- }, ex -> {
- UtilityExceptions.defaultException(mActivity, ex, progress);
- });
- }
-
-
- private void addExtraItem() {
- DialogScanArt.make(mActivity, (status, mtbAart, ean128Model) -> {
- if (status == DialogConsts.Results.YES) {
- this.dispatchExtraItem(mtbAart, ean128Model);
- }
- }).show();
- }
-
-
- private void dispatchExtraItem(MtbAart mtbAart, Ean128Model ean128Model) {
- DialogInputQuantity.DTO qtaDto = new DialogInputQuantity.DTO();
-
- qtaDto.setMtbAart(mtbAart);
-
- qtaDto.setQtaCnf(mtbAart.getQtaCnf());
- qtaDto.setNumCnf(1);
- qtaDto.setQtaTot(mtbAart.getQtaCnf());
-
- qtaDto.setQtaDaEvadere(new BigDecimal(-1));
- qtaDto.setQtaDisponibile(new BigDecimal(-1));
-
- qtaDto.setCanPartitaMagBeChanged(true);
- qtaDto.setCanDataScadBeChanged(true);
-
-
- if (ean128Model != null) {
- if (!UtilityString.isNullOrEmpty(ean128Model.BatchLot)) {
- qtaDto.setBatchLot(ean128Model.BatchLot);
- qtaDto.setCanPartitaMagBeChanged(false);
- }
-
- try {
- if (!UtilityString.isNullOrEmpty(ean128Model.BestBefore)) {
- qtaDto.setDataScad(UtilityDate.recognizeDate(ean128Model.BestBefore));
- qtaDto.setCanDataScadBeChanged(false);
- } else if (!UtilityString.isNullOrEmpty(ean128Model.Expiry)) {
- qtaDto.setDataScad(UtilityDate.recognizeDate(ean128Model.Expiry));
- qtaDto.setCanDataScadBeChanged(false);
- }
-
- } catch (Exception e) {
- UtilityLogger.errorMe(e);
- }
-
-
- if (ean128Model.Count != null && ean128Model.Count > 0) {
- qtaDto.setNumCnf(ean128Model.Count);
- }
-
- if (ean128Model.NetWeightKg != null && ean128Model.NetWeightKg > 0 && !mtbAart.isFlagQtaCnfFissaBoolean()) {
- qtaDto.setQtaTot(new BigDecimal(ean128Model.NetWeightKg));
- } else {
- qtaDto.setQtaTot(qtaDto.getQtaCnf().multiply(new BigDecimal(qtaDto.getNumCnf())));
- }
-
-
- // qtaDto.setShouldAskDataScad(true);
- }
-
-
- DialogInputQuantity.makeBase(mActivity, qtaDto, true, (quantityDTO) -> {
- onExtraItemDispatched(mtbAart, quantityDTO, false);
- }, () -> {
- BarcodeManager.enable();
- }).show();
- }
-
- private void onExtraItemDispatched(MtbAart item, QuantityDTO quantityDTO, boolean closeUL) {
- final Dialog progress = UtilityProgress.createDefaultProgressDialog(mActivity);
-
- final MtbColr mtbColr = new MtbColr()
- .setCodMart(item.getCodMart())
- .setPartitaMag(UtilityString.empty2null(quantityDTO.batchLot.get()))
- .setQtaCol(quantityDTO.qtaTot.getBigDecimal())
- .setQtaCnf(quantityDTO.qtaCnf.getBigDecimal())
- .setNumCnf(quantityDTO.numCnf.getBigDecimal())
- .setDescrizione(item.getDescrizioneEstesa())
- .setDatetimeRow(UtilityDate.getDateInstance());
-
-
- mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
-
- MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone();
- cloneMtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP);
-
- cloneMtbColt.setMtbColr(new ObservableArrayList());
- cloneMtbColt.getMtbColr().add(mtbColr);
-
- ColliMagazzinoRESTConsumer.saveColloStatic(cloneMtbColt, value -> {
-
- mtbColr
- .setDataCollo(value.getDataColloS())
- .setNumCollo(value.getNumCollo())
- .setGestione(value.getGestione())
- .setSerCollo(value.getSerCollo())
- .setRiga(value.getMtbColr().get(0).getRiga())
- .setUntMis(item.getUntMis())
- .setMtbAart(item);
-
-
- mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr().add(mtbColr);
-
- //Chiamato removeListFilter perché cosi mi cancella tutti i dati di pick temporanei
- removeListFilter();
-
-
- FBToast.successToast(mActivity, mActivity.getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
-
- progress.dismiss();
-
- if (closeUL) onColloClosed(null, true);
- }, ex -> {
- UtilityExceptions.defaultException(mActivity, ex, progress);
- });
- }
-
-
- public void manualSearch() {
- BarcodeManager.disable();
- DialogSimpleInputHelper.makeInputDialog(mActivity, "Inserisci il codice a barre", codice -> {
-
- this.onScanSuccessfull.run(new BarcodeScanDTO().setStringValue(codice).setType(BarcodeType.CODE128));
-
- }, BarcodeManager::enable).show();
- }
-
-
- private void showBatchLotDisabledWarning(String batchLot, Runnable onAccepted, Runnable onRejected) {
-
- DialogSimpleMessageHelper.makeWarningDialog(mActivity, new SpannableString(String.format(mActivity.getText(R.string.batch_lot_not_enabled).toString(), batchLot)), null, onAccepted, onRejected).show();
-
- }
-
-}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java
index 0bcb7feb..3996bcbc 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/versamento_merce/viewmodel/VersamentoMerceViewModel.java
@@ -69,11 +69,11 @@ public class VersamentoMerceViewModel {
public void openLU() {
DialogScanOrCreateLU.make(mContext, true, false, true, false, (mtbColt, created) -> {
- if(mtbColt == null) {
- ((IPoppableActivity)mContext).pop();
- } else if((mtbColt.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) && mtbColt.getSegno().equals(+1)){
+ if (mtbColt == null) {
+ ((IPoppableActivity) mContext).pop();
+ } else if ((mtbColt.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) && mtbColt.getSegno().equals(+1)) {
setMtbColt(mtbColt);
- } else if(mtbColt.getGestioneEnum() == GestioneEnum.VENDITA && mtbColt.getSegno().equals(+1)){
+ } else if (mtbColt.getGestioneEnum() == GestioneEnum.VENDITA) {
setMtbColt(mtbColt);
} else {
DialogSimpleMessageHelper.makeWarningDialog(mContext,
@@ -98,14 +98,14 @@ public class VersamentoMerceViewModel {
Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
- if(UtilityBarcode.isEtichettaPosizione(data)){
+ if (UtilityBarcode.isEtichettaPosizione(data)) {
progressDialog.show();
this.executeEtichettaPosizione(data, progressDialog);
- } else if(data.getType() == BarcodeType.EAN8 || data.getType() == BarcodeType.EAN13 || data.getType() == BarcodeType.UPCA){
+ } else if (data.getType() == BarcodeType.EAN8 || data.getType() == BarcodeType.EAN13 || data.getType() == BarcodeType.UPCA) {
//searchArtInt(data.getStringValue());
- } else if(UtilityBarcode.isEtichettaAnonima(data)) {
- this.executeEtichettaLU(data.getStringValue(), true, progressDialog);
- }else if(UtilityBarcode.isEtichetta128(data)) {
+ } else if (UtilityBarcode.isEtichettaAnonima(data)) {
+ this.executeEtichettaLU(data.getStringValue(), true, progressDialog);
+ } else if (UtilityBarcode.isEtichetta128(data)) {
this.executeEtichettaEan128(data, progressDialog);
} else {
BarcodeManager.enable();
@@ -119,11 +119,11 @@ public class VersamentoMerceViewModel {
.filter(x -> x.getPosizione().equalsIgnoreCase(barcodeScanDTO.getStringValue()))
.single();
- if(foundPosizione.isFlagMonoCollo()) {
+ if (foundPosizione.isFlagMonoCollo()) {
PosizioniRESTConsumer.getBancaliInPosizione(foundPosizione, mtbColtList -> {
- if(mtbColtList == null || mtbColtList.size() == 0){
+ if (mtbColtList == null || mtbColtList.size() == 0) {
progressDialog.dismiss();
BarcodeManager.enable();
DialogCommon.showNoULFound(mContext, null);
@@ -133,7 +133,7 @@ public class VersamentoMerceViewModel {
//TAKE HERE
pickMerceULtoUL(mtbColt, progressDialog);
- }, ex -> {
+ }, ex -> {
UtilityExceptions.defaultException(mContext, ex, progressDialog);
BarcodeManager.enable();
});
@@ -153,14 +153,15 @@ public class VersamentoMerceViewModel {
String barcodeProd = null;
- if(!UtilityString.isNullOrEmpty(ean128Model.Sscc)) barcodeProd = ean128Model.Sscc;
- if(!UtilityString.isNullOrEmpty(ean128Model.Gtin)) barcodeProd = ean128Model.Gtin;
- if(!UtilityString.isNullOrEmpty(ean128Model.Content)) barcodeProd = ean128Model.Content;
+ if (!UtilityString.isNullOrEmpty(ean128Model.Sscc)) barcodeProd = ean128Model.Sscc;
+ if (!UtilityString.isNullOrEmpty(ean128Model.Gtin)) barcodeProd = ean128Model.Gtin;
+ if (!UtilityString.isNullOrEmpty(ean128Model.Content))
+ barcodeProd = ean128Model.Content;
- if(!UtilityString.isNullOrEmpty(barcodeProd)) {
+ if (!UtilityString.isNullOrEmpty(barcodeProd)) {
- if(!UtilityString.isNullOrEmpty(ean128Model.Sscc)){
+ if (!UtilityString.isNullOrEmpty(ean128Model.Sscc)) {
this.executeEtichettaLU(ean128Model.Sscc, false, progressDialog);
} else {
DialogCommon.showNoULFound(mContext, null);
@@ -174,19 +175,17 @@ public class VersamentoMerceViewModel {
progressDialog.dismiss();
BarcodeManager.enable();
}
- }, ex-> {
+ }, ex -> {
UtilityExceptions.defaultException(mContext, ex, progressDialog);
BarcodeManager.enable();
});
}
-
-
private void executeEtichettaLU(String sscc, boolean isAnonima, Dialog progressDialog) {
ColliMagazzinoRESTConsumer.getBySSCCStatic(sscc, true, false, mtbColt -> {
- if(mtbColt == null && !isAnonima) {
+ if (mtbColt == null && !isAnonima) {
DialogCommon.showNoULFound(mContext, null);
BarcodeManager.enable();
progressDialog.dismiss();
@@ -194,8 +193,8 @@ public class VersamentoMerceViewModel {
showWrongGestioneUL();
BarcodeManager.enable();
progressDialog.dismiss();
- } else {
- if(mtbColt == null && isAnonima) {
+ } else {
+ if (mtbColt == null && isAnonima) {
ColliMagazzinoRESTConsumer.createColloFromEtichettaAnonima(sscc, GestioneEnum.LAVORAZIONE, mtbColtAnonimo -> {
pickMerceULtoUL(mtbColtAnonimo, progressDialog);
}, ex -> {
@@ -206,12 +205,10 @@ public class VersamentoMerceViewModel {
} else {
pickMerceULtoUL(mtbColt, progressDialog);
}
-
-
}
- }, ex -> {
+ }, ex -> {
UtilityExceptions.defaultException(mContext, ex, progressDialog);
BarcodeManager.enable();
});
@@ -219,10 +216,10 @@ public class VersamentoMerceViewModel {
private void updatePosizione(MtbDepoPosizione mtbDepoPosizione, boolean shouldAskLivello, Dialog progressDialog) {
- if(shouldAskLivello) {
+ if (shouldAskLivello) {
DialogAskLivelloPosizione.make(mContext, mtbDepoPosizione, false, newPosizione -> {
- if(newPosizione == null) {
+ if (newPosizione == null) {
updatePosizione(mtbDepoPosizione, shouldAskLivello, progressDialog);
} else {
updatePosizione(newPosizione, false, progressDialog);
@@ -263,22 +260,22 @@ public class VersamentoMerceViewModel {
askQuantities(pickedAarts.iterator(), destNewMtbColr, () -> {
BarcodeManager.enable();
- if(destNewMtbColr != null && destNewMtbColr.size() > 0){
+ if (destNewMtbColr != null && destNewMtbColr.size() > 0) {
MtbColt clonedSourceTestata = (MtbColt) sourceMtbColt.clone();
MtbColt clonedDestTestata = (MtbColt) destMtbColt.clone();
ObservableArrayList mtbColrSourceObservableField = new ObservableArrayList<>();
ObservableArrayList mtbColrDestObservableField = new ObservableArrayList<>();
- for(int i = 0; i < destNewMtbColr.size(); i++) {
+ for (int i = 0; i < destNewMtbColr.size(); i++) {
MtbColr cloneMtbColr = (MtbColr) destNewMtbColr.get(i).clone();
boolean destroyMtbColrReferences = false;
//Se le gestioni sono uguali faccio uno storno sulla sorgente e non lavoro con
//i riferimenti
- if(sourceMtbColt.getGestioneEnum() == destMtbColt.getGestioneEnum() &&
- (/*sourceMtbColt.getGestioneEnum() == GestioneEnum.ACQUISTO ||*/ sourceMtbColt.getGestioneEnum() == GestioneEnum.VENDITA)){
+ if ((sourceMtbColt.getGestioneEnum() == destMtbColt.getGestioneEnum() && sourceMtbColt.getGestioneEnum() == GestioneEnum.VENDITA) ||
+ (sourceMtbColt.getGestioneEnum() == GestioneEnum.VENDITA && sourceMtbColt.getSegno() == -1 && destMtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE)) {
destroyMtbColrReferences = true;
MtbColr stornoSourceMtbColr = (MtbColr) destNewMtbColr.get(i).clone();
@@ -300,7 +297,7 @@ public class VersamentoMerceViewModel {
mtbColrSourceObservableField.add(stornoSourceMtbColr);
}
- if(!destroyMtbColrReferences) {
+ if (!destroyMtbColrReferences) {
cloneMtbColr
.setGestioneRif(cloneMtbColr.getGestione())
.setSerColloRif(cloneMtbColr.getSerCollo())
@@ -308,7 +305,7 @@ public class VersamentoMerceViewModel {
.setDataColloRif(cloneMtbColr.getDataColloS());
}
- if(sourceMtbColt.getGestioneEnum() == GestioneEnum.VENDITA && sourceMtbColt.getSegno() == +1){
+ if (sourceMtbColt.getGestioneEnum() == GestioneEnum.VENDITA && sourceMtbColt.getSegno() == +1) {
cloneMtbColr.setCodJcom(null);
}
@@ -342,9 +339,9 @@ public class VersamentoMerceViewModel {
}
- private void askQuantities(Iterator sourceMtbColrs, List destMtbColr, Runnable onComplete, Runnable onAbort){
+ private void askQuantities(Iterator sourceMtbColrs, List destMtbColr, Runnable onComplete, Runnable onAbort) {
- if(sourceMtbColrs.hasNext()){
+ if (sourceMtbColrs.hasNext()) {
askSingleQuantity(sourceMtbColrs.next(), mtbColr -> {
@@ -383,6 +380,16 @@ public class VersamentoMerceViewModel {
}
+
+ private void askULVenditaConfirm(RunnableArgs callback) {
+ DialogSimpleMessageHelper.makeWarningDialog(
+ mContext,
+ new SpannableString(mContext.getResources().getString(R.string.lu_gest_v_loading_alert)),
+ null,
+ () -> callback.run(true),
+ () -> callback.run(false)).show();
+ }
+
private void showWrongGestioneUL() {
DialogSimpleMessageHelper.makeWarningDialog(mContext,
new SpannableString(Html.fromHtml(mContext.getResources().getText(R.string.gestione_V_not_accepted_message).toString())),
@@ -391,18 +398,13 @@ public class VersamentoMerceViewModel {
- /* private void createNewLU(RunnableArgs onComplete ,RunnableArgs onFailed) {
- ColliMagazzinoRESTConsumer.createColloLavorazione(+1, onComplete, onFailed);
- }
-*/
-
private void saveLUs(MtbColt mtbColt1, MtbColt mtbColt2) {
ArrayList mtbColts = new ArrayList<>();
mtbColts.add(mtbColt1);
mtbColts.add(mtbColt2);
- for(MtbColt mtbColt : mtbColts) {
+ for (MtbColt mtbColt : mtbColts) {
mtbColt.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
for (int i = 0; i < mtbColt.getMtbColr().size(); i++) {
diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java
index 08ea7b30..de6aad1a 100644
--- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java
+++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java
@@ -239,8 +239,22 @@ public class DialogScanOrCreateLU {
})
.show();
} else {
- BarcodeManager.enable();
- sendMtbColt(mtbColt, progressDialog, false);
+ if(mtbColt.getGestioneEnum() == GestioneEnum.VENDITA && mtbColt.getSegno() == -1) {
+ DialogSimpleMessageHelper.makeWarningDialog(mContext,
+ new SpannableString(mContext.getResources().getText(R.string.lu_gest_v_loading_alert)),
+ null, () -> {
+ BarcodeManager.enable();
+ sendMtbColt(mtbColt, progressDialog, false);
+ }, () -> {
+ BarcodeManager.enable();
+ progressDialog.dismiss();
+ })
+ .show();
+ } else {
+
+ BarcodeManager.enable();
+ sendMtbColt(mtbColt, progressDialog, false);
+ }
}
diff --git a/app/src/main/res/layout/activity_vendita_ordine_inevaso.xml b/app/src/main/res/layout/activity_vendita_ordine_inevaso.xml
deleted file mode 100644
index 53154b95..00000000
--- a/app/src/main/res/layout/activity_vendita_ordine_inevaso.xml
+++ /dev/null
@@ -1,297 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 81389a48..9ca72032 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -58,6 +58,7 @@
Inserisci eventuali note aggiuntive della tua UL
Non è possibile scansionare il barcode di una UL adesso
L\'UL selezionata è già agganciata ad un documento per cui non può essere utilizzata
+ Stai caricando una UL di vendita. Sei sicuro di voler continuare?
Magazzino
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index f0dd36d8..20f6fa3b 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -235,6 +235,7 @@
The production line will not be saved because you are selecting orders for different productions
Logistics Unit\'s barcode is not accepted at this moment
Selected LU is already attached to a document hence can\'t be opened
+ You are loading a sales logistics unit. Are you sure you want to continue?
Recovering data
Wait a moment