diff --git a/app/build.gradle b/app/build.gradle
index 3f99e774..c6a60b45 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
android {
- def appVersionCode = 368
- def appVersionName = '1.32.28'
+ def appVersionCode = 370
+ def appVersionName = '1.32.30'
signingConfigs {
release {
@@ -31,8 +31,6 @@ android {
}
}
- compileSdkVersion 33
-
defaultConfig {
applicationId "it.integry.integrywmsnative"
minSdkVersion 21
@@ -65,8 +63,8 @@ android {
android.buildFeatures.buildConfig true
compileOptions {
- sourceCompatibility JavaVersion.VERSION_11
- targetCompatibility JavaVersion.VERSION_11
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
coreLibraryDesugaringEnabled true
}
@@ -90,8 +88,7 @@ android {
abortOnError false
}
namespace 'it.integry.integrywmsnative'
-
-
+ compileSdk 33
}
dependencies {
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 09204f60..4fa8bc04 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
@@ -43,6 +43,7 @@ public class DBSettingsModel {
private String produzioneDefaultCodAnag;
private boolean flagPrintPackingListOnOrderClose;
private boolean flagPrintEtichetteOnOrderClose;
+ private boolean flagPrintEtichetteOnLUClose;
private int onNumCnfInputChanged = 1;
private int onQtaTotInputChanged = 1;
private boolean flagAccettazioneUseQtaOrd = false;
@@ -285,6 +286,15 @@ public class DBSettingsModel {
return this;
}
+ public boolean isFlagPrintEtichetteOnLUClose() {
+ return flagPrintEtichetteOnLUClose;
+ }
+
+ public DBSettingsModel setFlagPrintEtichetteOnLUClose(boolean flagPrintEtichetteOnLUClose) {
+ this.flagPrintEtichetteOnLUClose = flagPrintEtichetteOnLUClose;
+ return this;
+ }
+
public int getOnNumCnfInputChanged() {
return onNumCnfInputChanged;
}
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 49055621..a38d4acf 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
@@ -332,6 +332,10 @@ public class SettingsManager {
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("FLAG_PRINT_ETICHETTE_ON_CLOSE"));
+ stbGestSetupList.add(new StbGestSetup()
+ .setGestName("PICKING")
+ .setSection("SPEDIZIONE")
+ .setKeySection("FLAG_PRINT_ETICHETTE_ON_LU_CLOSE"));
stbGestSetupList.add(new StbGestSetup()
.setGestName("PICKING")
.setSection("SPEDIZIONE")
@@ -403,6 +407,7 @@ public class SettingsManager {
dbSettingsModelIstance.setFlagConsentiFuoriPianoLogistico(getValueFromList(list, "ORDINI_A", "FLAG_CONSENTI_ORIDNE_DA_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));
dbSettingsModelIstance.setFlagAskInfoAggiuntiveSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_ASK_INFO_AGGIUNTIVE", Boolean.class));
dbSettingsModelIstance.setFilterFornitoreProd(getValueFromList(list, "PRODUZIONE", "FILTER_FORNTIORE_PROD", String.class));
dbSettingsModelIstance.setCodDtipOrdTrasfV(getValueFromList(list, "SPEDIZIONE", "COD_DTIP_ORD_TRASF", String.class));
@@ -451,7 +456,7 @@ public class SettingsManager {
} else if (clazz == Integer.class && value.getValue() != null) {
return clazz.cast(Integer.parseInt(value.getValue()));
}
- } else if(defaultValue == null) {
+ } else if (defaultValue == null) {
if (clazz == Boolean.class) {
return clazz.cast(Boolean.FALSE);
} else if (clazz == Integer.class) {
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java
index 8911f876..67352e9d 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java
@@ -290,7 +290,7 @@ public class MainAccettazioneFragment extends BaseFragment implements ISearchabl
DialogSimpleMessageView.makeInfoDialog(getText(R.string.orders).toString(),
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, (int) ordsCounter), ordsCounter)
+ "
" +
- "" + artsCounter + " " + getActivity().getResources().getQuantityString(R.plurals.available_articles, (int) artsCounter)),
+ "" + artsCounter + " " + getActivity().getResources().getQuantityString(R.plurals.ordered_articles, (int) artsCounter)),
null,
() -> {
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoFragment.java
index 1b27890f..d5979ce7 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoFragment.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/ordini_uscita_elenco/OrdiniUscitaElencoFragment.java
@@ -797,7 +797,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
listModel.setSubDescription(x.getRifOrd());
- if(x.getDataConsD() != null) {
+ if (x.getDataConsD() != null) {
String testataDataConsString = String.format(getString(R.string.ord_ven_testata_data_cons), UtilityDate.formatDate(x.getDataConsD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
listModel.setRightDescription(testataDataConsString);
}
@@ -861,7 +861,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
DialogSimpleMessageView.makeInfoDialog(getText(R.string.orders).toString(),
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, orders.size()), orders.size())
+ "
" +
- "" + codMarts.size() + " " + getActivity().getResources().getQuantityString(R.plurals.available_articles, codMarts.size())
+ "" + codMarts.size() + " " + getActivity().getResources().getQuantityString(R.plurals.ordered_articles, codMarts.size())
+ "
" +
"" + alreadyRegisteredUL + " " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)),
null,
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoFragment.java
index 756afb0c..03d7ea0e 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoFragment.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoFragment.java
@@ -356,7 +356,7 @@ public class ProdOrdineProduzioneElencoFragment extends BaseFragment implements
DialogSimpleMessageView.makeInfoDialog(getText(R.string.orders).toString(),
Html.fromHtml(String.format(getActivity().getResources().getQuantityString(R.plurals.loaded_orders_message, (int) ordsCounter), ordsCounter)
+ "
" +
- "" + artsCounter + " " + getActivity().getResources().getQuantityString(R.plurals.available_articles, (int) artsCounter)),
+ "" + artsCounter + " " + getActivity().getResources().getQuantityString(R.plurals.ordered_articles, (int) artsCounter)),
null,
() -> {
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java
index 5fc16190..df9ce635 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java
@@ -10,7 +10,6 @@ import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
-import java.util.stream.Collectors;
import javax.inject.Inject;
@@ -240,7 +239,6 @@ public class PVOrdineAcquistoEditViewModel {
articolo.setFlagQtaMultipla(art.getFlagQtaMultipla());
articolo.setQtaMinOrdinabile(art.getQtaMinOrdinabile());
articolo.setMerceDaRic(art.getMerceDaRic());
- articolo.setQtaCnf(art.getQtaCnf());
articolo.setUntMis(art.getUntMis());
articolo.setDescrizione(art.getDescrizione());
articolo.setDataIns(UtilityDate.getDateInstance());
@@ -250,7 +248,8 @@ public class PVOrdineAcquistoEditViewModel {
articolo.setQtaProposta(art.getQtaProposta());
articolo.setNewNoPromo(art.isNewNoPromo());
articolo.setSystemNote(art.generateSystemNote());
- articolo.setQtaOrd(art.getQtaOrd());
+ articolo.setQtaCnf(art.getQtaCnf() > 0f ? art.getQtaCnf() : 1);
+ articolo.setQtaOrd(art.getQtaOrd() > 0f ? art.getQtaOrd() : art.getQtaCnf());
articolo.setCodAlis(art.getCodAlis());
articolo.setCtMaxOrd(BigDecimal.valueOf(art.getCtMaxOrd()));
@@ -279,9 +278,9 @@ public class PVOrdineAcquistoEditViewModel {
}
private List getNewArticoli() {
- return mArticoliGriglia.stream()
+ return Stream.of(mArticoliGriglia)
.filter(x -> x.getQtaOrd() > 0f)
- .collect(Collectors.toList());
+ .toList();
}
public void orderNewProducts() {
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java
index c0159b5d..c2f844f9 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java
@@ -14,9 +14,15 @@ import androidx.core.content.ContextCompat;
import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.LinearLayoutManager;
+import com.annimon.stream.Collectors;
+import com.annimon.stream.Stream;
+
+import org.apache.commons.lang3.StringUtils;
+
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
+import java.util.Map;
import javax.inject.Inject;
@@ -109,6 +115,7 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi
} else {
setGriglia(griglia);
setListaArticoli(listArticoli);
+ this.onGrigliaRetrieved();
}
}).show(requireActivity().getSupportFragmentManager(), "tag");
@@ -119,6 +126,33 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi
titleText.setText(context.getText(R.string.pv_elenco_ordiniA_title_fragment).toString());
}
+ private void onGrigliaRetrieved() {
+ if (UtilityString.isNullOrEmpty(mGriglia.getCodAlis())) {
+
+ Map downloadedGrids = Stream.of(mListArticoli).collect(Collectors.groupingBy(ArticoloOrdinabileDTO::getCodAlis, Collectors.counting()));
+ if (downloadedGrids != null && !downloadedGrids.isEmpty()) {
+
+ List gridsDetails = Stream.of(downloadedGrids)
+ .map((el) -> "" + el.getKey() + ": " + el.getValue() + " " + getResources().getQuantityString(R.plurals.available_articles, el.getValue().intValue()))
+ .toList();
+
+
+ DialogSimpleMessageView.makeInfoDialog(getText(R.string.grid_details).toString(),
+ Html.fromHtml(
+ String.format(getResources().getQuantityString(R.plurals.loaded_grids_message, (int) downloadedGrids.size()), downloadedGrids.size())
+ + "
" +
+ StringUtils.join(gridsDetails, "
")),
+ null,
+ this::fetchOrders)
+ .show(requireActivity().getSupportFragmentManager(), "downloadedGridDetails");
+ } else {
+ fetchOrders();
+ }
+ } else {
+ fetchOrders();
+ }
+ }
+
private void setGriglia(Griglia griglia) {
mGriglia = griglia;
mBinding.fabNewOrder.setVisibility(View.VISIBLE);
@@ -129,7 +163,6 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi
mBinding.descrLis.setText(griglia.getDescrLisa());
}
mBinding.descrDepo.setText(griglia.getDescrDepo());
- fetchOrders();
}
private void setListaArticoli(List listArticoli) {
@@ -161,7 +194,7 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi
mBinding.ordiniAEmptyView.setVisibility(ordini == null || ordini.size() <= 0 ? View.VISIBLE : View.GONE);
refreshRenderedOrdini(ordini);
mAdapter.updateItems(mRenderedOrderList);
- if (mRenderedOrderList.size() <= 0 && mRedirectToNewOrder) {
+ if (mRenderedOrderList.isEmpty() && mRedirectToNewOrder) {
createNewOrder();
} else {
mRedirectToNewOrder = false;
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java
index ec2d7989..acce8871 100644
--- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java
@@ -605,7 +605,9 @@ public class SpedizioneViewModel {
final List magazzinoAutomaticoPickItemRequestDTOList = new ArrayList<>();
for (MtbAart selectedArt : selectedArts) {
final PickingObjectDTO pickingObjectDTO = Stream.of(magazzinoAutomaticoPickableArts)
- .filter(x -> x.getMtbAart().getCodMart().equalsIgnoreCase(selectedArt.getCodMart()))
+ .filter(x -> x.getMtbAart().getCodMart().equalsIgnoreCase(selectedArt.getCodMart()) &&
+ x.getSitArtOrdDTO() != null &&
+ UtilityBigDecimal.greaterThan(x.getSitArtOrdDTO().getQtaOrd(), BigDecimal.ZERO))
.findFirst()
.orElse(null);
@@ -1415,7 +1417,7 @@ public class SpedizioneViewModel {
filledMtbColts,
positionedMtbColts -> {
- this.askPrint(shouldPrint, positionedMtbColts, () -> {
+ this.askPrint((shouldPrint && SettingsManager.iDB().isFlagPrintEtichetteOnLUClose()), positionedMtbColts, () -> {
Stream.of(positionedMtbColts)
.filter(x -> !this.mColliRegistrati.contains(x))
.forEach(x -> this.mColliRegistrati.add(x));
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index ec5ef2bd..4a4955f5 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -91,6 +91,10 @@
- articoli
+ - articolo disponibile
+ - articoli disponibili
+
+
- articolo ordinato
- articoli ordinati
@@ -102,6 +106,10 @@
- %d ordine]]>
- %d ordini]]>
+
+ - %d griglia]]>
+ - %d griglie]]>
+
- @string/piece
- pezzi
@@ -450,4 +458,5 @@
L\'ordine presenta uno o più articoli non validi per la lista selezionata!
Sei sicuro di voler continuare?]]>
+ Griglie disponibili
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9072d54c..333837f1 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -9,9 +9,15 @@
+ - item available
+ - items available
+
+
+
- ordered item
- ordered items
+
- already registered LU
- already registered LUs
@@ -21,6 +27,10 @@
- %d order selected]]>
- %d orders selected]]>
+
+ - %d grid downloaded]]>
+ - %d grids downloaded]]>
+
- @string/piece
- pieces
@@ -457,4 +467,5 @@
One or more ordered products are not available in the selected list!
Do you wish to continue?]]>
+ Available grids
diff --git a/barcode_base_android_library/build.gradle b/barcode_base_android_library/build.gradle
index fbe4e9f6..d41806d2 100644
--- a/barcode_base_android_library/build.gradle
+++ b/barcode_base_android_library/build.gradle
@@ -19,8 +19,8 @@ android {
}
compileOptions {
- sourceCompatibility JavaVersion.VERSION_11
- targetCompatibility JavaVersion.VERSION_11
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
}
lint {
abortOnError false
diff --git a/build.gradle b/build.gradle
index 0c93ba8e..f95f6121 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3,7 +3,7 @@
buildscript {
ext {
kotlin_version = '1.8.0'
- agp_version = '8.1.0-alpha10'
+ agp_version = '8.1.0-alpha11'
}
repositories {
diff --git a/honeywellscannerlibrary/build.gradle b/honeywellscannerlibrary/build.gradle
index c01e1383..6e5f1401 100644
--- a/honeywellscannerlibrary/build.gradle
+++ b/honeywellscannerlibrary/build.gradle
@@ -19,8 +19,8 @@ android {
}
compileOptions {
- sourceCompatibility JavaVersion.VERSION_11
- targetCompatibility JavaVersion.VERSION_11
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
}
lint {
abortOnError false
diff --git a/keyobardemulatorscannerlibrary/build.gradle b/keyobardemulatorscannerlibrary/build.gradle
index 8e1a9520..444eef53 100644
--- a/keyobardemulatorscannerlibrary/build.gradle
+++ b/keyobardemulatorscannerlibrary/build.gradle
@@ -19,8 +19,8 @@ android {
}
compileOptions {
- sourceCompatibility JavaVersion.VERSION_11
- targetCompatibility JavaVersion.VERSION_11
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
}
lint {
abortOnError false
diff --git a/pointmobilescannerlibrary/build.gradle b/pointmobilescannerlibrary/build.gradle
index e9e976b7..e58d620d 100644
--- a/pointmobilescannerlibrary/build.gradle
+++ b/pointmobilescannerlibrary/build.gradle
@@ -18,8 +18,8 @@ android {
}
compileOptions {
- sourceCompatibility JavaVersion.VERSION_11
- targetCompatibility JavaVersion.VERSION_11
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
}
lint {
abortOnError false
diff --git a/zebrascannerlibrary/build.gradle b/zebrascannerlibrary/build.gradle
index c5a3a246..3390a937 100644
--- a/zebrascannerlibrary/build.gradle
+++ b/zebrascannerlibrary/build.gradle
@@ -18,8 +18,8 @@ android {
}
compileOptions {
- sourceCompatibility JavaVersion.VERSION_11
- targetCompatibility JavaVersion.VERSION_11
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
}
lint {
abortOnError false