Implementato pulsante "Chiudi UL" in DialogInputQuantity di Accettazione e Spedizione.

Bugfix vari.
This commit is contained in:
Giuseppe Scorrano 2019-05-28 12:43:33 +02:00
parent 48243372ce
commit c6e42e7179
18 changed files with 81 additions and 87 deletions

View File

@ -1,9 +0,0 @@
package it.integry.integrywmsnative.core.REST.consumers;
public interface ISingleOperationDoubleCallback<T, U> {
void onSuccess(T firstValue, U secondValue);
void onFailed(Exception ex );
}

View File

@ -1,7 +0,0 @@
package it.integry.integrywmsnative.core.REST.consumers;
public interface ISingleValueOperationCallback<T> {
void onResult(T value);
}

View File

@ -5,7 +5,6 @@ import android.os.Handler;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.core.REST.consumers.ISingleValueOperationCallback;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityServer; import it.integry.integrywmsnative.core.utility.UtilityServer;

View File

@ -5,7 +5,6 @@ import java.net.InetSocketAddress;
import java.net.Socket; import java.net.Socket;
import java.net.SocketAddress; import java.net.SocketAddress;
import it.integry.integrywmsnative.core.REST.consumers.ISingleValueOperationCallback;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import okhttp3.OkHttpClient; import okhttp3.OkHttpClient;
import okhttp3.Request; import okhttp3.Request;
@ -13,7 +12,7 @@ import okhttp3.Response;
public class UtilityServer { public class UtilityServer {
public static void isHostReachable(final String serverAddress, final int serverTCPport, final ISingleValueOperationCallback<Boolean> callback){ public static void isHostReachable(final String serverAddress, final int serverTCPport, final RunnableArgs<Boolean> callback){
new Thread(() -> { new Thread(() -> {
boolean connected = false; boolean connected = false;
@ -32,7 +31,7 @@ public class UtilityServer {
socket = null; socket = null;
} }
callback.onResult(connected); callback.run(connected);
}).start(); }).start();
} }

View File

@ -1,13 +1,12 @@
package it.integry.integrywmsnative.core.wifi; package it.integry.integrywmsnative.core.wifi;
import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.view.View; import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import it.integry.integrywmsnative.core.REST.consumers.ISingleValueOperationCallback; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
public class WiFiCheckerViewHolder implements ISingleValueOperationCallback<WiFiStatusChecker.SIGNAL>{ public class WiFiCheckerViewHolder implements RunnableArgs<WiFiStatusChecker.SIGNAL> {
private TextView mWifiSignalTextView; private TextView mWifiSignalTextView;
@ -30,7 +29,7 @@ public class WiFiCheckerViewHolder implements ISingleValueOperationCallback<WiFi
@Override @Override
public void onResult(WiFiStatusChecker.SIGNAL value) { public void run(WiFiStatusChecker.SIGNAL value) {
switch (value){ switch (value){
case EXCELLENT: case EXCELLENT:
mWifiSignalTextView.setText("ECCELLENTE"); mWifiSignalTextView.setText("ECCELLENTE");

View File

@ -5,7 +5,7 @@ import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager; import android.net.wifi.WifiManager;
import android.os.Handler; import android.os.Handler;
import it.integry.integrywmsnative.core.REST.consumers.ISingleValueOperationCallback; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
public class WiFiStatusChecker { public class WiFiStatusChecker {
@ -18,7 +18,7 @@ public class WiFiStatusChecker {
NONE NONE
} }
private ISingleValueOperationCallback<SIGNAL> mCallback; private RunnableArgs<SIGNAL> mCallback;
private WifiManager mWifiManager; private WifiManager mWifiManager;
private int mNumberOfLevels = 4; private int mNumberOfLevels = 4;
@ -45,7 +45,7 @@ public class WiFiStatusChecker {
default: signal = SIGNAL.NONE; break; default: signal = SIGNAL.NONE; break;
} }
mCallback.onResult(signal); mCallback.run(signal);
handler.postDelayed(this, MILLIS_DELAY); handler.postDelayed(this, MILLIS_DELAY);
} }
@ -56,7 +56,7 @@ public class WiFiStatusChecker {
mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
} }
public void startMonitoring(ISingleValueOperationCallback<SIGNAL> callback){ public void startMonitoring(RunnableArgs<SIGNAL> callback){
this.mCallback = callback; this.mCallback = callback;
shouldExecute = true; shouldExecute = true;

View File

@ -20,14 +20,14 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.databinding.ActivityAccettazioneOrdineInevasoBinding; import it.integry.integrywmsnative.databinding.ActivityAccettazioneOrdineInevasoBinding;
import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetBinding; import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetBinding;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO; import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.viewmodel.AccettazioneOnOrdineAccettazioneInevasoViewModel; import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.viewmodel.AccettazioneOrdineAccettazioneInevasoViewModel;
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity; import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel; import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel;
public class AccettazioneOrdineInevasoActivity extends AppCompatActivity { public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
public ActivityAccettazioneOrdineInevasoBinding bindings; public ActivityAccettazioneOrdineInevasoBinding bindings;
private AccettazioneOnOrdineAccettazioneInevasoViewModel mAccettazioneOrdineInevasoViewModel; private AccettazioneOrdineAccettazioneInevasoViewModel mAccettazioneOrdineInevasoViewModel;
private ArticoliInColloBottomSheetViewModel mArticoliInColloBottomSheetViewModel; private ArticoliInColloBottomSheetViewModel mArticoliInColloBottomSheetViewModel;
private static final int PICK_UL_REQUEST = 1; // The request code private static final int PICK_UL_REQUEST = 1; // The request code
@ -43,7 +43,7 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
mArticoliInColloBottomSheetViewModel = new ArticoliInColloBottomSheetViewModel(this, bindings); mArticoliInColloBottomSheetViewModel = new ArticoliInColloBottomSheetViewModel(this, bindings);
List<OrdineAccettazioneDTO> orders = DataCache.retrieveItem(getIntent().getStringExtra("key")); List<OrdineAccettazioneDTO> orders = DataCache.retrieveItem(getIntent().getStringExtra("key"));
mAccettazioneOrdineInevasoViewModel = new AccettazioneOnOrdineAccettazioneInevasoViewModel( mAccettazioneOrdineInevasoViewModel = new AccettazioneOrdineAccettazioneInevasoViewModel(
this, mArticoliInColloBottomSheetViewModel, orders); this, mArticoliInColloBottomSheetViewModel, orders);
setSupportActionBar(this.bindings.toolbar); setSupportActionBar(this.bindings.toolbar);

View File

@ -58,7 +58,7 @@ import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
import static br.com.zbra.androidlinq.Linq.stream; import static br.com.zbra.androidlinq.Linq.stream;
public class AccettazioneOnOrdineAccettazioneInevasoViewModel implements IOnColloClosedCallback, IOnOrdineAccettazioneRowDispatchCallback { public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloClosedCallback, IOnOrdineAccettazioneRowDispatchCallback {
public ObservableField<Boolean> isFabVisible = new ObservableField<>(); public ObservableField<Boolean> isFabVisible = new ObservableField<>();
@ -76,7 +76,7 @@ public class AccettazioneOnOrdineAccettazioneInevasoViewModel implements IOnColl
private GestioneEnum defaultGestioneOfUL = null; private GestioneEnum defaultGestioneOfUL = null;
public AccettazioneOnOrdineAccettazioneInevasoViewModel(AccettazioneOrdineInevasoActivity activity, ArticoliInColloBottomSheetViewModel articoliInColloBottomSheetViewModel, List<OrdineAccettazioneDTO> orders) { public AccettazioneOrdineAccettazioneInevasoViewModel(AccettazioneOrdineInevasoActivity activity, ArticoliInColloBottomSheetViewModel articoliInColloBottomSheetViewModel, List<OrdineAccettazioneDTO> orders) {
this.mActivity = activity; this.mActivity = activity;
this.mArticoliInColloBottomSheetViewModel = articoliInColloBottomSheetViewModel; this.mArticoliInColloBottomSheetViewModel = articoliInColloBottomSheetViewModel;
this.mOrders = orders; this.mOrders = orders;
@ -799,11 +799,11 @@ public class AccettazioneOnOrdineAccettazioneInevasoViewModel implements IOnColl
dto.setShouldAskDataScad(true); dto.setShouldAskDataScad(true);
} }
DialogInputQuantity.makeBase(mActivity, dto, true, value -> onOrdineRowDispatched(item, value), null).show(); DialogInputQuantity.makeBase(mActivity, dto, true, (quantityDTO, closeLU) -> onOrdineRowDispatched(item, quantityDTO, closeLU), null).show();
} }
} }
private void onOrdineRowDispatched(OrdineAccettazioneDTO.Riga item, QuantityDTO quantityDTO){ private void onOrdineRowDispatched(OrdineAccettazioneDTO.Riga item, QuantityDTO quantityDTO, boolean closeLU){
final ProgressDialog progress = ProgressDialog.show(mActivity, mActivity.getText(R.string.waiting), final ProgressDialog progress = ProgressDialog.show(mActivity, mActivity.getText(R.string.waiting),
mActivity.getText(R.string.loading) + " ...", true); mActivity.getText(R.string.loading) + " ...", true);
@ -850,16 +850,9 @@ public class AccettazioneOnOrdineAccettazioneInevasoViewModel implements IOnColl
refreshOrderBy(false); refreshOrderBy(false);
FBToast.successToast(mActivity,mActivity.getResources().getString(R.string.data_saved) ,FBToast.LENGTH_SHORT); FBToast.successToast(mActivity,mActivity.getResources().getString(R.string.data_saved) ,FBToast.LENGTH_SHORT);
// new StatusBarAlert.Builder(mActivity)
// .autoHide(true)
// .withDuration(2500)
// .showProgress(false)
// .withText(R.string.data_saved)
// .withAlertColor(R.color.mainGreen)
// .build();
progress.dismiss(); progress.dismiss();
if(closeLU) onColloClosed(null);
} }
@Override @Override

View File

@ -6,7 +6,6 @@ import android.util.Log;
import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.REST.RESTBuilder; import it.integry.integrywmsnative.core.REST.RESTBuilder;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback; import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.ISingleOperationDoubleCallback;
import it.integry.integrywmsnative.core.REST.model.EsitoType; import it.integry.integrywmsnative.core.REST.model.EsitoType;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.gest.login.dto.LoginAziendaDTO; import it.integry.integrywmsnative.gest.login.dto.LoginAziendaDTO;

View File

@ -19,6 +19,7 @@ import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.databinding.FragmentProdVersamentoMaterialeBinding; import it.integry.integrywmsnative.databinding.FragmentProdVersamentoMaterialeBinding;
import it.integry.integrywmsnative.gest.prod_versamento_materiale.core.ProdVersamentoMaterialHelper; import it.integry.integrywmsnative.gest.prod_versamento_materiale.core.ProdVersamentoMaterialHelper;
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLU; import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLU;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU; import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU;
@ -70,14 +71,20 @@ public class ProdVersamentoMaterialViewModel {
} }
private void choosePosition() { private void choosePosition() {
DialogAskPositionOfLU.makeBase(mContext, null, mtbDepoPosizione -> { DialogAskPositionOfLU.makeBase(mContext, null, (status, mtbDepoPosizione) -> {
if(mtbDepoPosizione != null && mtbColt.get() != null) {
if(status == DialogConsts.Results.ABORT) {
((IPoppableActivity)mContext).pop();
} else {
if (mtbDepoPosizione != null && mtbColt.get() != null) {
createColloScarico(mtbDepoPosizione); createColloScarico(mtbDepoPosizione);
} else { } else {
DialogSimpleMessageHelper.makeWarningDialog(mContext, DialogSimpleMessageHelper.makeWarningDialog(mContext,
new SpannableString(Html.fromHtml("Si è verificato un errore. Riprovare")), new SpannableString(Html.fromHtml("Si è verificato un errore. Riprovare")),
null, this::openLU).show(); null, this::openLU).show();
} }
}
}, ex -> { }, ex -> {

View File

@ -56,6 +56,7 @@ import it.integry.integrywmsnative.gest.rettifica_giacenze.core.RettificaGiacenz
import it.integry.integrywmsnative.gest.rettifica_giacenze.core.adapter.AutoCompleteFornitoreAdapter; import it.integry.integrywmsnative.gest.rettifica_giacenze.core.adapter.AutoCompleteFornitoreAdapter;
import it.integry.integrywmsnative.gest.rettifica_giacenze.core.adapter.RettificaGiacenzeMainListAdapter; import it.integry.integrywmsnative.gest.rettifica_giacenze.core.adapter.RettificaGiacenzeMainListAdapter;
import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.FornitoreDTO; import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.FornitoreDTO;
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLU; import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLU;
import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArts; import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArts;
@ -578,13 +579,17 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
switch (result){ switch (result){
case YES: case YES:
DialogAskPositionOfLU.makeBase(mContext, mtbColt.get(), mtbDepoPosizione -> { DialogAskPositionOfLU.makeBase(mContext, mtbColt.get(), (status, mtbDepoPosizione) -> {
if(mtbDepoPosizione != null && mtbColt.get() != null) { if(status == DialogConsts.Results.ABORT) {
onAbort.run();
} else {
if (mtbDepoPosizione != null && mtbColt.get() != null) {
Objects.requireNonNull(mtbColt.get()).setPosizione(mtbDepoPosizione.getPosizione()); Objects.requireNonNull(mtbColt.get()).setPosizione(mtbDepoPosizione.getPosizione());
onComplete.run(); onComplete.run();
} else { } else {
onAbort.run(); onAbort.run();
} }
}
}, onFailed).show(); }, onFailed).show();

View File

@ -1141,11 +1141,11 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
} }
DialogInputQuantity.makeBase(mActivity, dto, false, value -> onOrdineRowDispatched(item, value), null).show(); DialogInputQuantity.makeBase(mActivity, dto, false, (quantityDTO, closeUL) -> onOrdineRowDispatched(item, quantityDTO, closeUL), null).show();
} }
} }
private void onOrdineRowDispatched(PickingObjectDTO item, QuantityDTO quantityDTO){ private void onOrdineRowDispatched(PickingObjectDTO item, QuantityDTO quantityDTO, boolean closeUL){
final ProgressDialog progress = ProgressDialog.show(mActivity, mActivity.getText(R.string.waiting), final ProgressDialog progress = ProgressDialog.show(mActivity, mActivity.getText(R.string.waiting),
mActivity.getText(R.string.loading) + " ...", true); mActivity.getText(R.string.loading) + " ...", true);
@ -1208,15 +1208,9 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
FBToast.successToast(mActivity,mActivity.getResources().getString(R.string.data_saved) ,FBToast.LENGTH_SHORT); FBToast.successToast(mActivity,mActivity.getResources().getString(R.string.data_saved) ,FBToast.LENGTH_SHORT);
// new StatusBarAlert.Builder(mActivity)
// .autoHide(true)
// .withDuration(2500)
// .showProgress(false)
// .withText(R.string.data_saved)
// .withAlertColor(R.color.mainGreen)
// .build();
progress.dismiss(); progress.dismiss();
if(closeUL) onColloClosed(null);
} }
@Override @Override

View File

@ -22,6 +22,7 @@ import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsume
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO; import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import it.integry.integrywmsnative.core.utility.UtilityBarcode; import it.integry.integrywmsnative.core.utility.UtilityBarcode;
@ -29,6 +30,7 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityPosizione; import it.integry.integrywmsnative.core.utility.UtilityPosizione;
import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.databinding.DialogAskPositionOfLuBinding; import it.integry.integrywmsnative.databinding.DialogAskPositionOfLuBinding;
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
public class DialogAskPositionOfLU { public class DialogAskPositionOfLU {
@ -42,18 +44,18 @@ public class DialogAskPositionOfLU {
private Dialog mDialog; private Dialog mDialog;
private RunnableArgs<MtbDepoPosizione> onComplete; private RunnableArgss<DialogConsts.Results, MtbDepoPosizione> onComplete;
private RunnableArgs<Exception> onFailed; private RunnableArgs<Exception> onFailed;
private TextInputLayout livelloTextInputLayout; private TextInputLayout livelloTextInputLayout;
private boolean completedFlow = false; private boolean completedFlow = false;
public static Dialog makeBase(final Context context, MtbColt mtbColtToUpdate, RunnableArgs<MtbDepoPosizione> onComplete, RunnableArgs<Exception> onFailed) { public static Dialog makeBase(final Context context, MtbColt mtbColtToUpdate, RunnableArgss<DialogConsts.Results, MtbDepoPosizione> onComplete, RunnableArgs<Exception> onFailed) {
return new DialogAskPositionOfLU(context, mtbColtToUpdate, onComplete, onFailed).mDialog; return new DialogAskPositionOfLU(context, mtbColtToUpdate, onComplete, onFailed).mDialog;
} }
public DialogAskPositionOfLU(Context context, MtbColt mtbColtToUpdate, RunnableArgs<MtbDepoPosizione> onComplete, RunnableArgs<Exception> onFailed) { public DialogAskPositionOfLU(Context context, MtbColt mtbColtToUpdate, RunnableArgss<DialogConsts.Results, MtbDepoPosizione> onComplete, RunnableArgs<Exception> onFailed) {
mContext = context; mContext = context;
mtbColt = mtbColtToUpdate; mtbColt = mtbColtToUpdate;
@ -76,7 +78,7 @@ public class DialogAskPositionOfLU {
mDialog = new Dialog(mContext); mDialog = new Dialog(mContext);
mDialog.setContentView(mBinding.getRoot()); mDialog.setContentView(mBinding.getRoot());
mDialog.setCanceledOnTouchOutside(false); mDialog.setCanceledOnTouchOutside(false);
mDialog.setCancelable(false); // mDialog.setCancelable(false);
mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
mDialog.setOnShowListener(dialog -> { mDialog.setOnShowListener(dialog -> {
@ -131,7 +133,7 @@ public class DialogAskPositionOfLU {
mDialog.setOnDismissListener(dialog -> { mDialog.setOnDismissListener(dialog -> {
BarcodeManager.removeCallback(barcodeIstanceID); BarcodeManager.removeCallback(barcodeIstanceID);
if(!completedFlow) onComplete.run(null); if(!completedFlow) onComplete.run(DialogConsts.Results.ABORT, null);
}); });
} }
@ -157,7 +159,7 @@ public class DialogAskPositionOfLU {
updatePosizione(foundPosizione, () -> { updatePosizione(foundPosizione, () -> {
completedFlow = true; completedFlow = true;
BarcodeManager.enable(); BarcodeManager.enable();
if(onComplete != null) onComplete.run(foundPosizione); if(onComplete != null) onComplete.run(DialogConsts.Results.YES, foundPosizione);
}, ex -> { }, ex -> {
completedFlow = true; completedFlow = true;
BarcodeManager.enable(); BarcodeManager.enable();
@ -165,7 +167,7 @@ public class DialogAskPositionOfLU {
}); });
} else { } else {
completedFlow = true; completedFlow = true;
if(onComplete != null) onComplete.run(foundPosizione); if(onComplete != null) onComplete.run(DialogConsts.Results.YES, foundPosizione);
mDialog.dismiss(); mDialog.dismiss();
BarcodeManager.enable(); BarcodeManager.enable();
@ -197,7 +199,7 @@ public class DialogAskPositionOfLU {
ColliMagazzinoRESTConsumer.changePosizione(mtbColt, foundPosizione, () -> { ColliMagazzinoRESTConsumer.changePosizione(mtbColt, foundPosizione, () -> {
progressDialog.dismiss(); progressDialog.dismiss();
completedFlow = true; completedFlow = true;
if(onComplete != null) onComplete.run(foundPosizione); if(onComplete != null) onComplete.run(DialogConsts.Results.YES, foundPosizione);
mDialog.dismiss(); mDialog.dismiss();
}, ex -> { }, ex -> {
UtilityExceptions.defaultException(mContext, ex, progressDialog); UtilityExceptions.defaultException(mContext, ex, progressDialog);
@ -207,7 +209,7 @@ public class DialogAskPositionOfLU {
}); });
} else { } else {
completedFlow = true; completedFlow = true;
if(onComplete != null) onComplete.run(foundPosizione); if(onComplete != null) onComplete.run(DialogConsts.Results.YES, foundPosizione);
mDialog.dismiss(); mDialog.dismiss();
} }
@ -237,7 +239,7 @@ public class DialogAskPositionOfLU {
private void onLevelAbort() { private void onLevelAbort() {
completedFlow = true; completedFlow = true;
onComplete.run(null); onComplete.run(DialogConsts.Results.ABORT, null);
mDialog.dismiss(); mDialog.dismiss();
} }

View File

@ -30,11 +30,11 @@ import java.util.GregorianCalendar;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.REST.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ISingleValueOperationCallback;
import it.integry.integrywmsnative.core.REST.model.Ean13PesoModel; import it.integry.integrywmsnative.core.REST.model.Ean13PesoModel;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO; import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.utility.UtilityBarcode; import it.integry.integrywmsnative.core.utility.UtilityBarcode;
import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityDate;
@ -214,11 +214,17 @@ public class DialogInputQuantity {
private QuantityDTO currentQuantityDto; private QuantityDTO currentQuantityDto;
private DTO currentDTO; private DTO currentDTO;
public static AlertDialog makeBase(final Context context, final DTO dto, boolean canOverflowQuantity, final ISingleValueOperationCallback<QuantityDTO> dialogCallback, final Runnable onAbort) { public static AlertDialog makeBase(final Context context, final DTO dto, boolean canOverflowQuantity, final RunnableArgs<QuantityDTO> dialogCallback, final Runnable onAbort) {
return new DialogInputQuantity(context, dto, canOverflowQuantity, dialogCallback, onAbort).currentAlert; return new DialogInputQuantity(context, dto, canOverflowQuantity, false, (quantityDto, closeUL) -> {
dialogCallback.run(quantityDto);
}, onAbort).currentAlert;
} }
public DialogInputQuantity(@NotNull Context context, @NotNull final DTO dto, boolean canOverflowQuantity, final ISingleValueOperationCallback<QuantityDTO> dialogCallback, final Runnable onAbort) { public static AlertDialog makeBase(final Context context, final DTO dto, boolean canOverflowQuantity, final RunnableArgss<QuantityDTO, Boolean> dialogCallback, final Runnable onAbort) {
return new DialogInputQuantity(context, dto, canOverflowQuantity, true, dialogCallback, onAbort).currentAlert;
}
public DialogInputQuantity(@NotNull Context context, @NotNull final DTO dto, boolean canOverflowQuantity, boolean showCloseUL, final RunnableArgss<QuantityDTO, Boolean> dialogCallback, final Runnable onAbort) {
currentContext = context; currentContext = context;
currentMtbAart = dto.getMtbAart(); currentMtbAart = dto.getMtbAart();
currentDTO = dto; currentDTO = dto;
@ -256,6 +262,8 @@ public class DialogInputQuantity {
if(onAbort != null) onAbort.run(); if(onAbort != null) onAbort.run();
}); });
if(showCloseUL) alertDialog.setNeutralButton("Chiudi UL", null);
currentAlert = alertDialog.create(); currentAlert = alertDialog.create();
currentAlert.setCanceledOnTouchOutside(false); currentAlert.setCanceledOnTouchOutside(false);
@ -278,7 +286,12 @@ public class DialogInputQuantity {
}, 100); }, 100);
Button positiveButton = currentAlert.getButton(AlertDialog.BUTTON_POSITIVE); Button positiveButton = currentAlert.getButton(AlertDialog.BUTTON_POSITIVE);
positiveButton.setOnClickListener(view -> onConfirm(context, currentQuantityDto, dialogCallback)); positiveButton.setOnClickListener(view -> onConfirm(context, currentQuantityDto, dialogCallback, false));
if(showCloseUL) {
Button neutralButton = currentAlert.getButton(AlertDialog.BUTTON_NEUTRAL);
neutralButton.setOnClickListener(view -> onConfirm(context, currentQuantityDto, dialogCallback, true));
}
}); });
@ -612,7 +625,7 @@ public class DialogInputQuantity {
} }
private void onConfirm(Context context, QuantityDTO quantityDTO, ISingleValueOperationCallback<QuantityDTO> dialogCallback){ private void onConfirm(Context context, QuantityDTO quantityDTO, RunnableArgss<QuantityDTO, Boolean> dialogCallback, boolean closeUL){
if(currentDTO.mtbAart.isFlagTracciabilita() && (quantityDTO.batchLot == null || quantityDTO.batchLot.get().trim().length() == 0)){ if(currentDTO.mtbAart.isFlagTracciabilita() && (quantityDTO.batchLot == null || quantityDTO.batchLot.get().trim().length() == 0)){
showBatchLotErrorPrompt(context); showBatchLotErrorPrompt(context);
@ -639,7 +652,7 @@ public class DialogInputQuantity {
quantityDTO.batchLot.set(quantityDTO.batchLot.get().toUpperCase()); quantityDTO.batchLot.set(quantityDTO.batchLot.get().toUpperCase());
} }
dialogCallback.onResult(quantityDTO); dialogCallback.run(quantityDTO, closeUL);
currentAlert.dismiss(); currentAlert.dismiss();
} }

View File

@ -5,7 +5,7 @@
<variable <variable
name="viewmodel" name="viewmodel"
type="it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.viewmodel.AccettazioneOnOrdineAccettazioneInevasoViewModel"/> type="it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.viewmodel.AccettazioneOrdineAccettazioneInevasoViewModel"/>
</data> </data>

View File

@ -125,7 +125,7 @@
android:text='@{UtilityNumber.decimalToString(viewmodel.qtaOrd)}' android:text='@{UtilityNumber.decimalToString(viewmodel.qtaOrd)}'
android:textSize="16sp" android:textSize="16sp"
android:textStyle="bold" android:textStyle="bold"
android:paddingLeft="4dp" android:paddingStart="4dp"
tools:text="1200" /> tools:text="1200" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView

View File

@ -195,7 +195,7 @@
<string name="no">No</string> <string name="no">No</string>
<string name="placement">Posizionamento</string> <string name="placement">Posizionamento</string>
<string name="message_print_packing_list">Verrà stampata una %s</string> <string name="message_print_packing_list">Vuoi procedere con la stampa di una %s</string>
<string name="button_create_new_ul">Crea nuova UL</string> <string name="button_create_new_ul">Crea nuova UL</string>
<string name="title_open_lu">Apri UL</string> <string name="title_open_lu">Apri UL</string>
<string name="fragment_ultime_consegne_cliente_title">Ultime consegne</string> <string name="fragment_ultime_consegne_cliente_title">Ultime consegne</string>

View File

@ -198,7 +198,7 @@
<string name="no">No</string> <string name="no">No</string>
<string name="placement">Placement</string> <string name="placement">Placement</string>
<string name="message_print_packing_list">A %s will be printed</string> <string name="message_print_packing_list">Do you want print a %s?</string>
<string name="button_create_new_ul">Create new LU</string> <string name="button_create_new_ul">Create new LU</string>
<string name="title_open_lu">Open LU</string> <string name="title_open_lu">Open LU</string>