Implementazione del DataCache per gestire lo spostamento dati da un'activity all'altra.
Iniziata implementazione del recover del collo di Vendita.
This commit is contained in:
@@ -13,21 +13,17 @@ import androidx.drawerlayout.widget.DrawerLayout;
|
||||
import androidx.appcompat.app.ActionBarDrawerToggle;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.SearchView;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker;
|
||||
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
|
||||
import it.integry.integrywmsnative.core.interfaces.IRecyclerFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.ISearcableFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
@@ -207,8 +203,8 @@ public class MainActivity extends AppCompatActivity
|
||||
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
if(fragment instanceof IRecyclerFragment) {
|
||||
((IRecyclerFragment) fragment).setWaterfallToolbar(mBinding.appBarMain.waterfallToolbar);
|
||||
if(fragment instanceof IScrollableFragment) {
|
||||
((IScrollableFragment) fragment).setWaterfallToolbar(mBinding.appBarMain.waterfallToolbar);
|
||||
}
|
||||
|
||||
if(fragment instanceof ISelectAllFragment && ((ISelectAllFragment)fragment).isEnabled()) {
|
||||
|
||||
@@ -8,12 +8,16 @@ import com.orhanobut.logger.Logger;
|
||||
|
||||
import io.fabric.sdk.android.Fabric;
|
||||
import it.integry.integrywmsnative.BuildConfig;
|
||||
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.REST.model.DistribuzioneColloDTO;
|
||||
import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker;
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||
import it.integry.integrywmsnative.core.data_recover.ColliDataRecover;
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.settings.Stash;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityToast;
|
||||
@@ -85,11 +89,19 @@ public class AppContext {
|
||||
private void initRecoverColli() {
|
||||
ColliDataRecover.init(mContext);
|
||||
|
||||
// if(ColliDataRecover.thereIsAnExistantSession()){
|
||||
// MtbColt recoveredMtbColt = ColliDataRecover.getFirstSession();
|
||||
//
|
||||
//
|
||||
// }
|
||||
if(ColliDataRecover.thereIsAnExistantSession()){
|
||||
Integer recoveredMtbColtID = ColliDataRecover.getFirstSessionID();
|
||||
MtbColt recoveredMtbColt = ColliDataRecover.getSession(recoveredMtbColtID);
|
||||
|
||||
if(recoveredMtbColt != null && recoveredMtbColt.getGestioneEnum() == GestioneEnum.VENDITA && !UtilityString.isNullOrEmpty(recoveredMtbColt.getFiltroOrdini())) {
|
||||
ColliMagazzinoRESTConsumer.distribuisciCollo(recoveredMtbColt, DistribuzioneColloDTO.CriterioDistribuzione.UPDATE,
|
||||
mtbColts -> {
|
||||
ColliDataRecover.closeSession(recoveredMtbColtID);
|
||||
|
||||
},
|
||||
ex -> UtilityExceptions.defaultException(mContext, ex));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
package it.integry.integrywmsnative.core.data_cache;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class DataCache {
|
||||
|
||||
private static List<DataCacheDTO> dataCacheList = new ArrayList<>();
|
||||
|
||||
|
||||
public static String addItem(Object item) {
|
||||
String uniqueID = UUID.randomUUID().toString();
|
||||
|
||||
DataCacheDTO dataCacheDTO = new DataCacheDTO()
|
||||
.setItem(item)
|
||||
.setUUID(uniqueID);
|
||||
|
||||
dataCacheList.add(dataCacheDTO);
|
||||
|
||||
return uniqueID;
|
||||
}
|
||||
|
||||
public static <T>T retrieveItem(String uuid) {
|
||||
|
||||
List<DataCacheDTO> dataCacheTemp = Stream.of(dataCacheList)
|
||||
.filter(x -> x.getUUID().equals(uuid)).toList();
|
||||
|
||||
Object foundDataCache = null;
|
||||
|
||||
if(dataCacheTemp != null && dataCacheTemp.size() > 0) {
|
||||
foundDataCache = dataCacheTemp.get(0).getItem();
|
||||
dataCacheList.remove(dataCacheTemp.get(0));
|
||||
}
|
||||
|
||||
return (T)foundDataCache;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package it.integry.integrywmsnative.core.data_cache;
|
||||
|
||||
public class DataCacheDTO {
|
||||
|
||||
private String UUID;
|
||||
private Object item;
|
||||
|
||||
public String getUUID() {
|
||||
return UUID;
|
||||
}
|
||||
|
||||
public DataCacheDTO setUUID(String UUID) {
|
||||
this.UUID = UUID;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Object getItem() {
|
||||
return item;
|
||||
}
|
||||
|
||||
public DataCacheDTO setItem(Object item) {
|
||||
this.item = item;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -2,9 +2,18 @@ package it.integry.integrywmsnative.core.data_recover;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.google.android.gms.common.util.IOUtils;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -19,6 +28,7 @@ public class ColliDataRecover {
|
||||
private String serCollo;
|
||||
private String dataCollo;
|
||||
private String gestioneCollo;
|
||||
private String filtro;
|
||||
|
||||
public int getNumCollo() {
|
||||
return numCollo;
|
||||
@@ -55,6 +65,15 @@ public class ColliDataRecover {
|
||||
this.gestioneCollo = gestioneCollo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFiltro() {
|
||||
return filtro;
|
||||
}
|
||||
|
||||
public RecoverDTO setFiltro(String filtro) {
|
||||
this.filtro = filtro;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
private static Context mContext;
|
||||
@@ -63,36 +82,48 @@ public class ColliDataRecover {
|
||||
|
||||
public static void init(Context context) {
|
||||
mContext = context;
|
||||
|
||||
if(isFilePresent(CommonConst.Files.RECOVER_COLLO_FILE)) {
|
||||
loadLocalFile();
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean thereIsAnExistantSession() {
|
||||
return mtbColtsSessions.size() > 0;
|
||||
}
|
||||
|
||||
public static MtbColt getFirstSession() {
|
||||
public static Integer getFirstSessionID() {
|
||||
|
||||
if(thereIsAnExistantSession()){
|
||||
RecoverDTO dto = mtbColtsSessions.get(0);
|
||||
mtbColtsSessions.remove(dto);
|
||||
|
||||
return new MtbColt()
|
||||
.setNumCollo(dto.getNumCollo())
|
||||
.setSerCollo(dto.getSerCollo())
|
||||
.setGestione(dto.getGestioneCollo())
|
||||
.setDataCollo(dto.getDataCollo());
|
||||
return 0;
|
||||
|
||||
|
||||
} else return null;
|
||||
|
||||
}
|
||||
|
||||
public static MtbColt getSession(Integer sessionID) {
|
||||
|
||||
if(sessionID == null) return null;
|
||||
|
||||
RecoverDTO dto = mtbColtsSessions.get(sessionID);
|
||||
|
||||
return new MtbColt()
|
||||
.setNumCollo(dto.getNumCollo())
|
||||
.setSerCollo(dto.getSerCollo())
|
||||
.setGestione(dto.getGestioneCollo())
|
||||
.setDataCollo(dto.getDataCollo())
|
||||
.setFiltroOrdini(dto.getFiltro());
|
||||
}
|
||||
|
||||
public static int startNewSession(MtbColt mtbColtSession) {
|
||||
|
||||
RecoverDTO recoverDTO = new RecoverDTO()
|
||||
.setDataCollo(mtbColtSession.getDataColloS())
|
||||
.setNumCollo(mtbColtSession.getNumCollo())
|
||||
.setSerCollo(mtbColtSession.getSerCollo())
|
||||
.setGestioneCollo(mtbColtSession.getGestione());
|
||||
.setGestioneCollo(mtbColtSession.getGestione())
|
||||
.setFiltro(mtbColtSession.getFiltroOrdini());
|
||||
|
||||
mtbColtsSessions.add(recoverDTO);
|
||||
updateLocalFile();
|
||||
@@ -105,6 +136,28 @@ public class ColliDataRecover {
|
||||
}
|
||||
|
||||
|
||||
private static void loadLocalFile() {
|
||||
InputStream inputStream;
|
||||
|
||||
Gson gson = new Gson();
|
||||
|
||||
try {
|
||||
inputStream = mContext.openFileInput(CommonConst.Files.RECOVER_COLLO_FILE);
|
||||
|
||||
byte[] bytes = IOUtils.readInputStreamFully(inputStream);
|
||||
String jsonString = new String(bytes);
|
||||
|
||||
Type listType = new TypeToken<ArrayList<RecoverDTO>>(){}.getType();
|
||||
mtbColtsSessions = gson.fromJson(jsonString, listType);
|
||||
|
||||
inputStream.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
UtilityExceptions.defaultException(mContext, e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static void updateLocalFile() {
|
||||
FileOutputStream outputStream;
|
||||
|
||||
@@ -119,7 +172,13 @@ public class ColliDataRecover {
|
||||
e.printStackTrace();
|
||||
UtilityExceptions.defaultException(mContext, e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static boolean isFilePresent(String fileName) {
|
||||
String path = mContext.getFilesDir().getAbsolutePath() + "/" + fileName;
|
||||
File file = new File(path);
|
||||
return file.exists();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package it.integry.integrywmsnative.core.interfaces;
|
||||
|
||||
import it.integry.plugins.waterfalltoolbar.WaterfallToolbar;
|
||||
|
||||
public interface IRecyclerFragment {
|
||||
public interface IScrollableFragment {
|
||||
|
||||
void setWaterfallToolbar(WaterfallToolbar waterfallToolbar);
|
||||
|
||||
@@ -5,13 +5,12 @@ import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import androidx.appcompat.app.ActionBar;
|
||||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import android.os.Bundle;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.appcompat.widget.SearchView;
|
||||
|
||||
import android.text.Html;
|
||||
import android.text.SpannableString;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -31,6 +30,7 @@ import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.CommonConst;
|
||||
import it.integry.integrywmsnative.core.REST.CommonRESTException;
|
||||
import it.integry.integrywmsnative.core.coollection.Coollection;
|
||||
import it.integry.integrywmsnative.core.data_cache.DataCache;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.interfaces.ISearcableFragment;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
@@ -39,7 +39,7 @@ import it.integry.integrywmsnative.gest.accettazione.core.AccettazioneHelper;
|
||||
import it.integry.integrywmsnative.gest.accettazione.core.MainListAccettazioneAdapter;
|
||||
import it.integry.integrywmsnative.gest.accettazione.core.interfaces.ILoadOrdiniCallback;
|
||||
import it.integry.integrywmsnative.gest.accettazione.core.interfaces.ILoadPickingListCallback;
|
||||
import it.integry.integrywmsnative.core.interfaces.IRecyclerFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneGroupedInevasoDTO;
|
||||
@@ -48,7 +48,7 @@ import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.Accettazione
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
|
||||
import it.integry.plugins.waterfalltoolbar.WaterfallToolbar;
|
||||
|
||||
public class MainAccettazioneFragment extends Fragment implements ISearcableFragment, ITitledFragment, IRecyclerFragment {
|
||||
public class MainAccettazioneFragment extends Fragment implements ISearcableFragment, ITitledFragment, IScrollableFragment {
|
||||
|
||||
private static WaterfallToolbar mWaterfallToolbar;
|
||||
|
||||
@@ -239,9 +239,7 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
|
||||
}
|
||||
|
||||
mAdapter = new MainListAccettazioneAdapter(getActivity(), groupedOrdiniInevasi, onGroupSelectionChanged);
|
||||
// mAdapter.setHasStableIds(true);
|
||||
mBinding.accettazioneMainList.setAdapter(mAdapter);
|
||||
//mRecyclerView.setAdapter(mAdapter);
|
||||
}
|
||||
|
||||
@OnClick(R.id.accettazione_main_fab)
|
||||
@@ -286,8 +284,10 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
|
||||
null,
|
||||
() -> {
|
||||
|
||||
String cacheItemID = DataCache.addItem(ordini);
|
||||
|
||||
Intent myIntent = new Intent(getActivity(), AccettazioneOrdineInevasoActivity.class);
|
||||
myIntent.putExtra("key", (ArrayList<OrdineAccettazioneDTO>) ordini); //Optional parameters
|
||||
myIntent.putExtra("key", cacheItemID); //Optional parameters
|
||||
getActivity().startActivity(myIntent);
|
||||
|
||||
}).show();
|
||||
|
||||
@@ -14,6 +14,7 @@ import it.integry.integrywmsnative.R;
|
||||
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.ActivityAccettazioneOrdineInevasoBinding;
|
||||
@@ -41,7 +42,7 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
|
||||
FragmentArticoliInColloBottomSheetBinding bindings = this.bindings.bottomSheetInclude;
|
||||
mArticoliInColloBottomSheetViewModel = new ArticoliInColloBottomSheetViewModel(this, bindings);
|
||||
|
||||
List<OrdineAccettazioneDTO> orders = (ArrayList<OrdineAccettazioneDTO>)getIntent().getSerializableExtra("key");
|
||||
List<OrdineAccettazioneDTO> orders = DataCache.retrieveItem(getIntent().getStringExtra("key"));
|
||||
mAccettazioneOrdineInevasoViewModel = new AccettazioneOnOrdineAccettazioneInevasoViewModel(
|
||||
this, mArticoliInColloBottomSheetViewModel, orders);
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import android.os.Bundle;
|
||||
|
||||
import androidx.appcompat.app.ActionBar;
|
||||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -23,24 +24,23 @@ import de.hdodenhof.circleimageview.CircleImageView;
|
||||
import it.integry.integrywmsnative.MainActivity;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker;
|
||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.wifi.WiFiCheckerViewHolder;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainBinding;
|
||||
import it.integry.plugins.waterfalltoolbar.WaterfallToolbar;
|
||||
|
||||
/**
|
||||
* A simple {@link Fragment} subclass.
|
||||
* Use the {@link MainFragment#newInstance} factory method to
|
||||
* create an instance of this fragment.
|
||||
*/
|
||||
public class MainFragment extends Fragment implements ITitledFragment {
|
||||
public class MainFragment extends Fragment implements ITitledFragment, IScrollableFragment {
|
||||
|
||||
private FragmentMainBinding mBindings;
|
||||
|
||||
@BindView(R.id.no_connection_top_layout) ExpandableLayout mNoConnectionLayout;
|
||||
@BindView(R.id.current_user_name) TextView currentUsername;
|
||||
@BindView(R.id.current_deposito) TextView currentDeposito;
|
||||
// @BindView(R.id.drawer_logoAzienda) CircleImageView currentLogoAzienda;
|
||||
|
||||
private View mView;
|
||||
private WaterfallToolbar mWaterfallToolbar;
|
||||
|
||||
public MainFragment() {
|
||||
}
|
||||
@@ -61,24 +61,26 @@ public class MainFragment extends Fragment implements ITitledFragment {
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
// Inflate the layout for this fragment
|
||||
mView = inflater.inflate(R.layout.fragment_main, container, false);
|
||||
|
||||
ButterKnife.bind(this, mView);
|
||||
mBindings = DataBindingUtil.inflate(inflater, R.layout.fragment_main, container, false);
|
||||
|
||||
ButterKnife.bind(this, mBindings.getRoot());
|
||||
|
||||
mWaterfallToolbar.setNestedScrollView(mBindings.fragmentMainScrollview);
|
||||
|
||||
init();
|
||||
return mView;
|
||||
return mBindings.getRoot();
|
||||
}
|
||||
|
||||
|
||||
private void init(){
|
||||
ServerStatusChecker.getIstance().addCallback(value -> {
|
||||
if(value && mNoConnectionLayout.isExpanded()){
|
||||
if(value && mBindings.noConnectionTopLayout.isExpanded()){
|
||||
|
||||
collapseNoConnectionLayout();
|
||||
|
||||
|
||||
} else if(!value && !mNoConnectionLayout.isExpanded()){
|
||||
} else if(!value && !mBindings.noConnectionTopLayout.isExpanded()){
|
||||
expandNoConnectionLayout();
|
||||
}
|
||||
});
|
||||
@@ -91,8 +93,8 @@ public class MainFragment extends Fragment implements ITitledFragment {
|
||||
}
|
||||
|
||||
private void initSessionData() {
|
||||
currentUsername.setText(SettingsManager.i().user.fullname);
|
||||
currentDeposito.setText(String.format("%s - %s", SettingsManager.i().userSession.depo.getCodMdep(), SettingsManager.i().userSession.depo.getDescrizione()));
|
||||
mBindings.currentUserName.setText(SettingsManager.i().user.fullname);
|
||||
mBindings.currentDeposito.setText(String.format("Deposito: %s • %s", SettingsManager.i().userSession.depo.getCodMdep(), SettingsManager.i().userSession.depo.getDescrizione()));
|
||||
|
||||
if(SettingsManager.iDB().getDatiAzienda() != null && SettingsManager.iDB().getDatiAzienda().isLogoAvailable()) {
|
||||
// currentLogoAzienda.setImageBitmap(SettingsManager.iDB().getDatiAzienda().getLogo());
|
||||
@@ -100,14 +102,20 @@ public class MainFragment extends Fragment implements ITitledFragment {
|
||||
}
|
||||
|
||||
private void collapseNoConnectionLayout(){
|
||||
if(getActivity() != null) getActivity().runOnUiThread(() -> mNoConnectionLayout.collapse(true));
|
||||
if(getActivity() != null) getActivity().runOnUiThread(() -> mBindings.noConnectionTopLayout.collapse(true));
|
||||
}
|
||||
|
||||
private void expandNoConnectionLayout(){
|
||||
if(getActivity() != null) getActivity().runOnUiThread(() -> mNoConnectionLayout.expand(true));
|
||||
if(getActivity() != null) getActivity().runOnUiThread(() -> mBindings.noConnectionTopLayout.expand(true));
|
||||
}
|
||||
|
||||
private void startRecoverMode() {
|
||||
mBindings.recoverDataExpandableLayout.expand(true);
|
||||
}
|
||||
|
||||
private void endRecoverMode() {
|
||||
mBindings.recoverDataExpandableLayout.collapse(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
|
||||
@@ -139,4 +147,8 @@ public class MainFragment extends Fragment implements ITitledFragment {
|
||||
((MainActivity) getActivity()).setItem(R.id.nav_free_picking);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setWaterfallToolbar(WaterfallToolbar waterfallToolbar) {
|
||||
mWaterfallToolbar = waterfallToolbar;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import androidx.appcompat.app.ActionBar;
|
||||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import android.os.Bundle;
|
||||
@@ -30,9 +29,10 @@ import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.REST.CommonRESTException;
|
||||
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.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.IRecyclerFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment;
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
@@ -52,7 +52,7 @@ import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.VenditaOrdineInev
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
|
||||
import it.integry.plugins.waterfalltoolbar.WaterfallToolbar;
|
||||
|
||||
public class MainVenditaFragment extends Fragment implements ITitledFragment, IRecyclerFragment, ISelectAllFragment, IFilterableFragment {
|
||||
public class MainVenditaFragment extends Fragment implements ITitledFragment, IScrollableFragment, ISelectAllFragment, IFilterableFragment {
|
||||
|
||||
private static WaterfallToolbar mWaterfallToolbar;
|
||||
|
||||
@@ -190,7 +190,7 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IR
|
||||
.forEach(anagOrd -> {
|
||||
|
||||
String codAnagOrd = anagOrd.substring(0, anagOrd.indexOf("#_#"));
|
||||
String ragSocOrd = anagOrd.substring(anagOrd.indexOf("#_#") + 3, anagOrd.length());
|
||||
String ragSocOrd = anagOrd.substring(anagOrd.indexOf("#_#") + 3);
|
||||
|
||||
OrdineVenditaGroupedInevasoDTO groupedOrdine = new OrdineVenditaGroupedInevasoDTO();
|
||||
|
||||
@@ -354,11 +354,7 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IR
|
||||
null,
|
||||
() -> {
|
||||
|
||||
Intent myIntent = new Intent(getActivity(), VenditaOrdineInevasoActivity.class);
|
||||
myIntent.putExtra("keyPickingList", (ArrayList<PickingObjectDTO>) ordini); //Optional parameters
|
||||
myIntent.putExtra("keyTestateOrdini", (ArrayList<OrdineVenditaGroupedInevasoDTO>)selectedOrders);
|
||||
myIntent.putExtra("keyColliRegistrati", (ArrayList<MtbColt>)mtbColtList);
|
||||
getActivity().startActivity(myIntent);
|
||||
startVenditaActivity(ordini, selectedOrders, mtbColtList);
|
||||
|
||||
}).show();
|
||||
|
||||
@@ -404,7 +400,6 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IR
|
||||
public void onFilterClick() {
|
||||
|
||||
DialogVenditaFiltroAvanzato.make(getActivity(), mOriginalOrderList, mAppliedFilterViewModel, (filteredOrderList, filter) -> {
|
||||
|
||||
mAppliedFilterViewModel = filter;
|
||||
|
||||
if(filteredOrderList != null){
|
||||
@@ -414,6 +409,25 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IR
|
||||
}
|
||||
|
||||
}).show();
|
||||
}
|
||||
|
||||
private void startVenditaActivity(List<PickingObjectDTO> ordini, List<OrdineVenditaGroupedInevasoDTO> selectedOrders, List<MtbColt> mtbColtList) {
|
||||
|
||||
Intent myIntent = new Intent(getActivity(), VenditaOrdineInevasoActivity.class);
|
||||
|
||||
String keyPickingList = DataCache.addItem(ordini);
|
||||
myIntent.putExtra("keyPickingList", keyPickingList);
|
||||
|
||||
String keyTestateOrdini = DataCache.addItem(selectedOrders);
|
||||
myIntent.putExtra("keyTestateOrdini", keyTestateOrdini);
|
||||
|
||||
String keyColliRegistrati = DataCache.addItem(mtbColtList);
|
||||
myIntent.putExtra("keyColliRegistrati", keyColliRegistrati);
|
||||
|
||||
getActivity().startActivity(myIntent);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ import it.integry.integrywmsnative.R;
|
||||
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;
|
||||
@@ -44,9 +45,9 @@ public class VenditaOrdineInevasoActivity extends AppCompatActivity {
|
||||
FragmentArticoliInColloBottomSheetBinding bindings = this.bindings.bottomSheetInclude;
|
||||
mArticoliInColloBottomSheetViewModel = new ArticoliInColloBottomSheetViewModel(this, bindings);
|
||||
|
||||
List<PickingObjectDTO> pickingList = (ArrayList<PickingObjectDTO>)getIntent().getSerializableExtra("keyPickingList");
|
||||
List<OrdineVenditaGroupedInevasoDTO> testateOrdini = (ArrayList<OrdineVenditaGroupedInevasoDTO>)getIntent().getSerializableExtra("keyTestateOrdini");
|
||||
List<MtbColt> colliRegistrati = (ArrayList<MtbColt>) getIntent().getSerializableExtra("keyColliRegistrati");
|
||||
List<PickingObjectDTO> pickingList = DataCache.retrieveItem(getIntent().getStringExtra("keyPickingList"));
|
||||
List<OrdineVenditaGroupedInevasoDTO> testateOrdini = DataCache.retrieveItem(getIntent().getStringExtra("keyTestateOrdini"));
|
||||
List<MtbColt> colliRegistrati = DataCache.retrieveItem(getIntent().getStringExtra("keyColliRegistrati"));
|
||||
mVenditaOrdineInevasoViewModel = new VenditaOrdineInevasoViewModel(
|
||||
this, mArticoliInColloBottomSheetViewModel, pickingList, testateOrdini, colliRegistrati);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user