diff --git a/app/build.gradle b/app/build.gradle index faf5206a..847bdae9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 495 - def appVersionName = '1.46.07' + def appVersionCode = 498 + def appVersionName = '1.46.10' signingConfigs { release { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java index 39c89a26..7b48b338 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java @@ -97,6 +97,7 @@ public class DBSettingsModel { private List allowedCodMgrpForArtCreation; private boolean flagAccettazioneGroupListForn = false; private boolean flagSpedizioneEnableFastPicking = false; + private boolean flagAccettazioneBollaEditableQtaTot = true; public boolean isFlagSpedizioneEnableFakeGiacenza() { return flagSpedizioneEnableFakeGiacenza; @@ -815,4 +816,12 @@ public class DBSettingsModel { public void setFlagSpedizioneEnableFastPicking(boolean flagSpedizioneEnableFastPicking) { this.flagSpedizioneEnableFastPicking = flagSpedizioneEnableFastPicking; } + + public boolean isFlagAccettazioneBollaEditableQtaTot() { + return flagAccettazioneBollaEditableQtaTot; + } + + public void setFlagAccettazioneBollaEditableQtaTot(boolean flagAccettazioneBollaEditableQtaTot) { + this.flagAccettazioneBollaEditableQtaTot = flagAccettazioneBollaEditableQtaTot; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java index 2a707d8f..8cd2c5ab 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java @@ -564,6 +564,12 @@ public class SettingsManager { .setKeySection("ENABLE_FAST_PICKING") .setSetter(dbSettingsModelIstance::setFlagSpedizioneEnableFastPicking) .setDefaultValue(false)); + stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class) + .setGestName("PICKING") + .setSection("ACCETTAZIONE_BOLLA") + .setKeySection("FLAG_QTA_TOT_EDITABLE") + .setSetter(dbSettingsModelIstance::setFlagAccettazioneBollaEditableQtaTot) + .setDefaultValue(true)); stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class) .setGestName("PICKING") diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingActivity.java index 4d618d3e..8ce4c81d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingActivity.java @@ -620,6 +620,7 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac .setDataScad(dataScad) .setCanPartitaMagBeChanged(canPartitaMagBeChanged) .setCanLUBeClosed(true) + .setQtaTotEditable(SettingsManager.iDB().isFlagAccettazioneBollaEditableQtaTot()) .setCanOverflowOrderQuantity(canOverflowQuantity) .setDisableTracciabilitaCheck(SettingsManager.iDB().isFlagAccettazioneBollaDisableMandatoryTracciabilita()); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java index d3e57ec2..e6fd8d5e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModel.java @@ -338,6 +338,8 @@ public class PickingLiberoViewModel { if (this.mFlagAskCliente) { var data = this.sendLUClienteRequired(); + if (data == null) return; + vtbDest = data.first; codJcom = data.second; } @@ -648,7 +650,6 @@ public class PickingLiberoViewModel { } - private void executeDepositChangeIfNeeded(MtbColt refMtbColt) throws Exception { //Considero solo la prima UDC scansionata boolean shouldChangeCodMdep = refMtbColt != null && !refMtbColt.getCodMdep().equalsIgnoreCase(mCurrentMtbColt.getCodMdep()) && @@ -860,7 +861,7 @@ public class PickingLiberoViewModel { if (this.mDefaultGestione == GestioneEnum.LAVORAZIONE && SettingsManager.iDB().isProduzioneGeneraDocScar()) { - if(SettingsManager.iDB().getInternalCodAnags() == null || SettingsManager.iDB().getInternalCodAnags().isEmpty()) + if (SettingsManager.iDB().getInternalCodAnags() == null || SettingsManager.iDB().getInternalCodAnags().isEmpty()) throw new Exception("Nessuna anagrafica aziendale configurata. Assicurarsi di aver abilitato il flag FLAG_USE_COD_ANAG_AZIENDALE."); closeUDSRequest diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeFragment.java index d4a3d8a0..8345cac7 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeFragment.java @@ -201,6 +201,8 @@ public class VerificaGiacenzeFragment extends BaseFragment implements ITitledFra barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO() .setOnScanSuccessful(onScanSuccessful) .setOnScanFailed(ex -> UtilityExceptions.defaultException(requireContext(), ex, false))); + + BarcodeManager.enable(barcodeScannerIstanceID); } private final RunnableArgs onScanSuccessful = data -> { @@ -209,12 +211,12 @@ public class VerificaGiacenzeFragment extends BaseFragment implements ITitledFra executorService.execute(() -> { try { this.mViewModel.processBarcodeDTO(data); - this.onLoadingEnded(); } catch (Exception e) { this.onError(e); } }); + this.onLoadingEnded(); }; @@ -279,6 +281,7 @@ public class VerificaGiacenzeFragment extends BaseFragment implements ITitledFra .setTotalNumCnfOrd(incomingNumCnf) .setPartitaMag(partitaMag) .setDataScad(dataScad) + .setCanInputZeroQuantity(true) .setCanLUBeClosed(false); if (!dialogInputQuantityV2View.isVisible()) diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_cliente/DialogAskClienteView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_cliente/DialogAskClienteView.java index 60ff5f75..4e40e7c4 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_cliente/DialogAskClienteView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_cliente/DialogAskClienteView.java @@ -4,6 +4,7 @@ import android.content.DialogInterface; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; +import android.os.Handler; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -63,6 +64,9 @@ public class DialogAskClienteView extends BaseDialogFragment { @Inject DialogProgressView dialogProgressView; + @Inject + Handler handler; + public static DialogAskClienteView newInstance(@NotNull RunnableArgss onComplete, @NotNull Runnable onAbort) { return new DialogAskClienteView(onComplete, onAbort); } @@ -119,6 +123,8 @@ public class DialogAskClienteView extends BaseDialogFragment { DialogAskCliente_Page1ViewModel viewModel1 = (DialogAskCliente_Page1ViewModel) mAdapter.getViewModel(R.layout.dialog_ask_cliente__page1); DialogAskCliente_Page2ViewModel viewModel2 = (DialogAskCliente_Page2ViewModel) mAdapter.getViewModel(R.layout.dialog_ask_cliente__page2); + viewModel1.setHandler(handler); + viewModel1.setOnConfirmClickListener(() -> { String codAnag = viewModel1.getCurrentCliente(); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_cliente/viewmodel/DialogAskCliente_Page1ViewModel.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_cliente/viewmodel/DialogAskCliente_Page1ViewModel.java index c97a3ef7..2ff41a96 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_cliente/viewmodel/DialogAskCliente_Page1ViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/ask_cliente/viewmodel/DialogAskCliente_Page1ViewModel.java @@ -1,6 +1,7 @@ package it.integry.integrywmsnative.view.dialogs.ask_cliente.viewmodel; import android.content.Context; +import android.os.Handler; import android.widget.AutoCompleteTextView; import androidx.databinding.ObservableArrayList; @@ -37,9 +38,15 @@ public class DialogAskCliente_Page1ViewModel implements IDialogAskClienteViewMod private Runnable onConfirmClickListener; private Runnable onAbortClickListener; + private Handler handler; + public DialogAskCliente_Page1ViewModel() { } + public void setHandler(Handler handler){ + this.handler = handler; + } + @Override public void setContext(Context context) { this.mContext = context; @@ -147,33 +154,33 @@ public class DialogAskCliente_Page1ViewModel implements IDialogAskClienteViewMod private void initializeAdapter(ArrayList items) { + handler.post(() -> { + var orderedList = Stream.of(items) + .sortBy(x -> x.getRagSoc() != null ? x.getRagSoc() : "") + .toList(); - var orderedList = Stream.of(items) - .sortBy(x -> x.getRagSoc() != null ? x.getRagSoc() : "") - .toList(); + DialogAskCliente_Page1_Cliente_ArrayAdapter adapter = new DialogAskCliente_Page1_Cliente_ArrayAdapter(mContext, orderedList); - DialogAskCliente_Page1_Cliente_ArrayAdapter adapter = new DialogAskCliente_Page1_Cliente_ArrayAdapter(mContext, orderedList); + AutoCompleteTextView editTextDropdownCliente = mBinding.dropdownCliente; + editTextDropdownCliente.setThreshold(0); + editTextDropdownCliente.setAdapter(adapter); + editTextDropdownCliente.setOnItemClickListener((parent, view, position, id) -> { + refreshCodJcoms(items.get(position)); + }); - AutoCompleteTextView editTextDropdownCliente = mBinding.dropdownCliente; - editTextDropdownCliente.setThreshold(0); - editTextDropdownCliente.setAdapter(adapter); - editTextDropdownCliente.setOnItemClickListener((parent, view, position, id) -> { - refreshCodJcoms(items.get(position)); - }); + DialogAskCliente_Page1_Commessa_ArrayAdapter commessaAdapter = new DialogAskCliente_Page1_Commessa_ArrayAdapter(mContext); + AutoCompleteTextView editTextDropdownCommessa = mBinding.dropdownCommessa; + editTextDropdownCommessa.setThreshold(0); + editTextDropdownCommessa.setAdapter(commessaAdapter); - DialogAskCliente_Page1_Commessa_ArrayAdapter commessaAdapter = new DialogAskCliente_Page1_Commessa_ArrayAdapter(mContext); - - AutoCompleteTextView editTextDropdownCommessa = mBinding.dropdownCommessa; - editTextDropdownCommessa.setThreshold(0); - editTextDropdownCommessa.setAdapter(commessaAdapter); - - codJcoms.addOnListChangedCallback(new OnListGeneralChangedCallback() { - @Override - public void onChanged(ObservableList sender) { - commessaAdapter.clear(); - commessaAdapter.addAll(codJcoms); - } + codJcoms.addOnListChangedCallback(new OnListGeneralChangedCallback() { + @Override + public void onChanged(ObservableList sender) { + commessaAdapter.clear(); + commessaAdapter.addAll(codJcoms); + } + }); }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_art_from_lista_arts/DialogChooseArtFromListaArtsView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_art_from_lista_arts/DialogChooseArtFromListaArtsView.java index 5b2b1319..3fdd73f5 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_art_from_lista_arts/DialogChooseArtFromListaArtsView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_art_from_lista_arts/DialogChooseArtFromListaArtsView.java @@ -92,7 +92,7 @@ public class DialogChooseArtFromListaArtsView extends BaseDialogFragment { @Override public void onDismiss(@NonNull DialogInterface dialog) { - dismiss(); + //dismiss(); } public void dismiss(MtbAart item) { diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2DTO.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2DTO.java index fb0c386b..26b3e399 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2DTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2DTO.java @@ -41,6 +41,7 @@ public class DialogInputQuantityV2DTO { private boolean isNotesAllowed = false; private boolean isNotesMandatory = false; private boolean isNumCnfEditable = true; + private boolean isQtaTotEditable = true; private boolean isFocusOnStart = true; private boolean canLUBeClosed; private boolean saveOnImeDone = false; @@ -323,6 +324,15 @@ public class DialogInputQuantityV2DTO { return this; } + public boolean isQtaTotEditable() { + return isQtaTotEditable; + } + + public DialogInputQuantityV2DTO setQtaTotEditable(boolean qtaTotEditable) { + this.isQtaTotEditable = qtaTotEditable; + return this; + } + public RunnableArgsWithReturn getSuggestPartitaMag() { return suggestPartitaMag; } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java index 922223cb..ddeaa3a9 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java @@ -397,7 +397,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia toggleTextInputLayoutError(textColorsNumCnf, this.mBindings.inputNumCnfLayout, value); if (this.mViewModel.mtbAart.get().isFlagQtaCnfFissaBoolean()) { - this.enabledQtaTot.set(!value); + this.enabledQtaTot.set(this.mDialogInputQuantityV2DTO.isQtaTotEditable() && !value); } else { if (value) { if (this.mViewModel.blockedQtaCnf.get()) { @@ -407,7 +407,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia } } else { if (!this.enabledQtaTot.get()) { - this.enabledQtaTot.set(true); + this.enabledQtaTot.set(this.mDialogInputQuantityV2DTO.isQtaTotEditable()); } else if (!this.enabledQtaCnf.get()) { this.enabledQtaCnf.set(true); } @@ -426,7 +426,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia } } else { if (!this.enabledQtaTot.get()) { - this.enabledQtaTot.set(true); + this.enabledQtaTot.set(this.mDialogInputQuantityV2DTO.isQtaTotEditable()); } else if (!this.enabledNumCnf.get()) { this.enabledNumCnf.set(this.mDialogInputQuantityV2DTO.isNumCnfEditable()); }