diff --git a/app/build.gradle b/app/build.gradle index 5a4a9040..826b155d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 374 - def appVersionName = '1.33.03' + def appVersionCode = 376 + def appVersionName = '1.33.05' signingConfigs { release { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/GridNotSelectedException.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/GridNotSelectedException.java new file mode 100644 index 00000000..8eb15df1 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/GridNotSelectedException.java @@ -0,0 +1,12 @@ +package it.integry.integrywmsnative.core.exception; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.utility.UtilityResources; + +public class GridNotSelectedException extends Exception { + + public GridNotSelectedException() { + super(UtilityResources.getString(R.string.grid_not_selected)); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/RESTBuilder.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/RESTBuilder.java index 6f5aee50..87245d05 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/RESTBuilder.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/RESTBuilder.java @@ -63,7 +63,7 @@ public class RESTBuilder { OkHttpClient client = clientBuilder.build(); - String endpoint = protocol + "://" + host + ":" + port + "/" + (addEmsApi ? "ems-api/" : ""); + String endpoint = protocol + "://" + host + (port > 0 ? ":" + port : "") + "/" + (addEmsApi ? "ems-api/" : ""); Gson gson = new GsonBuilder() 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 4fa8bc04..5a052dd5 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 @@ -39,6 +39,7 @@ public class DBSettingsModel { private boolean flagOrdinaNuoviArticoliInGriglia; private boolean flagOrdinaArticoliOnScan; private boolean flagConsentiFuoriPianoLogistico; + private boolean flagConsentiOrdineSenzaGriglia; private String docInterniCheckFornitore; private String produzioneDefaultCodAnag; private boolean flagPrintPackingListOnOrderClose; @@ -449,6 +450,15 @@ public class DBSettingsModel { return this; } + public boolean isFlagConsentiOrdineSenzaGriglia() { + return flagConsentiOrdineSenzaGriglia; + } + + public DBSettingsModel setFlagConsentiOrdineSenzaGriglia(boolean flagConsentiOrdineSenzaGriglia) { + this.flagConsentiOrdineSenzaGriglia = flagConsentiOrdineSenzaGriglia; + return this; + } + public String getCommessaMagazzino() { return commessaMagazzino; } 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 a38d4acf..4f0b67cb 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 @@ -312,6 +312,10 @@ public class SettingsManager { .setGestName("PVM") .setSection("ORDINI_A") .setKeySection("FLAG_CONSENTI_ORIDNE_DA_GRIGLIA")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PVM") + .setSection("ORDINI_A") + .setKeySection("FLAG_CONSENTI_ORIDNE_SENZA_GRIGLIA")); stbGestSetupList.add(new StbGestSetup() .setGestName("PVM") .setSection("DOC_INTERNI") @@ -405,6 +409,7 @@ public class SettingsManager { dbSettingsModelIstance.setFlagPickLiberoAllowEmptyDest(getValueFromList(list, "PICKING_LIBERO", "FLAG_ALLOW_EMPTY_DEST", Boolean.class)); dbSettingsModelIstance.setFlagOrdinaArticoliOnScan(getValueFromList(list, "ORDINI_A", "ORDINA_ARTICOLI_ON_SCAN", Boolean.class)); dbSettingsModelIstance.setFlagConsentiFuoriPianoLogistico(getValueFromList(list, "ORDINI_A", "FLAG_CONSENTI_ORIDNE_DA_GRIGLIA", Boolean.class)); + dbSettingsModelIstance.setFlagConsentiOrdineSenzaGriglia(getValueFromList(list, "ORDINI_A", "FLAG_CONSENTI_ORIDNE_SENZA_GRIGLIA", Boolean.class)); dbSettingsModelIstance.setFlagPrintPackingListOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_PACKING_LIST_ON_CLOSE", Boolean.class)); dbSettingsModelIstance.setFlagPrintEtichetteOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_CLOSE", Boolean.class)); dbSettingsModelIstance.setFlagPrintEtichetteOnLUClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_LU_CLOSE", Boolean.class, true)); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/update/UpdatesManager.java b/app/src/main/java/it/integry/integrywmsnative/core/update/UpdatesManager.java index 4c45c273..6502888d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/update/UpdatesManager.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/update/UpdatesManager.java @@ -27,9 +27,11 @@ public class UpdatesManager { public void init(AppCompatActivity activityContext) { this.mContext = activityContext; + final String baseEndpoint = SettingsManager.i().getServer().getProtocol() + "://" + SettingsManager.i().getServer().getHost() + + (SettingsManager.i().getServer().getPort() > 0 ? ":" + SettingsManager.i().getServer().getPort() : ""); - String currentVersionUrl = SettingsManager.i().getServer().getProtocol() + "://" + SettingsManager.i().getServer().getHost() + ":" + SettingsManager.i().getServer().getPort() + "/ems-api/wms/currentVersion"; - String currentDownloadUrl = SettingsManager.i().getServer().getProtocol() + "://" + SettingsManager.i().getServer().getHost() + ":" + SettingsManager.i().getServer().getPort() + "/ems-api/wms/android-release.apk"; + final String currentVersionUrl = baseEndpoint + "/ems-api/wms/currentVersion"; + final String currentDownloadUrl = baseEndpoint + "/ems-api/wms/android-release.apk"; AppUpdater appUpdater = new AppUpdater(mContext) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityServer.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityServer.java index 63b09593..7268542c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityServer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityServer.java @@ -41,9 +41,15 @@ public class UtilityServer { public static void isEmsApiAvailable(final String protocol, final String serverAddress, final int serverTCPport, final Runnable onComplete, final RunnableArgs onFailed) { new Thread(() -> { + String url = null; + + if(serverTCPport > 0) + url = String.format("%s://%s:%d/ems-api/system/ok", protocol, serverAddress, serverTCPport); + else + url = String.format("%s://%s/ems-api/system/ok", protocol, serverAddress); Request request = new Request.Builder() - .url(String.format("%s://%s:%d/ems-api/system/ok", protocol, serverAddress, serverTCPport)) + .url(url) .build(); try { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java index 172f84f3..2385784c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java @@ -195,7 +195,7 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi Toast.makeText(this, "Articolo aggiunto all'ordine!", Toast.LENGTH_SHORT).show(); } this.mViewModel.refreshListArticoli(onSuccess); - }, null).show(this.getSupportFragmentManager(), "DialogEditArticoloView"); + }, this::onLoadingEnded).show(this.getSupportFragmentManager(), "DialogEditArticoloView"); } @Override diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/edit_articolo/DialogEditArticoloView.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/edit_articolo/DialogEditArticoloView.java index 84df33c9..57b17796 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/edit_articolo/DialogEditArticoloView.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/edit_articolo/DialogEditArticoloView.java @@ -85,7 +85,7 @@ public class DialogEditArticoloView extends BaseDialogFragment implements Dialog this.mViewModel .setListener(this) .setCurrentArticolo(this.mArticolo) - .setInitialQtaCnf(BigDecimal.valueOf(mArticolo.getQtaCnf())) + .setInitialQtaCnf(BigDecimal.valueOf(mArticolo.getQtaCnf()).setScale(5, RoundingMode.HALF_UP)) .setInitialNumCnf(UtilityBigDecimal.divide(BigDecimal.valueOf(mArticolo.getQtaOrd()), BigDecimal.valueOf(mArticolo.getQtaCnf())).setScale(0, RoundingMode.CEILING)) .setInitialQtaTot(BigDecimal.valueOf(mArticolo.getQtaOrd())); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/dialogs/DialogScanGrigliaAcquistoView.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/dialogs/DialogScanGrigliaAcquistoView.java index d388c9bb..05cf08fe 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/dialogs/DialogScanGrigliaAcquistoView.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/dialogs/DialogScanGrigliaAcquistoView.java @@ -23,6 +23,7 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.data_store.db.entity.Griglia; import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloOrdinabileDTO; import it.integry.integrywmsnative.core.exception.GridNotFoundException; +import it.integry.integrywmsnative.core.exception.GridNotSelectedException; import it.integry.integrywmsnative.core.exception.NoArtsFoundException; import it.integry.integrywmsnative.core.expansion.BaseDialogFragment; import it.integry.integrywmsnative.core.expansion.RunnableArgs; @@ -36,6 +37,7 @@ public class DialogScanGrigliaAcquistoView extends BaseDialogFragment { private DialogScanCodiceGrigliaBinding mBinding; private int mBarcodeScannerIstanceID; + public boolean canIgnoreGrid; private final RunnableArgss> mOnDialogDismiss; @@ -53,6 +55,7 @@ public class DialogScanGrigliaAcquistoView extends BaseDialogFragment { private DialogScanGrigliaAcquistoView(RunnableArgss> onDialogDismiss) { super(); mOnDialogDismiss = onDialogDismiss; + canIgnoreGrid = SettingsManager.iDB().isFlagConsentiOrdineSenzaGriglia(); } @NonNull @@ -80,6 +83,12 @@ public class DialogScanGrigliaAcquistoView extends BaseDialogFragment { } public void ignore() { + + if (!this.canIgnoreGrid) { + this.onError(new GridNotSelectedException()); + return; + } + BarcodeManager.disable(); RunnableArgs mOnError = exception -> { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/settings/MainSettingsFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/settings/MainSettingsFragment.java index cd3acf7c..5c535d24 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/settings/MainSettingsFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/settings/MainSettingsFragment.java @@ -47,10 +47,13 @@ public class MainSettingsFragment extends PreferenceFragmentCompat implements IT @Inject public AppContext appContext; + @Inject public SystemRESTConsumer systemRESTConsumer; + @Inject public DialogProgressView mCurrentProgress; + @Inject public ExecutorService executorService; diff --git a/app/src/main/res/layout/dialog_scan_codice_griglia.xml b/app/src/main/res/layout/dialog_scan_codice_griglia.xml index dfe9873d..a69b457a 100644 --- a/app/src/main/res/layout/dialog_scan_codice_griglia.xml +++ b/app/src/main/res/layout/dialog_scan_codice_griglia.xml @@ -8,6 +8,8 @@ + + Nessun articolo presente in griglia La quantità ordinata non è valida La griglia selezionata non esiste o non presenta articoli + Nessuna griglia selezionata! Ignora Qta massima ordinabile Quantità massima superata diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 333837f1..d5b84c79 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -459,6 +459,7 @@ No product found in grid Invalid quantity ordered The selected grid was not found or is empty + No grid was selected Ignore Max orderable qty Max quantity exceeded diff --git a/build.gradle b/build.gradle index 18f81ef8..ebcfc40b 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ buildscript { ext { kotlin_version = '1.8.0' - agp_version = '8.0.0' + agp_version = '8.0.1' } repositories {