Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
Valerio Castellana 2024-12-05 16:09:08 +01:00
commit 00515aaf9b
13 changed files with 71 additions and 68 deletions

View File

@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
android { android {
def appVersionCode = 452 def appVersionCode = 458
def appVersionName = '1.41.04' def appVersionName = '1.41.10'
signingConfigs { signingConfigs {
release { release {

View File

@ -53,16 +53,16 @@ public class BaseActivity extends AppCompatActivity {
private void openProgress() { private void openProgress() {
BarcodeManager.disable(); BarcodeManager.disable();
executorService.execute(() -> { //executorService.execute(() -> {
this.mCurrentProgress.show(getSupportFragmentManager()); this.mCurrentProgress.show(getSupportFragmentManager());
}); //});
} }
private void closeProgress() { private void closeProgress() {
BarcodeManager.enable(); BarcodeManager.enable();
executorService.execute(() -> { //executorService.execute(() -> {
mCurrentProgress.dismissAllowingStateLoss(); mCurrentProgress.dismiss();
}); //});
} }
@Override @Override

View File

@ -77,22 +77,23 @@ public abstract class BaseDialogFragment extends DialogFragment implements Dialo
private void openProgress() { private void openProgress() {
BarcodeManager.disable(); BarcodeManager.disable();
executorService.execute(() -> { // executorService.execute(() -> {
this.mCurrentProgress.show(requireActivity().getSupportFragmentManager()); this.mCurrentProgress.show(requireActivity().getSupportFragmentManager());
}); // });
} }
private void closeProgress() { private void closeProgress() {
BarcodeManager.enable(); BarcodeManager.enable();
executorService.execute(() -> { // executorService.execute(() -> {
mCurrentProgress.dismissAllowingStateLoss(); mCurrentProgress.dismiss();
}); // });
} }
public void onError(Exception ex) { public void onError(Exception ex) {
this.onLoadingEnded();
requireActivity().runOnUiThread(() -> { requireActivity().runOnUiThread(() -> {
this.onLoadingEnded();
UtilityExceptions.defaultException(requireActivity(), ex); UtilityExceptions.defaultException(requireActivity(), ex);
}); });
} }

View File

@ -66,16 +66,16 @@ public abstract class BaseFragment extends Fragment {
private void openProgress() { private void openProgress() {
BarcodeManager.disable(); BarcodeManager.disable();
executorService.execute(() -> { // executorService.execute(() -> {
this.mCurrentProgress.show(requireActivity().getSupportFragmentManager()); this.mCurrentProgress.show(requireActivity().getSupportFragmentManager());
}); // });
} }
private void closeProgress() { private void closeProgress() {
BarcodeManager.enable(); BarcodeManager.enable();
executorService.execute(() -> { // executorService.execute(() -> {
mCurrentProgress.dismissAllowingStateLoss(); mCurrentProgress.dismiss();
}); // });
} }
public void onError(Exception ex) { public void onError(Exception ex) {

View File

@ -17,7 +17,6 @@ import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityLogger; import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.core.utility.UtilityThread;
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.ArtDTO; import it.integry.integrywmsnative.gest.contab_doc_interni.dto.ArtDTO;
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.OrdineDTO; import it.integry.integrywmsnative.gest.contab_doc_interni.dto.OrdineDTO;
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO; import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO;
@ -42,17 +41,13 @@ public class PVOrdiniAcquistoRESTConsumer extends _BaseRESTConsumer {
public void onResponse(Call<ServiceRESTResponse<OrdiniAcquistoGrigliaDTO>> call, Response<ServiceRESTResponse<OrdiniAcquistoGrigliaDTO>> response) { public void onResponse(Call<ServiceRESTResponse<OrdiniAcquistoGrigliaDTO>> call, Response<ServiceRESTResponse<OrdiniAcquistoGrigliaDTO>> response) {
var startTime = new Date().getTime(); var startTime = new Date().getTime();
analyzeAnswer(response, "retrieveArticoliOrdine", articoliOrdineWrapper -> { analyzeAnswer(response, "retrieveArticoliOrdine", articoliOrdineWrapper -> {
UtilityThread.executeParallel(() -> { Log.d("LOADING TIME 1", "MS: " + (new Date().getTime() - startTime));
Log.d("LOADING TIME 1", "MS: " + (new Date().getTime() - startTime)); onSuccess.run(articoliOrdineWrapper);
onSuccess.run(articoliOrdineWrapper);
}, false);
}, onFailed); }, onFailed);
} }
@Override @Override
public void onFailure(Call<ServiceRESTResponse<OrdiniAcquistoGrigliaDTO>> call, Throwable t) { public void onFailure(Call<ServiceRESTResponse<OrdiniAcquistoGrigliaDTO>> call, Throwable t) {
Log.e("getArticoliListino_pv", t.toString());
UtilityLogger.error(new Exception(t));
onFailed.run(new Exception(t)); onFailed.run(new Exception(t));
} }
}); });
@ -66,17 +61,13 @@ public class PVOrdiniAcquistoRESTConsumer extends _BaseRESTConsumer {
public void onResponse(Call<ServiceRESTResponse<OrdiniAcquistoGrigliaDTO>> call, Response<ServiceRESTResponse<OrdiniAcquistoGrigliaDTO>> response) { public void onResponse(Call<ServiceRESTResponse<OrdiniAcquistoGrigliaDTO>> call, Response<ServiceRESTResponse<OrdiniAcquistoGrigliaDTO>> response) {
var startTime = new Date().getTime(); var startTime = new Date().getTime();
analyzeAnswer(response, "retrieveArticoliOrdine", articoliOrdineWrapper -> { analyzeAnswer(response, "retrieveArticoliOrdine", articoliOrdineWrapper -> {
UtilityThread.executeParallel(() -> { Log.d("LOADING TIME 1", "MS: " + (new Date().getTime() - startTime));
Log.d("LOADING TIME 1", "MS: " + (new Date().getTime() - startTime)); onSuccess.run(articoliOrdineWrapper);
onSuccess.run(articoliOrdineWrapper);
}, false);
}, onFailed); }, onFailed);
} }
@Override @Override
public void onFailure(Call<ServiceRESTResponse<OrdiniAcquistoGrigliaDTO>> call, Throwable t) { public void onFailure(Call<ServiceRESTResponse<OrdiniAcquistoGrigliaDTO>> call, Throwable t) {
Log.e("getArticoliListino_pv", t.toString());
UtilityLogger.error(new Exception(t));
onFailed.run(new Exception(t)); onFailed.run(new Exception(t));
} }
}); });
@ -105,7 +96,7 @@ public class PVOrdiniAcquistoRESTConsumer extends _BaseRESTConsumer {
public void onResponse(Call<ServiceRESTResponse<Object>> call, Response<ServiceRESTResponse<Object>> response) { public void onResponse(Call<ServiceRESTResponse<Object>> call, Response<ServiceRESTResponse<Object>> response) {
var startTime = new Date().getTime(); var startTime = new Date().getTime();
analyzeAnswer(response, "retrieveArticoliOrdine", articoliOrdineWrapper -> { analyzeAnswer(response, "retrieveArticoliOrdine", articoliOrdineWrapper -> {
UtilityThread.executeParallel(() -> { // UtilityThread.executeParallel(() -> {
// if (data == null) { // if (data == null) {
// onFailed.run(new Exception("Nessun ordine generato")); // onFailed.run(new Exception("Nessun ordine generato"));
// return; // return;
@ -117,7 +108,7 @@ public class PVOrdiniAcquistoRESTConsumer extends _BaseRESTConsumer {
// ordine.setCodMdep(data.getCodMdep()); // ordine.setCodMdep(data.getCodMdep());
// ordine.setNumOrd(data.getNumOrd()); // ordine.setNumOrd(data.getNumOrd());
onSuccess.run(ordine); onSuccess.run(ordine);
}, false); // }, false);
}, onFailed); }, onFailed);
} }

View File

@ -63,6 +63,8 @@ public class UtilityExceptions {
if (!BuildConfig.DEBUG && !toIgnore) { if (!BuildConfig.DEBUG && !toIgnore) {
if (sendEmail) UtilityLogger.error(ex); if (sendEmail) UtilityLogger.error(ex);
FirebaseCrashlytics.getInstance().recordException(ex); FirebaseCrashlytics.getInstance().recordException(ex);
} else {
ex.printStackTrace();
} }
} }

View File

@ -3,6 +3,7 @@ package it.integry.integrywmsnative.gest.contab_doc_interni.dialog;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel; import androidx.lifecycle.ViewModel;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -36,7 +37,8 @@ public class DialogSelectDocInfoViewModel extends ViewModel {
private final MutableLiveData<Boolean> noteRequired = new MutableLiveData<>(false); private final MutableLiveData<Boolean> noteRequired = new MutableLiveData<>(false);
public DialogSelectDocInfoViewModel() { public DialogSelectDocInfoViewModel() {
List<String> requestNumDocList = Arrays.asList(SettingsManager.iDB().getDocInterniRequestNumDoc().split("\\|")); String docInterniRequestNumDoc = SettingsManager.iDB().getDocInterniRequestNumDoc();
List<String> requestNumDocList = docInterniRequestNumDoc != null ? Arrays.asList(docInterniRequestNumDoc.split("\\|")) : new ArrayList<>();
tipoDoc.observeForever(val -> fornitoreRequired.postValue(val != null && (val.getGestioneDoc().equals("T") || val.getGestioneDoc().equals("A") || (val.getGestioneDoc().equals("P") && !val.getGestione().equals("L"))))); tipoDoc.observeForever(val -> fornitoreRequired.postValue(val != null && (val.getGestioneDoc().equals("T") || val.getGestioneDoc().equals("A") || (val.getGestioneDoc().equals("P") && !val.getGestione().equals("L")))));

View File

@ -130,8 +130,10 @@ public class DialogScanGrigliaAcquistoView extends BaseDialogFragment {
this.onLoadingStarted(); this.onLoadingStarted();
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
pvOrdiniAcquistoRESTConsumer.retrieveArticoli(codAlis, codMdep, dto -> { pvOrdiniAcquistoRESTConsumer.retrieveArticoli(codAlis, codMdep, dto -> {
this.onLoadingEnded(); this.onLoadingEnded();
if (dto.getArticoli().size() == 0) {
if (dto.getArticoli().isEmpty()) {
if (UtilityString.isNullOrEmpty(codAlis)) { if (UtilityString.isNullOrEmpty(codAlis)) {
onFailed.run(new NoArtsFoundException()); onFailed.run(new NoArtsFoundException());
} else { } else {
@ -146,6 +148,7 @@ public class DialogScanGrigliaAcquistoView extends BaseDialogFragment {
mGriglia.setDescrDepo(dto.getDescrDepo()); mGriglia.setDescrDepo(dto.getDescrDepo());
mListArticoli = dto.getArticoli(); mListArticoli = dto.getArticoli();
this.dismiss(); this.dismiss();
}, onFailed); }, onFailed);
} }

View File

@ -18,7 +18,6 @@ import androidx.preference.PreferenceFragmentCompat;
import androidx.sqlite.db.SimpleSQLiteQuery; import androidx.sqlite.db.SimpleSQLiteQuery;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
import com.google.firebase.crashlytics.FirebaseCrashlytics;
import com.harrysoft.androidbluetoothserial.BluetoothManager; import com.harrysoft.androidbluetoothserial.BluetoothManager;
import java.io.BufferedReader; import java.io.BufferedReader;
@ -45,6 +44,7 @@ import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.MailAttachmentDTO; import it.integry.integrywmsnative.core.rest.model.MailAttachmentDTO;
import it.integry.integrywmsnative.core.rest.model.MailRequestDTO; import it.integry.integrywmsnative.core.rest.model.MailRequestDTO;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityResources; import it.integry.integrywmsnative.core.utility.UtilityResources;
import it.integry.integrywmsnative.view.dialogs.DialogProgressView; import it.integry.integrywmsnative.view.dialogs.DialogProgressView;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
@ -293,13 +293,16 @@ public class MainSettingsFragment extends PreferenceFragmentCompat implements IT
}); });
}); });
} catch (Exception ex) { } catch (Exception ex) {
requireActivity().runOnUiThread(() -> { UtilityExceptions.defaultException(requireContext(), ex);
DialogSimpleMessageView this.closeProgress();
.makeErrorDialog(new SpannableString(Html.fromHtml(ex.getMessage())), null, null)
.show(requireActivity().getSupportFragmentManager(), "tag");
});
FirebaseCrashlytics.getInstance().recordException(ex); // requireActivity().runOnUiThread(() -> {
// DialogSimpleMessageView
// .makeErrorDialog(new SpannableString(Html.fromHtml(ex.getMessage())), null, null)
// .show(requireActivity().getSupportFragmentManager(), "tag");
// });
//
// FirebaseCrashlytics.getInstance().recordException(ex);
} }
}); });
}) })
@ -309,15 +312,15 @@ public class MainSettingsFragment extends PreferenceFragmentCompat implements IT
private void openProgress() { private void openProgress() {
executorService.execute(() -> { // executorService.execute(() -> {
this.mCurrentProgress.show(requireActivity().getSupportFragmentManager()); this.mCurrentProgress.show(requireActivity().getSupportFragmentManager());
}); // });
} }
private void closeProgress() { private void closeProgress() {
executorService.execute(() -> { // executorService.execute(() -> {
mCurrentProgress.dismissAllowingStateLoss(); mCurrentProgress.dismiss();
}); // });
} }
@ -330,6 +333,12 @@ public class MainSettingsFragment extends PreferenceFragmentCompat implements IT
String line; String line;
while ((line = br.readLine()) != null) { while ((line = br.readLine()) != null) {
if(!line.matches("\\d{13}.*")) {
int lastNewLineChar = text.lastIndexOf("\n");
text.deleteCharAt(text.length() - 1);
}
text.append(line); text.append(line);
text.append('\n'); text.append('\n');
} }

