Implementato recover colli all'avvio dell'app

This commit is contained in:
Giuseppe Scorrano 2019-01-23 19:05:38 +01:00
parent a2f719441f
commit 1928e81423
5 changed files with 562 additions and 551 deletions

View File

@ -88,20 +88,6 @@ public class AppContext {
private void initRecoverColli() { private void initRecoverColli() {
ColliDataRecover.init(mContext); ColliDataRecover.init(mContext);
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));
}
}
} }
} }

View File

@ -23,10 +23,17 @@ import butterknife.OnClick;
import de.hdodenhof.circleimageview.CircleImageView; import de.hdodenhof.circleimageview.CircleImageView;
import it.integry.integrywmsnative.MainActivity; import it.integry.integrywmsnative.MainActivity;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
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.REST.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.data_recover.ColliDataRecover;
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment; import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment; import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
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.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.core.wifi.WiFiCheckerViewHolder; import it.integry.integrywmsnative.core.wifi.WiFiCheckerViewHolder;
import it.integry.integrywmsnative.databinding.FragmentMainBinding; import it.integry.integrywmsnative.databinding.FragmentMainBinding;
import it.integry.plugins.waterfalltoolbar.WaterfallToolbar; import it.integry.plugins.waterfalltoolbar.WaterfallToolbar;
@ -90,6 +97,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
initSessionData(); initSessionData();
initRecuperoCollo();
} }
private void initSessionData() { private void initSessionData() {
@ -101,6 +109,30 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
} }
} }
private void initRecuperoCollo() {
if(ColliDataRecover.thereIsAnExistantSession()){
startRecoverMode();
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);
endRecoverMode();
},
ex -> {
UtilityExceptions.defaultException(getActivity(), ex);
endRecoverMode();
});
} else {
ColliDataRecover.closeSession(recoveredMtbColtID);
endRecoverMode();
}
}
}
private void collapseNoConnectionLayout(){ private void collapseNoConnectionLayout(){
if(getActivity() != null) getActivity().runOnUiThread(() -> mBindings.noConnectionTopLayout.collapse(true)); if(getActivity() != null) getActivity().runOnUiThread(() -> mBindings.noConnectionTopLayout.collapse(true));
} }

File diff suppressed because it is too large Load Diff

View File

@ -178,4 +178,7 @@
<string name="free_picking_suggestion_2">Scansiona un articolo per iniziare</string> <string name="free_picking_suggestion_2">Scansiona un articolo per iniziare</string>
<string name="free_picking_title_fragment">Picking libero</string> <string name="free_picking_title_fragment">Picking libero</string>
<string name="recovering_data">Recupero dati</string>
<string name="wait_a_moment">Attendi qualche istante</string>
</resources> </resources>

View File

@ -179,5 +179,7 @@
<string name="free_picking_suggestion_1">Please press + button to start with picking</string> <string name="free_picking_suggestion_1">Please press + button to start with picking</string>
<string name="free_picking_suggestion_2">Scan an item to start</string> <string name="free_picking_suggestion_2">Scan an item to start</string>
<string name="recovering_data">Recovering data</string>
<string name="wait_a_moment">Wait a moment</string>
</resources> </resources>