View File

@ -1,6 +1,5 @@
package it.integry.integrywmsnative.gest.spedizione; package it.integry.integrywmsnative.gest.spedizione;
import androidx.annotation.IntegerRes;
import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableArrayList;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
@ -11,18 +10,15 @@ import java.time.LocalDate;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator; import java.util.Comparator;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.inject.Inject; import javax.inject.Inject;
import it.integry.barcode_base_android_library.model.BarcodeScanDTO; import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService; import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
import it.integry.integrywmsnative.core.exception.EmptyLUException; import it.integry.integrywmsnative.core.exception.EmptyLUException;
@ -89,7 +85,6 @@ import it.integry.integrywmsnative.core.utility.UtilityBarcode;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityPosizione; import it.integry.integrywmsnative.core.utility.UtilityPosizione;
import it.integry.integrywmsnative.core.utility.UtilityResources;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.spedizione.exceptions.CurrentMonoLUPositionIsNotCorrectException; import it.integry.integrywmsnative.gest.spedizione.exceptions.CurrentMonoLUPositionIsNotCorrectException;
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidMagazzinoAutomaticoMovementException; import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidMagazzinoAutomaticoMovementException;
@ -99,7 +94,6 @@ import it.integry.integrywmsnative.gest.spedizione.exceptions.OrdersLoadExceptio
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO; import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO; import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
import it.integry.integrywmsnative.gest.spedizione.model.PrintOrderCloseDTO; import it.integry.integrywmsnative.gest.spedizione.model.PrintOrderCloseDTO;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.exception.OverflowQtaTotOrderedQuantityException;
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.TracciamentoImballoDTO; import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.TracciamentoImballoDTO;
public class SpedizioneViewModel { public class SpedizioneViewModel {
@ -193,19 +187,20 @@ public class SpedizioneViewModel {
this.mUseQtaOrd = useQtaOrd; this.mUseQtaOrd = useQtaOrd;
this.mUseColliPedana = useColliPedana; this.mUseColliPedana = useColliPedana;
if (enableGiacenza) {
mOrdiniRestConsumerService.getSuggestedPickingList(this.mDefaultCodMdep, pickingList, pickingObjectList -> {
this.mPickingList.postValue(pickingObjectList);
}, ex -> this.sendError(new OrdersLoadException(ex)));
} else {
getEmptyPickingList(pickingList, pickingObjectList -> {
this.mPickingList.postValue(pickingObjectList);
});
}
getPartitaMagList(pickingList, mtbPartitaMagList -> { getPartitaMagList(pickingList, mtbPartitaMagList -> {
this.mPartitaMagList = mtbPartitaMagList; this.mPartitaMagList = mtbPartitaMagList;
this.sendOnLoadingEnded();
if (enableGiacenza) {
mOrdiniRestConsumerService.getSuggestedPickingList(this.mDefaultCodMdep, pickingList, pickingObjectList -> {
this.mPickingList.postValue(pickingObjectList);
this.sendOnLoadingEnded();
}, ex -> this.sendError(new OrdersLoadException(ex)));
} else {
getEmptyPickingList(pickingList, pickingObjectList -> {
this.mPickingList.postValue(pickingObjectList);
this.sendOnLoadingEnded();
});
}
}); });
this.mDefaultGestioneOfUL = gestioneCol; this.mDefaultGestioneOfUL = gestioneCol;

View File

@ -64,7 +64,7 @@ public class DialogProgressView extends DialogFragment {
} }
public void show(@NonNull FragmentManager manager) { public void show(@NonNull FragmentManager manager) {
if (!isAdded() && !isInLayout()) { if (!isAdded() && !isInLayout() && !progressOpened) {
this.progressOpened = true; this.progressOpened = true;
super.show(manager, "loading-dialog"); super.show(manager, "loading-dialog");
} }
@ -72,7 +72,7 @@ public class DialogProgressView extends DialogFragment {
@Override @Override
public void dismiss() { public void dismiss() {
if (isAdded() || isInLayout()) { if (isAdded() || isInLayout() || progressOpened) {
this.progressOpened = false; this.progressOpened = false;
super.dismissAllowingStateLoss(); super.dismissAllowingStateLoss();
} }

View File

@ -207,7 +207,7 @@ public class DialogAskClienteView extends BaseDialogFragment {
" nazione\n" + " nazione\n" +
"FROM vtb_dest\n" + "FROM vtb_dest\n" +
"INNER JOIN vtb_clie ON vtb_clie.cod_anag = vtb_dest.cod_anag\n" + "INNER JOIN vtb_clie ON vtb_clie.cod_anag = vtb_dest.cod_anag\n" +
"WHERE vtb_clie.flag_stato = 'A'"; "WHERE vtb_clie.flag_stato = 'A' AND vtb_dest.flag_attivo = 'S'";
Type typeOfObjectsList = new TypeToken<ArrayList<DialogAskClienteDestinatarioDTO>>() { Type typeOfObjectsList = new TypeToken<ArrayList<DialogAskClienteDestinatarioDTO>>() {
}.getType(); }.getType();

View File

@ -3,7 +3,7 @@
buildscript { buildscript {
ext { ext {
kotlin_version = '1.9.20' kotlin_version = '1.9.20'
agp_version = '8.7.1' agp_version = '8.7.2'
} }
repositories { repositories {