From 9faf4123ef2f9747c6ec18c6d33b3bff18fafa06 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Mon, 11 Jul 2022 13:11:52 +0200 Subject: [PATCH 01/20] fase di creazione dell'ordine di acquisto preimpostare gli articoli che hanno una qta proposta da acquistare --- .../core/data_store/db/AppDatabase.java | 2 +- .../data_store/db/dao/ArticoloGrigliaDao.java | 2 +- .../data_store/db/entity/ArticoloGriglia.java | 14 +++++++++-- .../core/data_store/db/entity/Ordine.java | 12 ++++++++++ .../data_store/db/view_model/ArticoloDTO.java | 11 +++++++++ .../dto/GrigliaAcquistiChildDTO.java | 11 +++++++++ .../edit_form/DocInterniEditFormActivity.java | 1 + .../PVOrdineAcquistoEditActivity.java | 3 ++- .../PVOrdineAcquistoEditViewModel.java | 1 - .../helper/OrdineAcquistoPvHelper.java | 1 + .../DialogInputQuantityV2DTO.java | 10 ++++++++ .../DialogInputQuantityV2View.java | 24 ++++++++++++------- 12 files changed, 77 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/AppDatabase.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/AppDatabase.java index c03ca174..a56b35d2 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/AppDatabase.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/AppDatabase.java @@ -19,7 +19,7 @@ import it.integry.integrywmsnative.core.data_store.db.entity.Ordine; import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColr; import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt; -@Database(entities = {ArticoloGriglia.class, Griglia.class, Ordine.class, ArticoloOrdine.class, SqlMtbColt.class, SqlMtbColr.class}, version = 9, exportSchema = false) +@Database(entities = {ArticoloGriglia.class, Griglia.class, Ordine.class, ArticoloOrdine.class, SqlMtbColt.class, SqlMtbColr.class}, version = 10, exportSchema = false) @TypeConverters({ DateConverter.class, BigDecimalConverter.class diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/ArticoloGrigliaDao.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/ArticoloGrigliaDao.java index 9480717b..4781b024 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/ArticoloGrigliaDao.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/ArticoloGrigliaDao.java @@ -53,6 +53,6 @@ public interface ArticoloGrigliaDao { @Query("SELECT * FROM articoli_griglia WHERE id_griglia = :grigliaId") List getArticoliFromGriglia(int grigliaId); - @Query("SELECT * FROM articoli_griglia WHERE id_griglia = :grigliaId AND new_no_promo = 1") + @Query("SELECT * FROM articoli_griglia WHERE id_griglia = :grigliaId AND qta_ord >= 1") List getNewArticoliInGriglia(int grigliaId); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/ArticoloGriglia.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/ArticoloGriglia.java index 329820ba..4602b8e2 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/ArticoloGriglia.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/ArticoloGriglia.java @@ -71,6 +71,9 @@ public class ArticoloGriglia { @ColumnInfo(name = "qta_proposta") private float qtaProposta; + @ColumnInfo(name = "qta_ord") + private float qtaOrd; + @ColumnInfo(name = "id_griglia") private int idGriglia; @@ -205,6 +208,14 @@ public class ArticoloGriglia { this.newNoPromo = newNoPromo; } + public float getQtaOrd() { + return qtaOrd; + } + + public void setQtaOrd(float qtaOrd) { + this.qtaOrd = qtaOrd; + } + public String generateSystemNote() { HashMap pairs = new HashMap<>(); pairs.put("qta_proposta", String.valueOf(qtaProposta)); @@ -234,8 +245,7 @@ public class ArticoloGriglia { articolo.setQtaProposta(BigDecimal.valueOf(this.getQtaProposta())); articolo.setNewNoPromo(this.isNewNoPromo()); articolo.setSystemNote(generateSystemNote()); - - articolo.setQtaOrd(0); + articolo.setQtaOrd(this.getQtaOrd()); return articolo; } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/Ordine.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/Ordine.java index 34407354..5f7e35a5 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/Ordine.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/Ordine.java @@ -50,6 +50,9 @@ public class Ordine { @Ignore private int countArticoli = 0; + @Ignore + private boolean orderNewProducts = false; + @ColumnInfo(name = "id_griglia") private int idGriglia; @@ -149,4 +152,13 @@ public class Ordine { public void setDataOrdS(String dataOrd) { setDataOrd(UtilityDate.recognizeDateWithExceptionHandler(dataOrd)); } + + public boolean isOrderNewProducts() { + return orderNewProducts; + } + + public Ordine setOrderNewProducts(boolean orderNewProducts) { + this.orderNewProducts = orderNewProducts; + return this; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/view_model/ArticoloDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/view_model/ArticoloDTO.java index f3c7a02b..2859998e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/view_model/ArticoloDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/view_model/ArticoloDTO.java @@ -19,6 +19,7 @@ public class ArticoloDTO { private float giacenza; private float qtaPrevistaVendita; private float qtaProposta; + private float qtaOrd; public String getCodMart() { @@ -151,6 +152,15 @@ public class ArticoloDTO { return this; } + public float getQtaOrd() { + return qtaOrd; + } + + public ArticoloDTO setQtaOrd(float qtaOrd) { + this.qtaOrd = qtaOrd; + return this; + } + public ArticoloGriglia toArticoloGriglia() { ArticoloGriglia result = new ArticoloGriglia(); result.setBarCode(this.getBarCode()); @@ -164,6 +174,7 @@ public class ArticoloDTO { result.setQtaMinOrdinabile(this.getQtaMinOrdinabile()); result.setGgScadenza(this.ggScadenza); result.setNewNoPromo(this.newNoPromo); + result.setQtaOrd(this.getQtaOrd()); result.setGiacenza(this.giacenza); result.setQtaPrevistaVendita(this.qtaPrevistaVendita); result.setQtaProposta(this.qtaProposta); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/GrigliaAcquistiChildDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/GrigliaAcquistiChildDTO.java index 9db96088..a88b0100 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/GrigliaAcquistiChildDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/GrigliaAcquistiChildDTO.java @@ -19,6 +19,8 @@ public class GrigliaAcquistiChildDTO { private float giacenza; private float qtaPrevistaVendita; private float qtaProposta; + private BigDecimal qtaOrd; + public String getCodMart() { return codMart; @@ -154,4 +156,13 @@ public class GrigliaAcquistiChildDTO { this.newNoPromo = newNoPromo; return this; } + + public BigDecimal getQtaOrd() { + return qtaOrd; + } + + public GrigliaAcquistiChildDTO setQtaOrd(BigDecimal qtaOrd) { + this.qtaOrd = qtaOrd; + return this; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java index 7ef050d4..3355f832 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java @@ -250,6 +250,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter .setNotesMandatory(this.viewModel.isNotesMandatory()) .setDataScadMandatory(flagTracciabilita) .setCanPartitaMagBeChanged(flagTracciabilita) + .setNumCnfEditable(false) .setSuggestPartitaMag(data -> { Date dataScad = data.getDataScad(); String partitaMag = null; 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 589f86a1..28441efa 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 @@ -108,8 +108,9 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi mBinding.closeActivityFab.close(false); mBinding.scanArtSpinner.setVisibility(articoli.size() > 0 ? View.GONE : View.VISIBLE); - if (articoli.isEmpty() && isOrderNewProdsForced()) { + if (mOrdine.isOrderNewProducts() && articoli.isEmpty() && isOrderNewProdsForced()) { this.mViewModel.orderNewProducts(); + mOrdine.setOrderNewProducts(false); } }); 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 cd545753..ef0a8dd4 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 @@ -220,7 +220,6 @@ public class PVOrdineAcquistoEditViewModel { .isEmpty() ) { ArticoloOrdine dto = articolo.convertToArticoloOrdine(mCurrentOrdine); - dto.setQtaOrd(dto.getQtaCnf()); articoliToSave.add(dto); } }); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/helper/OrdineAcquistoPvHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/helper/OrdineAcquistoPvHelper.java index 5c6e5aff..4f76dba9 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/helper/OrdineAcquistoPvHelper.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/helper/OrdineAcquistoPvHelper.java @@ -75,6 +75,7 @@ public class OrdineAcquistoPvHelper { Ordine ordine = new Ordine(); ordine.setDataIns(UtilityDate.getDateInstance()); ordine.setIdGriglia(griglia.getGrigliaId()); + ordine.setOrderNewProducts(true); mOrdineRepository.insert(ordine, id -> { ordine.setOrdineId(id); onSuccess.run(ordine); 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 08213283..3f924d69 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 @@ -31,6 +31,7 @@ public class DialogInputQuantityV2DTO { private boolean isDataScadMandatory = false; private boolean isNotesAllowed = false; private boolean isNotesMandatory = false; + private boolean isNumCnfEditable = true; private boolean isFocusOnStart = true; private boolean canLUBeClosed; private boolean saveOnImeDone = false; @@ -249,6 +250,15 @@ public class DialogInputQuantityV2DTO { return this; } + public boolean isNumCnfEditable() { + return isNumCnfEditable; + } + + public DialogInputQuantityV2DTO setNumCnfEditable(boolean numCnfEditable) { + isNumCnfEditable = numCnfEditable; + 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 b823f403..b7044a7f 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 @@ -4,6 +4,7 @@ import android.content.Context; import android.content.DialogInterface; import android.content.res.ColorStateList; import android.os.Bundle; +import android.os.Handler; import android.text.Html; import android.text.InputType; import android.text.SpannableString; @@ -43,6 +44,7 @@ import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbUntMis; import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityExceptions; +import it.integry.integrywmsnative.core.utility.UtilityFocus; import it.integry.integrywmsnative.core.utility.UtilityObservable; import it.integry.integrywmsnative.databinding.DialogInputQuantityV2Binding; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; @@ -81,6 +83,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia public ObservableField enabledChangePartitaMag = new ObservableField<>(true); public ObservableField enabledNotes = new ObservableField<>(false); public ObservableField enabledLUCloseButton = new ObservableField<>(true); + private Handler mHandler = new Handler(); private Context context; @@ -170,7 +173,14 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia } this.onLoadingEnded(); if (mDialogInputQuantityV2DTO.isFocusOnStart()) { - mBindings.inputNumCnfText.requestFocus(); + mHandler.postDelayed(() -> { + + if (mDialogInputQuantityV2DTO.isNumCnfEditable()) { + mBindings.inputNumCnfText.requestFocus(); + } else { + UtilityFocus.focusTextBox(requireContext(), mBindings.inputQtaTotText); + } + }, 1000); } return mBindings.getRoot(); } @@ -240,11 +250,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia Date minDataScad = calendar.getTime(); if (minDataScad.after(value) && value.after(new Date())) { DialogSimpleMessageView - .makeWarningDialog(new SpannableString("La data selezionata è precedente alla data di scadenza consigliata per l'articolo scelto ( " + mtbAart.getGgScadPartita() + " giorni) . Continuare?"), null, () -> { - this.mViewModel.setDataScad(value); - }, () -> { - this.currentDataScad.set(null); - }) + .makeWarningDialog(new SpannableString("La data selezionata è precedente alla data di scadenza consigliata per l'articolo scelto ( " + mtbAart.getGgScadPartita() + " giorni) . Continuare?"), null, () -> this.mViewModel.setDataScad(value), () -> this.currentDataScad.set(null)) .show(requireActivity().getSupportFragmentManager(), "tag"); } else { this.mViewModel.setDataScad(value); @@ -325,7 +331,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia if (!this.enabledQtaTot.get()) { this.enabledQtaTot.set(true); } else if (!this.enabledNumCnf.get()) { - this.enabledNumCnf.set(true); + this.enabledNumCnf.set(this.mDialogInputQuantityV2DTO.isNumCnfEditable()); } } }); @@ -334,7 +340,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia toggleTextInputLayoutError(textColorsQtaTot, this.mBindings.inputQtaTotLayout, value); if (this.mViewModel.mtbAart.get().isFlagQtaCnfFissaBoolean()) { - this.enabledNumCnf.set(!value); + this.enabledNumCnf.set(this.mDialogInputQuantityV2DTO.isNumCnfEditable() && !value); } else { if (value) { if (this.mViewModel.blockedQtaCnf.get()) { @@ -346,7 +352,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia if (!this.enabledQtaCnf.get()) { this.enabledQtaCnf.set(true); } else if (!this.enabledNumCnf.get()) { - this.enabledNumCnf.set(true); + this.enabledNumCnf.set(this.mDialogInputQuantityV2DTO.isNumCnfEditable()); } } } From 4842a6091b6f2d792723dc436ebcd93b7c127f6e Mon Sep 17 00:00:00 2001 From: ValerioC Date: Wed, 13 Jul 2022 17:29:26 +0200 Subject: [PATCH 02/20] =?UTF-8?q?Documento=20perdite=20(wms).=20La=20possi?= =?UTF-8?q?bilit=C3=A0=20di=20scaricare=20l'intera=20anagrafica=20puo'=20e?= =?UTF-8?q?ssere=20effettuata=20soltanto=20una=20volta=20(a=20cache=20vuot?= =?UTF-8?q?a)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Inserire il campo 'Annotazioni' quando si crea un collo che sia editabile dall'utente (picking Vendita) --- .../core/expansion/BaseDialogFragment.java | 1 - .../rest/consumers/GestSetupRESTConsumer.java | 4 +- .../GestSetupRESTConsumerService.java | 1 + .../core/settings/DBSettingsModel.java | 10 +++++ .../core/settings/SettingsManager.java | 40 +++++++++++-------- .../dialog/DialogSelectDocInfoViewModel.java | 7 ++++ .../gest/spedizione/SpedizioneActivity.java | 7 ++++ .../gest/spedizione/SpedizioneViewModel.java | 40 +++++++++++++++---- .../InfoAggiuntiveLUDialog.java | 27 ++++++++++--- 9 files changed, 104 insertions(+), 33 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseDialogFragment.java b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseDialogFragment.java index 9e893a49..6c37ddb4 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseDialogFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseDialogFragment.java @@ -27,7 +27,6 @@ public class BaseDialogFragment extends DialogFragment { private boolean mBarcodeListener = false; - @Override public void show(FragmentManager manager, String tag) { try { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumer.java index 384c6d0d..0d498c1e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumer.java @@ -78,9 +78,9 @@ public class GestSetupRESTConsumer extends _BaseRESTConsumer { } - public static void getValues(List stbGestSetupList, RunnableArgs> onComplete, RunnableArgs onFailed) { + public static void getValues(String codMdep, List stbGestSetupList, RunnableArgs> onComplete, RunnableArgs onFailed) { GestSetupRESTConsumerService service = RESTBuilder.getService(GestSetupRESTConsumerService.class); - service.getGestSetupValues(stbGestSetupList).enqueue(new Callback<>() { + service.getGestSetupValues(codMdep, stbGestSetupList).enqueue(new Callback<>() { @Override public void onResponse(Call>> call, Response>> response) { analyzeAnswer(response, "GestSetup", onComplete, onFailed); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumerService.java index b4ba1d63..d2561898 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GestSetupRESTConsumerService.java @@ -28,6 +28,7 @@ public interface GestSetupRESTConsumerService { @POST("gestSetupList") Call>> getGestSetupValues( + @Query("codMdep") String codMdep, @Body List stbGestSetupList); } 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 619ec067..ce29fedd 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 @@ -48,6 +48,7 @@ public class DBSettingsModel { private int onQtaTotInputChanged = 1; private boolean flagAccettazioneUseQtaOrd = false; private boolean flagPickLiberoAllowEmptyDest = false; + private boolean flagAskInfoAggiuntiveSpedizione = false; public boolean isFlagSpedizioneEnableFakeGiacenza() { return flagSpedizioneEnableFakeGiacenza; @@ -364,4 +365,13 @@ public class DBSettingsModel { this.flagOrdinaArticoliOnScan = flagOrdinaArticoliOnScan; return this; } + + public boolean isFlagAskInfoAggiuntiveSpedizione() { + return flagAskInfoAggiuntiveSpedizione; + } + + public DBSettingsModel setFlagAskInfoAggiuntiveSpedizione(boolean flagAskInfoAggiuntiveSpedizione) { + this.flagAskInfoAggiuntiveSpedizione = flagAskInfoAggiuntiveSpedizione; + return this; + } } 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 34423a2b..4da3aea9 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 @@ -306,9 +306,21 @@ public class SettingsManager { .setGestName("PICKING") .setSection("PICKING_LIBERO") .setKeySection("FLAG_ALLOW_EMPTY_DEST")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SPEDIZIONE") + .setKeySection("FLAG_PRINT_PACKING_LIST_ON_CLOSE")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SPEDIZIONE") + .setKeySection("FLAG_ALLOW_EMPTY_DEST")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SPEDIZIONE") + .setKeySection("FLAG_ASK_INFO_AGGIUNTIVE")); + String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); - - GestSetupRESTConsumer.getValues(stbGestSetupList, list -> { + GestSetupRESTConsumer.getValues(codMdep, stbGestSetupList, list -> { dbSettingsModelIstance.setDefaultCausaleRettificaGiacenze(getValueFromList(list, "SETUP", "DEFAULT_CAUSALE_RETTIFICA_GIACENZE", String.class)); dbSettingsModelIstance.setEnableCheckPartitaMagCheckPickingV(getValueFromList(list, "SETUP", "ENABLE_CHECK_PARTITA_MAG_PICKING_V", Boolean.class)); dbSettingsModelIstance.setFlagMultiClienteOrdV(getValueFromList(list, "SETUP", "FLAG_MULTI_CLIENTE_ORD_VENDITA", Boolean.class)); @@ -333,29 +345,23 @@ public class SettingsManager { dbSettingsModelIstance.setFlagAccettazioneUseQtaOrd(getValueFromList(list, "ACCETTAZIONE", "FLAG_USE_QTA_ORD", Boolean.class)); 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.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.setFlagAskInfoAggiuntiveSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_ASK_INFO_AGGIUNTIVE", Boolean.class)); String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class); - if (notePerdita != null) { + if (notePerdita != null) dbSettingsModelIstance.setNotePerditaDocInterni(Arrays.asList(notePerdita.split("\\|"))); - } Integer onNumCnfInputChanged = getValueFromList(list, "SETUP", "ON_NUM_CNF_INPUT_CHANGED", Integer.class); - if (onNumCnfInputChanged != null) { + if (onNumCnfInputChanged != null) dbSettingsModelIstance.setOnNumCnfInputChanged(onNumCnfInputChanged); - } Integer onQtaTotInputChanged = getValueFromList(list, "SETUP", "ON_QTA_TOT_INPUT_CHANGED", Integer.class); - if (onQtaTotInputChanged != null) { + if (onQtaTotInputChanged != null) dbSettingsModelIstance.setOnQtaTotInputChanged(onQtaTotInputChanged); - } - String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); - GestSetupRESTConsumer.getBooleanValue("PICKING", "SPEDIZIONE", "FLAG_PRINT_PACKING_LIST_ON_CLOSE", codMdep, (value) -> { - dbSettingsModelIstance.setFlagPrintPackingListOnOrderClose(value); - GestSetupRESTConsumer.getBooleanValue("PICKING", "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_CLOSE", codMdep, (setupValue) -> { - dbSettingsModelIstance.setFlagPrintEtichetteOnOrderClose(setupValue); - if (onComplete != null) onComplete.run(); - }, onFailed); - }, onFailed); + + if (onComplete != null) onComplete.run(); }, onFailed); } @@ -365,7 +371,7 @@ public class SettingsManager { StbGestSetup value = Stream.of(stbGestSetupList) .filter(x -> x.getSection().equalsIgnoreCase(section) && x.getKeySection().equalsIgnoreCase(keySectionName)) - .findFirst().get(); + .findFirstOrElse(new StbGestSetup()); if (clazz == String.class) { return clazz.cast(value.getValue()); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectDocInfoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectDocInfoViewModel.java index a5455f2d..38a80d64 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectDocInfoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectDocInfoViewModel.java @@ -35,6 +35,13 @@ public class DialogSelectDocInfoViewModel { public void init(DocInterniSetupDTO initialList) { this.mDocInterniSetupDTO = initialList; + this.mTipoDoc = null; + this.mGruppoArt = null; + this.mFornitore = null; + this.mDataDoc = null; + this.mNumDoc = null; + this.mNote = null; + this.mListener = null; } public String getCodDtip() { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java index 54b87d73..78927c6b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java @@ -44,6 +44,7 @@ import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbPartitaMag; +import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO; import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO; @@ -72,6 +73,7 @@ import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShould import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotView; +import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.InfoAggiuntiveLUDialog; import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPeso; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View; @@ -938,4 +940,9 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo } } } + + @Override + public void onInfoAggiuntiveRequired(MtbColt mtbColt, RunnableArgss onComplete) { + InfoAggiuntiveLUDialog.newInstance(mtbColt, onComplete).show(getSupportFragmentManager(), "InfoAggiuntiveLUDialog"); + } } 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 506c6a36..a22c73c0 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 @@ -43,6 +43,7 @@ import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbPartitaMag; +import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.dto.PickDataDTO; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.report.ReportType; @@ -1617,14 +1618,36 @@ public class SpedizioneViewModel { } else { if (mDefaultSegnoCol == -1) { Runnable saveAction = () -> { - mColliMagazzinoRESTConsumer.updateDataFine( - mCurrentMtbColt, () -> distribuisciLU((generatedMtbColts) -> { - if (shouldPrint) - printCollo(generatedMtbColts, () -> this.postCloseOperations(generatedMtbColts)); - else { - postCloseOperations(generatedMtbColts); - } - }), this::sendError); + if (SettingsManager.iDB().isFlagAskInfoAggiuntiveSpedizione()) { + this.mListener.onInfoAggiuntiveRequired(mCurrentMtbColt, (note, mtbTcol) -> { + mCurrentMtbColt.setAnnotazioni(note); + if (mtbTcol != null) { + mCurrentMtbColt.setMtbTCol(mtbTcol); + mCurrentMtbColt.setCodTcol(mtbTcol.getCodTcol()); + } else { + mCurrentMtbColt.setMtbTCol(null); + mCurrentMtbColt.setCodTcol(null); + } + mColliMagazzinoRESTConsumer.updateDataFine( + mCurrentMtbColt, () -> distribuisciLU((generatedMtbColts) -> { + if (shouldPrint) + printCollo(generatedMtbColts, () -> this.postCloseOperations(generatedMtbColts)); + else { + postCloseOperations(generatedMtbColts); + } + }), this::sendError); + }); + } else { + + mColliMagazzinoRESTConsumer.updateDataFine( + mCurrentMtbColt, () -> distribuisciLU((generatedMtbColts) -> { + if (shouldPrint) + printCollo(generatedMtbColts, () -> this.postCloseOperations(generatedMtbColts)); + else { + postCloseOperations(generatedMtbColts); + } + }), this::sendError); + } }; if (mShouldAskPesoLU) { @@ -1992,6 +2015,7 @@ public class SpedizioneViewModel { boolean canBatchLotBeChanged, RunnableArgss onComplete); + void onInfoAggiuntiveRequired(MtbColt currentMtbColt, RunnableArgss onComplete); void onLUPositionChangeRequest(RunnableArgss onComplete); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialog.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialog.java index 75155e02..21ec2357 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialog.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialog.java @@ -26,9 +26,11 @@ import it.integry.integrywmsnative.MainApplication; import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.expansion.BaseDialogFragment; import it.integry.integrywmsnative.core.expansion.RunnableArgss; +import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.utility.UtilityDialog; import it.integry.integrywmsnative.core.utility.UtilityObservable; +import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.databinding.DialogNoteAggiuntiveNuovaUlBinding; import it.integry.integrywmsnative.view.dialogs.input_lu_prod.adapter.DialogInputLUProdTipoColloAdapter; import it.integry.integrywmsnative.view.dialogs.input_lu_prod.adapter.DialogInputLUProdTipoColloListModel; @@ -40,20 +42,24 @@ public class InfoAggiuntiveLUDialog extends BaseDialogFragment implements InfoAg private DialogNoteAggiuntiveNuovaUlBinding mBindings; private final RunnableArgss mOnComplete; - + private MtbColt currentMtbColt; private DialogInputLUProdTipoColloAdapter codTcolArrayAdapter = null; public ObservableField additionalNotes = new ObservableField<>(); public ObservableField selectedMtbTcol = new ObservableField<>(); public ObservableField currentMtbTCol = new ObservableField<>(); public static InfoAggiuntiveLUDialog newInstance(@NotNull RunnableArgss onComplete) { - return new InfoAggiuntiveLUDialog(onComplete); + return new InfoAggiuntiveLUDialog(null, onComplete); } - private InfoAggiuntiveLUDialog(@NotNull RunnableArgss onComplete) { + public static InfoAggiuntiveLUDialog newInstance(MtbColt mtbColt, @NotNull RunnableArgss onComplete) { + return new InfoAggiuntiveLUDialog(mtbColt, onComplete); + } + + private InfoAggiuntiveLUDialog(MtbColt mtbColt, @NotNull RunnableArgss onComplete) { super(); this.mOnComplete = onComplete; - + this.currentMtbColt = mtbColt; } @@ -121,9 +127,17 @@ public class InfoAggiuntiveLUDialog extends BaseDialogFragment implements InfoAg this.mViewModel.getTipiCollo().observe(getViewLifecycleOwner(), tipiCollo -> { + codTcolArrayAdapter = new DialogInputLUProdTipoColloAdapter(getActivity(), R.layout.array_adapter_single_item, tipiCollo); mBindings.filledExposedDropdownCodTcol.setAdapter(codTcolArrayAdapter); + if (currentMtbTCol != null && !UtilityString.isNullOrEmpty(currentMtbColt.getCodTcol()) && UtilityString.isNullOrEmpty(this.selectedMtbTcol.get())) { + MtbTCol tipoPedana = Stream.of(tipiCollo).filter(x -> x.getCodTcol().equalsIgnoreCase(currentMtbColt.getCodTcol())).findFirstOrElse(null); + if (tipoPedana != null) { + this.selectedMtbTcol.set(tipoPedana.getCodTcol() + " - " + tipoPedana.getDescrizione()); + } + } + }); this.mBindings.filledExposedDropdownCodTcol.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @@ -141,6 +155,9 @@ public class InfoAggiuntiveLUDialog extends BaseDialogFragment implements InfoAg mBindings.buttonConfirm.setOnClickListener(v -> { dismiss(); }); - } + if (this.currentMtbColt != null) { + this.additionalNotes.set(currentMtbColt.getAnnotazioni()); + } + } } From 4adc40aa909d61185cc44729ae79d0d20e931768 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Mon, 18 Jul 2022 10:54:29 +0200 Subject: [PATCH 03/20] adeguamento rientro merce da lavorazione agricoper --- .idea/deploymentTargetDropDown.xml | 20 +- .../core/rest/consumers/MesRESTConsumer.java | 8 +- .../consumers/MesRESTConsumerService.java | 3 + .../core/settings/DBSettingsModel.java | 10 + .../core/settings/SettingsManager.java | 5 + .../ProdRientroMerceViewModel.java | 5 +- .../ProdRientroMerceOrderDetailFragment.java | 13 +- .../ProdRientroMerceOrderListAdapter.java | 5 + .../ProdRientroMerceOrderListFragment.java | 23 +- .../ProdRientroMerceOrderListModel.java | 10 + .../dto/OrdineLavorazioneDTO.java | 33 + .../input_lu_prod/DialogInputLUProdView.java | 15 +- ...agment_prod_rientro_merce_order_detail.xml | 543 ++++++- ...agment_prod_rientro_merce_order_detail.xml | 1293 ++++++++++++----- ...erce_order_detail__mtb_colt_item_model.xml | 4 +- ...tro_merce_order_list__list_group_model.xml | 16 +- 16 files changed, 1580 insertions(+), 426 deletions(-) diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index f933bcae..c9951824 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -1,25 +1,17 @@ - + - + - - + + - - - - - - - - - - + + \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MesRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MesRESTConsumer.java index c48bbd10..6ff91204 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MesRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MesRESTConsumer.java @@ -46,10 +46,10 @@ public class MesRESTConsumer extends _BaseRESTConsumer { }); } - public void getOrdiniLavorazione(String flagEvaso, String codJfas, RunnableArgs> onComplete, RunnableArgs onFailed) { + public void getOrdiniLavorazione(String flagEvaso, String codJfas, String codAnag, RunnableArgs> onComplete, RunnableArgs onFailed) { MesRESTConsumerService mesRESTConsumerService = RESTBuilder.getService(MesRESTConsumerService.class); - mesRESTConsumerService.getOrdiniLavorazione(flagEvaso, codJfas) + mesRESTConsumerService.getOrdiniLavorazione(null, flagEvaso, codJfas, codAnag) .enqueue(new Callback<>() { @Override public void onResponse(Call>> call, Response>> response) { @@ -63,6 +63,7 @@ public class MesRESTConsumer extends _BaseRESTConsumer { }); } + public void getOrdiniLavorazione(Date dateStart, String flagEvaso, String codJfas, RunnableArgs> onComplete, RunnableArgs onFailed) { MesRESTConsumerService mesRESTConsumerService = RESTBuilder.getService(MesRESTConsumerService.class); @@ -82,7 +83,8 @@ public class MesRESTConsumer extends _BaseRESTConsumer { public void getLineeProduzione(String codJfasParent, RunnableArgs> onComplete, RunnableArgs onFailed) { - Type typeOfObjectsList = new TypeToken>() {}.getType(); + Type typeOfObjectsList = new TypeToken>() { + }.getType(); this.mSystemRESTConsumer.processSql( "SELECT * FROM jtb_fasi WHERE cod_jfas_parent = " + UtilityDB.valueToString(codJfasParent), typeOfObjectsList, diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MesRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MesRESTConsumerService.java index 2ab0a08c..bf919418 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MesRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MesRESTConsumerService.java @@ -22,4 +22,7 @@ public interface MesRESTConsumerService { @GET("mes_v2/getOrdiniLavorazione") Call>> getOrdiniLavorazione(@Query("startDate") String startDate, @Query("flagEvaso") String flagEvaso, @Query("codJfas") String codJfas); + @GET("mes_v2/getOrdiniLavorazione") + Call>> getOrdiniLavorazione(@Query("startDate") String startDate, @Query("flagEvaso") String flagEvaso, @Query("codJfas") String codJfas, @Query("codAnag") String codAnag); + } 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 ce29fedd..4a0d97c8 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 @@ -49,6 +49,7 @@ public class DBSettingsModel { private boolean flagAccettazioneUseQtaOrd = false; private boolean flagPickLiberoAllowEmptyDest = false; private boolean flagAskInfoAggiuntiveSpedizione = false; + private String filterFornitoreProd; public boolean isFlagSpedizioneEnableFakeGiacenza() { return flagSpedizioneEnableFakeGiacenza; @@ -374,4 +375,13 @@ public class DBSettingsModel { this.flagAskInfoAggiuntiveSpedizione = flagAskInfoAggiuntiveSpedizione; return this; } + + public String getFilterFornitoreProd() { + return filterFornitoreProd; + } + + public DBSettingsModel setFilterFornitoreProd(String filterFornitoreProd) { + this.filterFornitoreProd = filterFornitoreProd; + return this; + } } 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 4da3aea9..4f80f212 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 @@ -258,6 +258,10 @@ public class SettingsManager { .setGestName("PICKING") .setSection("PRODUZIONE") .setKeySection("FLAG_VERSAMENTO_DIRETTO")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("PRODUZIONE") + .setKeySection("FILTER_FORNTIORE_PROD")); stbGestSetupList.add(new StbGestSetup() .setGestName("PICKING") .setSection("SPEDIZIONE") @@ -348,6 +352,7 @@ public class SettingsManager { 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.setFlagAskInfoAggiuntiveSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_ASK_INFO_AGGIUNTIVE", Boolean.class)); + dbSettingsModelIstance.setFilterFornitoreProd(getValueFromList(list, "PRODUZIONE", "FILTER_FORNTIORE_PROD", String.class)); String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class); if (notePerdita != null) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/ProdRientroMerceViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/ProdRientroMerceViewModel.java index 4e3160bc..e9194db5 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/ProdRientroMerceViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/ProdRientroMerceViewModel.java @@ -9,6 +9,7 @@ import javax.inject.Inject; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.IOrdersLoadingListener; import it.integry.integrywmsnative.core.rest.consumers.MesRESTConsumer; +import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO; import it.integry.integrywmsnative.gest.spedizione.exceptions.OrdersLoadException; @@ -28,8 +29,8 @@ public class ProdRientroMerceViewModel { public void refreshOrderList() { new Thread(this::sendOnOrdersLoadingStarted).start(); - - this.mMesRESTConsumer.getOrdiniLavorazione("I", null, ordiniLavorazioneList -> { + String codAnag = SettingsManager.iDB().getFilterFornitoreProd(); + this.mMesRESTConsumer.getOrdiniLavorazione("I", null, codAnag, ordiniLavorazioneList -> { this.mOrdiniLavorazioneAperti.postValue(ordiniLavorazioneList); this.sendOnOrdersLoadingEnded(); }, ex -> this.sendError(new OrdersLoadException(ex))); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java index 0330c007..e53c57dd 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java @@ -82,6 +82,8 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements public ObservableField sumColliNumber = new ObservableField<>(BigDecimal.ZERO); public ObservableField sumNetKG = new ObservableField<>(BigDecimal.ZERO); public ObservableField sumGrossKG = new ObservableField<>(BigDecimal.ZERO); + public ObservableField progress = new ObservableField<>(0); + public boolean isOrderColli = false; public ProdRientroMerceOrderDetailFragment() { // Required empty public constructor @@ -113,8 +115,10 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements mViewModel.setListener(this); - if(currentOrder.getValue() != null) + if (currentOrder.getValue() != null) { refreshOrder(); + isOrderColli = currentOrder.getValue().getQtaCnf().compareTo(BigDecimal.ONE) == 0; + } this.mViewModel.mtbColtsOfOrder.observe(getViewLifecycleOwner(), this::refreshList); this.initRecyclerView(); @@ -191,9 +195,9 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements } private void refreshOrder() { - if(mBindings != null) mBindings.invalidateAll(); - if(mAdapter != null) mAdapter.clearDataset(); - if(mViewModel != null) mViewModel.setOrder(currentOrder.getValue()); + if (mBindings != null) mBindings.invalidateAll(); + if (mAdapter != null) mAdapter.clearDataset(); + if (mViewModel != null) mViewModel.setOrder(currentOrder.getValue()); } private void refreshList(List mtbColts) { @@ -212,6 +216,7 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements })); sumColliNumber.set(sumColli.get()); sumGrossKG.set(sumGross.get()); + progress.set(currentOrder.getValue().getProgress()); sumNetKG.set(sumNet.get()); } else { sumLUNumber.set(BigDecimal.ZERO); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListAdapter.java index 61300ee7..771d3e03 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListAdapter.java @@ -129,15 +129,18 @@ public class ProdRientroMerceOrderListAdapter extends SectionedRecyclerViewAdapt case START: holder.mBinding.ordineStateIcon.setImageResource(R.drawable.ic_play_circle_filled_24dp); holder.mBinding.ordineStateIcon.setColorFilter(ContextCompat.getColor(mContext, R.color.green_800), android.graphics.PorterDuff.Mode.SRC_IN); + holder.mBinding.orderProgress.setVisibility(View.VISIBLE); break; case PAUSE: holder.mBinding.ordineStateIcon.setImageResource(R.drawable.ic_pause_circle_filled_24dp); holder.mBinding.ordineStateIcon.setColorFilter(ContextCompat.getColor(mContext, R.color.yellow_800), android.graphics.PorterDuff.Mode.SRC_IN); + holder.mBinding.orderProgress.setVisibility(View.VISIBLE); break; case SCHEDULED: default: holder.mBinding.ordineStateIcon.setImageResource(R.drawable.ic_clock_circle_outline_24dp); holder.mBinding.ordineStateIcon.setColorFilter(ContextCompat.getColor(mContext, R.color.blue_700), android.graphics.PorterDuff.Mode.SRC_IN); + holder.mBinding.orderProgress.setVisibility(View.GONE); break; } @@ -166,6 +169,8 @@ public class ProdRientroMerceOrderListAdapter extends SectionedRecyclerViewAdapt holder.mBinding.rightSubDescrizione.setVisibility(View.VISIBLE); } else holder.mBinding.rightSubDescrizione.setVisibility(View.GONE); + holder.mBinding.orderProgress.setProgress(listModel.getProgress()); + holder.mBinding.executePendingBindings(); holder.mBinding.getRoot().setOnClickListener(v -> { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListFragment.java index 7592d2d1..dc8cd432 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListFragment.java @@ -70,7 +70,7 @@ public class ProdRientroMerceOrderListFragment extends Fragment { mBindings.setLifecycleOwner(this); - if(savedInstanceState == null) this.initRecyclerView(); + if (savedInstanceState == null) this.initRecyclerView(); return mBindings.getRoot(); } @@ -84,7 +84,8 @@ public class ProdRientroMerceOrderListFragment extends Fragment { ProdRientroMerceOrderListAdapter prodRientroMerceOrderListAdapter = new ProdRientroMerceOrderListAdapter(getActivity(), mOrdiniApertiMutableData) .setEmptyView(this.mBindings.emptyView) .setOnItemChecked(x -> { - if(mOnItemSelectedRunnable != null) mOnItemSelectedRunnable.run(x.getOriginalModel()); + if (mOnItemSelectedRunnable != null) + mOnItemSelectedRunnable.run(x.getOriginalModel()); }); this.mBindings.mainList.setAdapter(prodRientroMerceOrderListAdapter); @@ -93,7 +94,7 @@ public class ProdRientroMerceOrderListFragment extends Fragment { this.mToolbar.setRecyclerView(mBindings.mainList); this.mBindings.swiperefresh.setOnRefreshListener(() -> { - if(onRefreshListener != null) onRefreshListener.onRefresh(); + if (onRefreshListener != null) onRefreshListener.onRefresh(); }); } @@ -119,7 +120,7 @@ public class ProdRientroMerceOrderListFragment extends Fragment { .thenComparing(ComparatorCompat.comparing(ordineLavorazioneDTO -> ordineLavorazioneDTO.getDataOrd() != null ? ordineLavorazioneDTO.getDataOrd() : "zzzzzzzz")).reversed() .thenComparing(ComparatorCompat.comparing(OrdineLavorazioneDTO::getNumOrd)); - if(dataList == null) return new ArrayList<>(); + if (dataList == null) return new ArrayList<>(); List notHiddenElements = Stream.of(dataList) .sorted(comparator) @@ -141,8 +142,12 @@ public class ProdRientroMerceOrderListFragment extends Fragment { listModel.setGroupTitle(x.getCodJfas()); - if(!UtilityString.isNullOrEmpty(x.getRagSocAnag())) - listModel.setPreDescription("Provenienza: " + x.getRagSocAnag()); + if (!UtilityString.isNullOrEmpty(x.getDataConsCommessa())) { + listModel.setPreDescription("Consegna: " + UtilityDate.formatDate(x.getDataConsCommessaD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)); + } else { + /* if (!UtilityString.isNullOrEmpty(x.getRagSocAnag())) + listModel.setPreDescription("Provenienza: " + x.getRagSocAnag());*/ + } String testataOrdString = "N° " + x.getNumOrd(); listModel.setDescription(testataOrdString); @@ -151,11 +156,13 @@ public class ProdRientroMerceOrderListFragment extends Fragment { listModel.setRightDescription(x.getCodJcom() != null ? (x.getDescCommessa() + " (" + x.getCodJcom() + ")") : ""); - try { + listModel.setProgress(x.getProgress()); + listModel.setRightSubDescription(x.getNumCnf().stripTrailingZeros().toPlainString() + " COL"); + /*try { listModel.setRightSubDescription(UtilityDate.formatDate(x.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)); } catch (Exception ex) { - } + }*/ listModel.setOriginalModel(x); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListModel.java index 6968b527..9049b52a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListModel.java @@ -11,6 +11,7 @@ public class ProdRientroMerceOrderListModel implements Cloneable { private String subDescription; private String rightDescription; private String rightSubDescription; + private int progress; private boolean hidden; @@ -105,4 +106,13 @@ public class ProdRientroMerceOrderListModel implements Cloneable { START, SCHEDULED } + + public int getProgress() { + return progress; + } + + public ProdRientroMerceOrderListModel setProgress(int progress) { + this.progress = progress; + return this; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/dto/OrdineLavorazioneDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/dto/OrdineLavorazioneDTO.java index 849f54e0..8e720d90 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/dto/OrdineLavorazioneDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_versamento_materiale/dto/OrdineLavorazioneDTO.java @@ -1,6 +1,7 @@ package it.integry.integrywmsnative.gest.prod_versamento_materiale.dto; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.Date; import it.integry.integrywmsnative.core.di.BindableFloat; @@ -50,6 +51,7 @@ public class OrdineLavorazioneDTO { private String dataScad; + private String partitaMagSuggested; private String dataScadSuggested; @@ -90,6 +92,8 @@ public class OrdineLavorazioneDTO { private String descCommessa; + private String dataConsCommessa; + private BigDecimal prodStd; private Object mtbColtToEdit; @@ -135,6 +139,7 @@ public class OrdineLavorazioneDTO { public String getDataOrd() { return dataOrd; } + public Date getDataOrdD() { return UtilityDate.recognizeDateWithExceptionHandler(dataOrd); } @@ -490,4 +495,32 @@ public class OrdineLavorazioneDTO { public OrdineLavorazioneStatoEnum getStatoEnum() { return OrdineLavorazioneStatoEnum.fromString(getStato()); } + + public String getDataConsCommessa() { + return dataConsCommessa; + } + + public Date getDataConsCommessaD() { + return UtilityDate.recognizeDateWithExceptionHandler(getDataConsCommessa()); + } + + public void setDataConsCommessa(String dataConsCommessa) { + this.dataConsCommessa = dataConsCommessa; + } + + + public int getProgress() { + + int progress = 0; + if (this.getQtaProd().compareTo(BigDecimal.ZERO) > 0) { + if (this.getQtaTrasferite().compareTo(this.getQtaProd()) > 0) { + progress = 100; + } else { + progress = this.getQtaTrasferite().multiply(BigDecimal.valueOf(100)).divide(this.getQtaProd(), 0, RoundingMode.UP).intValue(); + } + } + + return progress; + } + } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdView.java index 28720aa8..3a07cc20 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdView.java @@ -11,6 +11,7 @@ import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.AdapterView; +import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -147,7 +148,7 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI this.init(); - if(mBluetoothDeviceInterface != null) { + if (mBluetoothDeviceInterface != null) { // Listen to bluetooth events mBluetoothDeviceInterface.setListeners(this::onMessageReceived, this::onMessageSent, x -> this.onError(new Exception(x))); enabledBluetoothDevice.set(true); @@ -400,7 +401,11 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI // Toast.makeText(requireActivity(), "Leggo peso uaglio", Toast.LENGTH_SHORT).show(); // Let's send a message: - mBluetoothDeviceInterface.sendMessage("GW\r"); + if (mBluetoothDeviceInterface != null) { + mBluetoothDeviceInterface.sendMessage("GW\r"); + } else { + Toast.makeText(requireActivity(), "Nessun dispositivo BLUETOOTH configurato nelle impostazioni.", Toast.LENGTH_SHORT).show(); + } } private void onMessageSent(String request) { @@ -412,8 +417,8 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI String tmpResp = response.replace(".", ""); - BigDecimal grossWeight = new BigDecimal(tmpResp.substring(2,7)); - BigDecimal netWeight = new BigDecimal(tmpResp.substring(8,13)); + BigDecimal grossWeight = new BigDecimal(tmpResp.substring(2, 7)); + BigDecimal netWeight = new BigDecimal(tmpResp.substring(8, 13)); mViewModel.setPesoNetto(netWeight); mViewModel.setPesoLordo(grossWeight); @@ -424,7 +429,7 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI if (this.mViewModel.validate()) { this.mOnComplete.run(this.mViewModel.getResult()); - if(mBluetoothDeviceInterface != null) + if (mBluetoothDeviceInterface != null) mBluetoothDeviceInterface.setListeners(null, null, null); dismiss(); diff --git a/app/src/main/res/layout-large/fragment_prod_rientro_merce_order_detail.xml b/app/src/main/res/layout-large/fragment_prod_rientro_merce_order_detail.xml index a1a00a53..9c1c8a81 100644 --- a/app/src/main/res/layout-large/fragment_prod_rientro_merce_order_detail.xml +++ b/app/src/main/res/layout-large/fragment_prod_rientro_merce_order_detail.xml @@ -9,6 +9,7 @@ + @@ -140,6 +141,14 @@ android:textStyle="bold" tools:text="Ordine #218" /> + @@ -184,8 +193,532 @@ + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -93,119 +94,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + android:weightSum="2"> - + android:layout_weight="1" + android:orientation="horizontal"> + + + - - - - - - - - - - - - + android:textStyle="bold" /> + + + - + - - + + android:layout_gravity="center_vertical" + android:gravity="end" + android:orientation="vertical"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - @@ -218,13 +348,18 @@ + tools:text="0" /> + + + @@ -234,10 +369,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -252,7 +519,7 @@ @@ -278,13 +545,48 @@ android:textAppearance="@style/AppTheme.NewMaterial.Text.Small" android:textColor="@android:color/black" /> + + + + + + + + + + + + + + + + + + - @@ -307,77 +610,21 @@ - - - - - - - - - - - - - - - - - - - - - - - - - @@ -410,150 +657,19 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -575,7 +691,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_prod_rientro_merce_order_detail__mtb_colt_item_model.xml b/app/src/main/res/layout/fragment_prod_rientro_merce_order_detail__mtb_colt_item_model.xml index 2281031e..bea40a90 100644 --- a/app/src/main/res/layout/fragment_prod_rientro_merce_order_detail__mtb_colt_item_model.xml +++ b/app/src/main/res/layout/fragment_prod_rientro_merce_order_detail__mtb_colt_item_model.xml @@ -65,9 +65,9 @@ android:layout_height="wrap_content" android:gravity="center" android:paddingLeft="6dp" - android:paddingTop="2dp" + android:paddingTop="0dp" android:paddingRight="6dp" - android:paddingBottom="2dp" + android:paddingBottom="0dp" android:text="@{mtbColt.mtbColr.get(0).numCnf.intValue() + ` col`}" android:textStyle="bold" tools:text="45 col" /> diff --git a/app/src/main/res/layout/fragment_prod_rientro_merce_order_list__list_group_model.xml b/app/src/main/res/layout/fragment_prod_rientro_merce_order_list__list_group_model.xml index 0e5ce981..35965d76 100644 --- a/app/src/main/res/layout/fragment_prod_rientro_merce_order_list__list_group_model.xml +++ b/app/src/main/res/layout/fragment_prod_rientro_merce_order_list__list_group_model.xml @@ -1,5 +1,5 @@ - + @@ -96,7 +96,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" - tools:text="Cod Jcom" /> + tools:text="150KG" /> + tools:text="Descr articolo estesa" /> + + + From c93e29606c179d198a28f3996cfbdeb43353cedc Mon Sep 17 00:00:00 2001 From: ValerioC Date: Mon, 18 Jul 2022 10:55:57 +0200 Subject: [PATCH 04/20] -> v1.28.1 (295) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 92aeffef..cc9abfcf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 294 - def appVersionName = '1.28.0' + def appVersionCode = 295 + def appVersionName = '1.28.1' signingConfigs { release { From 9e85b9f828a5cc8e1e2aebbf39eefa36e35b43d2 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Wed, 20 Jul 2022 15:44:40 +0200 Subject: [PATCH 05/20] aggiunta setup non presente in lista --- .../integrywmsnative/core/settings/SettingsManager.java | 4 ++++ 1 file changed, 4 insertions(+) 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 4f80f212..2abe5abf 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 @@ -314,6 +314,10 @@ public class SettingsManager { .setGestName("PICKING") .setSection("SPEDIZIONE") .setKeySection("FLAG_PRINT_PACKING_LIST_ON_CLOSE")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("SPEDIZIONE") + .setKeySection("FLAG_PRINT_ETICHETTE_ON_CLOSE")); stbGestSetupList.add(new StbGestSetup() .setGestName("PICKING") .setSection("SPEDIZIONE") From f4c1f1fe34916ec834174995787215d4dea18b29 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Wed, 20 Jul 2022 15:45:53 +0200 Subject: [PATCH 06/20] -> v1.28.2 (296) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index cc9abfcf..c1a81605 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 295 - def appVersionName = '1.28.1' + def appVersionCode = 296 + def appVersionName = '1.28.2' signingConfigs { release { From c6fc287a3fcf6e59479b567d2f0d647c22f113d4 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Wed, 20 Jul 2022 16:07:14 +0200 Subject: [PATCH 07/20] corretto controllo su creazione collo in accettazione aggiunto controllo su stato articoli in servizio getArticoloBybarcode --- .../core/rest/consumers/ArticoloRESTConsumer.java | 4 +++- .../dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialog.java | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java index deadedff..bb5f2b7d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java @@ -36,7 +36,9 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer { @Override public void onResponse(Call> call, Response> response) { analyzeAnswer(response, "getByBarcodeProd", (m) -> { - onComplete.run(response.body().getEntityList()); + List aartList = response.body().getEntityList(); + aartList = Stream.of(aartList).filter(x -> x.getFlagStato().equalsIgnoreCase("A")).toList(); + onComplete.run(aartList); }, onFailed); } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialog.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialog.java index 21ec2357..9c6bf1da 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialog.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialog.java @@ -131,7 +131,7 @@ public class InfoAggiuntiveLUDialog extends BaseDialogFragment implements InfoAg codTcolArrayAdapter = new DialogInputLUProdTipoColloAdapter(getActivity(), R.layout.array_adapter_single_item, tipiCollo); mBindings.filledExposedDropdownCodTcol.setAdapter(codTcolArrayAdapter); - if (currentMtbTCol != null && !UtilityString.isNullOrEmpty(currentMtbColt.getCodTcol()) && UtilityString.isNullOrEmpty(this.selectedMtbTcol.get())) { + if (currentMtbColt != null && !UtilityString.isNullOrEmpty(currentMtbColt.getCodTcol()) && UtilityString.isNullOrEmpty(this.selectedMtbTcol.get())) { MtbTCol tipoPedana = Stream.of(tipiCollo).filter(x -> x.getCodTcol().equalsIgnoreCase(currentMtbColt.getCodTcol())).findFirstOrElse(null); if (tipoPedana != null) { this.selectedMtbTcol.set(tipoPedana.getCodTcol() + " - " + tipoPedana.getDescrizione()); From fca325855e30d04513f65ffb5195835e26deea56 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Wed, 20 Jul 2022 16:08:06 +0200 Subject: [PATCH 08/20] -> v1.28.3 (297) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index c1a81605..05290803 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 296 - def appVersionName = '1.28.2' + def appVersionCode = 297 + def appVersionName = '1.28.3' signingConfigs { release { From 57c22b617ec36deba33cdc1f15546f828504a639 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Thu, 21 Jul 2022 15:58:01 +0200 Subject: [PATCH 09/20] =?UTF-8?q?apportate=20modifiche=20rientro=20merce?= =?UTF-8?q?=20richieste=20da=20Agricoper,=20risolto=20bug=20divide=20by=20?= =?UTF-8?q?zero=20in=20spedizione=20quando=20qtaCmfOrd=20=C3=A8=20decimale?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProdRientroMerceOrderListFragment.java | 23 +++++++- .../DialogInputQuantityV2View.java | 4 +- .../main/res/layout/dialog_input_lu_prod.xml | 12 ++-- ...tro_merce_order_list__list_group_model.xml | 58 ++++++++----------- ...d_rientro_merce_order_list__list_model.xml | 11 ++-- 5 files changed, 55 insertions(+), 53 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListFragment.java index dc8cd432..c7f835e2 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListFragment.java @@ -15,6 +15,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.annimon.stream.ComparatorCompat; import com.annimon.stream.Stream; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.List; @@ -116,7 +117,9 @@ public class ProdRientroMerceOrderListFragment extends Fragment { private List convertDataModelToListModel(List dataList) { ComparatorCompat comparator = ComparatorCompat - .comparing(OrdineLavorazioneDTO::getCodJfas) + .comparing(OrdineLavorazioneDTO::getCodAnag) + .thenComparing(ComparatorCompat.comparing(ordineLavorazioneDTO -> ordineLavorazioneDTO.getDescCommessa() != null ? ordineLavorazioneDTO.getDescCommessa() : "zzzzzzzz")) + .thenComparing(ComparatorCompat.comparing(ordineLavorazioneDTO -> ordineLavorazioneDTO.getDataConsCommessaD() != null ? String.valueOf(ordineLavorazioneDTO.getDataConsCommessaD().getTime()) : "999999999999")).reversed() .thenComparing(ComparatorCompat.comparing(ordineLavorazioneDTO -> ordineLavorazioneDTO.getDataOrd() != null ? ordineLavorazioneDTO.getDataOrd() : "zzzzzzzz")).reversed() .thenComparing(ComparatorCompat.comparing(OrdineLavorazioneDTO::getNumOrd)); @@ -140,7 +143,7 @@ public class ProdRientroMerceOrderListFragment extends Fragment { break; } - listModel.setGroupTitle(x.getCodJfas()); + listModel.setGroupTitle(x.getRagSocAnag()); if (!UtilityString.isNullOrEmpty(x.getDataConsCommessa())) { listModel.setPreDescription("Consegna: " + UtilityDate.formatDate(x.getDataConsCommessaD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)); @@ -157,7 +160,21 @@ public class ProdRientroMerceOrderListFragment extends Fragment { listModel.setRightDescription(x.getCodJcom() != null ? (x.getDescCommessa() + " (" + x.getCodJcom() + ")") : ""); listModel.setProgress(x.getProgress()); - listModel.setRightSubDescription(x.getNumCnf().stripTrailingZeros().toPlainString() + " COL"); + int numPedane = x.getNumCnf().divide(x.getColliPedana(), 0, RoundingMode.DOWN).intValue(); + int numCnf = x.getNumCnf().remainder(x.getColliPedana()).intValue(); + String qtaOrdLabel = ""; + if (numPedane > 0) { + qtaOrdLabel += numPedane + "UL x " + x.getColliPedana().stripTrailingZeros().toPlainString() + " COL"; + if (numCnf > 0) { + qtaOrdLabel += " + "; + } + } + if (numCnf > 0) { + qtaOrdLabel += numCnf + " COL"; + } + +// listModel.setRightSubDescription(x.getNumCnf().stripTrailingZeros().toPlainString() + " COL"); + listModel.setRightSubDescription(qtaOrdLabel); /*try { listModel.setRightSubDescription(UtilityDate.formatDate(x.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)); } catch (Exception ex) { 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 b7044a7f..52fe6128 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 @@ -412,10 +412,10 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia this.enabledLUCloseButton.set(this.mDialogInputQuantityV2DTO.isCanLUBeClosed()); this.currentTaraArticolo.set(this.mViewModel.getMtbAart().getTaraKg()); - if (this.mDialogInputQuantityV2DTO.getMtbAart().isFlagQtaCnfFissaBoolean() && this.mDialogInputQuantityV2DTO.getTotalNumCnfOrd() != null && !this.mDialogInputQuantityV2DTO.getTotalNumCnfOrd().equals(BigDecimal.ZERO) && !(this.mDialogInputQuantityV2DTO.getTotalNumCnfOrd().intValue() == 0)) { + if (this.mDialogInputQuantityV2DTO.getMtbAart().isFlagQtaCnfFissaBoolean() && this.mDialogInputQuantityV2DTO.getTotalQtaOrd() != null && !this.mDialogInputQuantityV2DTO.getTotalQtaOrd().equals(BigDecimal.ZERO) && !(this.mDialogInputQuantityV2DTO.getQtaCnfOrd().compareTo(BigDecimal.ZERO) == 0)) { int numCnftoTake = this.mDialogInputQuantityV2DTO.getTotalQtaOrd().divide(this.mDialogInputQuantityV2DTO.getQtaCnfOrd(), 0, RoundingMode.DOWN).intValue(); this.currentTextNumCnfToTake.set(numCnftoTake); - int qtaText = this.mDialogInputQuantityV2DTO.getTotalQtaOrd().intValue() % this.mDialogInputQuantityV2DTO.getQtaCnfOrd().intValue(); + int qtaText = this.mDialogInputQuantityV2DTO.getTotalQtaOrd().remainder(this.mDialogInputQuantityV2DTO.getQtaCnfOrd()).intValue(); this.currentTextNumPezziToTake.set(qtaText); } else { this.currentTextNumCnfToTake.set(0); diff --git a/app/src/main/res/layout/dialog_input_lu_prod.xml b/app/src/main/res/layout/dialog_input_lu_prod.xml index c4d51048..9ee24e63 100644 --- a/app/src/main/res/layout/dialog_input_lu_prod.xml +++ b/app/src/main/res/layout/dialog_input_lu_prod.xml @@ -50,7 +50,7 @@ android:src="@drawable/ic_erase_96" android:backgroundTint="@android:color/transparent" android:onClick="@{() -> view.resetValues()}" - android:tint="@android:color/white"/> + android:tint="@android:color/white" /> - - - - - - + tools:text="Cons 07 nov 2018" /> - - + android:layout_height="wrap_content" + android:layout_marginTop="8dp" + tools:text="CLIENTE (COMMESSA)" /> - + - - + - + android:textStyle="bold" + tools:text="NOME GRUPPO" /> From a22ecb96207e46ad0cfd1371b838a39e5251a110 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Thu, 21 Jul 2022 15:58:54 +0200 Subject: [PATCH 10/20] -> v1.28.4 (298) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 05290803..e935030d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 297 - def appVersionName = '1.28.3' + def appVersionCode = 298 + def appVersionName = '1.28.4' signingConfigs { release { From d1c491ee80076c4546737df5b35bcc02ea2cdac3 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Thu, 21 Jul 2022 17:14:30 +0200 Subject: [PATCH 11/20] risolti bug vari --- .idea/deploymentTargetDropDown.xml | 12 ++++++------ .../core/rest/consumers/ArticoloRESTConsumer.java | 2 +- .../gest/spedizione/SpedizioneActivity.java | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index c9951824..1538039a 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -1,17 +1,17 @@ - + - + - - + + - - + + \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java index bb5f2b7d..7e932711 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java @@ -37,7 +37,7 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer { public void onResponse(Call> call, Response> response) { analyzeAnswer(response, "getByBarcodeProd", (m) -> { List aartList = response.body().getEntityList(); - aartList = Stream.of(aartList).filter(x -> x.getFlagStato().equalsIgnoreCase("A")).toList(); + aartList = aartList != null ? Stream.of(aartList).filter(x -> x.getFlagStato().equalsIgnoreCase("A")).toList() : null; onComplete.run(aartList); }, onFailed); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java index 78927c6b..73380d9b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java @@ -178,8 +178,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo getSupportActionBar().setDisplayHomeAsUpEnabled(true); ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION); - mFlagShowCodForn = customConfiguration.getConfig(BaseCustomConfiguration.Keys.FLAG_SHOW_COD_FORN_IN_SPEDIZIONE); - mDivideByGrpMerc = customConfiguration.getConfig(BaseCustomConfiguration.Keys.FLAG_SPEDIZIONE_GROUP_BY_GRP_MERC); + mFlagShowCodForn = customConfiguration != null ? customConfiguration.getConfig(BaseCustomConfiguration.Keys.FLAG_SHOW_COD_FORN_IN_SPEDIZIONE) : true; + mDivideByGrpMerc = customConfiguration != null ? customConfiguration.getConfig(BaseCustomConfiguration.Keys.FLAG_SPEDIZIONE_GROUP_BY_GRP_MERC) : false; SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); mEnableQuantityReset = sharedPreferences.getBoolean("picking_uscita_enable_quantity_reset", true); From fef564b090f6361911d609e2586a32aaa35a6dc0 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Thu, 21 Jul 2022 17:15:03 +0200 Subject: [PATCH 12/20] -> v1.28.5 (299) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index e935030d..dafaf331 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 298 - def appVersionName = '1.28.4' + def appVersionCode = 299 + def appVersionName = '1.28.5' signingConfigs { release { From 7c49af085d586f8ff5ef82e07d3e60b04dec133b Mon Sep 17 00:00:00 2001 From: ValerioC Date: Fri, 22 Jul 2022 11:21:08 +0200 Subject: [PATCH 13/20] aggiunte condizioni per l'autocompletamento delle tipo pedana in rientro merce --- .idea/deploymentTargetDropDown.xml | 17 ------ .../ProdRientroMerceOrderDetailFragment.java | 53 +++++++++++++++---- 2 files changed, 43 insertions(+), 27 deletions(-) delete mode 100644 .idea/deploymentTargetDropDown.xml diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml deleted file mode 100644 index 1538039a..00000000 --- a/.idea/deploymentTargetDropDown.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java index e53c57dd..8e656c68 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java @@ -18,6 +18,7 @@ import androidx.lifecycle.MutableLiveData; import androidx.preference.PreferenceManager; import androidx.recyclerview.widget.LinearLayoutManager; +import com.annimon.stream.ComparatorCompat; import com.annimon.stream.Stream; import com.google.gson.reflect.TypeToken; import com.harrysoft.androidbluetoothserial.BluetoothManager; @@ -43,6 +44,7 @@ import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer; import it.integry.integrywmsnative.core.utility.UtilityDB; +import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.databinding.FragmentProdRientroMerceOrderDetailBinding; import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO; import it.integry.integrywmsnative.gest.settings.MainSettingsFragment; @@ -76,6 +78,7 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements private BluetoothManager bluetoothManager; private BluetoothSerialDevice mConnectedBluetoothDevice; + private String mLatestCodTcol; public ObservableField sumLUNumber = new ObservableField<>(BigDecimal.ZERO); @@ -182,6 +185,7 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements @Override public void onDetach() { + mLatestCodTcol = null; if (mConnectedBluetoothDevice != null) bluetoothManager.close(); @@ -207,13 +211,28 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements AtomicBigDecimal sumColli = new AtomicBigDecimal(BigDecimal.ZERO); AtomicBigDecimal sumNet = new AtomicBigDecimal(BigDecimal.ZERO); AtomicBigDecimal sumGross = new AtomicBigDecimal(BigDecimal.ZERO); + AtomicBigDecimal sumQtaCol = new AtomicBigDecimal(BigDecimal.ZERO); Stream.of(mtbColts) .forEach(x -> Stream.of(x.getMtbColr()).forEach(y -> { sumColli.getAndAdd(y.getNumCnf()); sumNet.getAndAdd(y.getPesoNettoKg()); sumGross.getAndAdd(y.getPesoLordoKg()); + sumQtaCol.getAndAdd(y.getQtaCol()); })); + + ComparatorCompat c = ComparatorCompat + .chain( + new ComparatorCompat((x, y) -> x.getDataVersD().compareTo(y.getDataVersD())) + ) + .reversed(); + MtbColt lastUl = Stream.of(mtbColts).sorted(c).findFirstOrElse(null); + if (lastUl != null && !UtilityString.isNullOrEmpty(lastUl.getCodTcol())) { + mLatestCodTcol = lastUl.getCodTcol(); + } + + currentOrder.getValue().setQtaTrasferite(sumQtaCol.get()); + this.progress.set(currentOrder.getValue().getProgress()); sumColliNumber.set(sumColli.get()); sumGrossKG.set(sumGross.get()); progress.set(currentOrder.getValue().getProgress()); @@ -237,7 +256,12 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements public void addULButtonClick() { this.onLoadingStarted(); - String codProd = this.currentOrder.getValue().getCodProd(); + OrdineLavorazioneDTO currentOrder = this.currentOrder.getValue(); + if (currentOrder == null) { + this.onError(new Exception("Nessun ordine rilevato!")); + return; + } + String codProd = currentOrder.getCodProd(); mArticoloRESTConsumer.getByCodMart(codProd, mtbAart -> { String sql = "SELECT TOP 1 * " + @@ -246,9 +270,9 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements " * " + " FROM dtb_ord_steps " + " WHERE cod_jfas IS NOT NULL " + - " AND gestione = " + UtilityDB.valueToString(this.currentOrder.getValue().getGestione()) + - " AND num_ord = " + UtilityDB.valueToString(this.currentOrder.getValue().getNumOrd()) + - " AND data_ord = " + UtilityDB.valueToString(this.currentOrder.getValue().getDataOrdD()) + + " AND gestione = " + UtilityDB.valueToString(currentOrder.getGestione()) + + " AND num_ord = " + UtilityDB.valueToString(currentOrder.getNumOrd()) + + " AND data_ord = " + UtilityDB.valueToString(currentOrder.getDataOrdD()) + " ) tmp " + "WHERE data_iniz IS NOT NULL " + " AND (data_fine IS NULL OR last_step = id_step) " + @@ -259,15 +283,24 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements this.onLoadingEnded(); + String codTcol = currentOrder.getCodTcolUl(); + if (UtilityString.isNullOrEmpty(codTcol)) { + if (!UtilityString.isNullOrEmpty(mLatestCodTcol)) { + codTcol = mLatestCodTcol; + } else { + codTcol = mtbAart.getCodTcolUl(); + } + } + DialogInputLUProdDTO dialogInputLUProdDTO = new DialogInputLUProdDTO() .setMtbAart(mtbAart) - .setNumCnf(this.currentOrder.getValue().getColliPedana()) + .setNumCnf(currentOrder.getColliPedana()) .setQtaCnf(mtbAart.getQtaCnf()) - .setQtaTot(this.currentOrder.getValue().getColliPedana().multiply(mtbAart.getQtaCnf())) - .setPartitaMag(this.currentOrder.getValue().getPartitaMag()) - .setDataScad(this.currentOrder.getValue().getDataScadD()) - .setCodJfasParent(this.currentOrder.getValue().getCodJfas()) - .setCodTcol(this.currentOrder.getValue().getCodTcolUl()) + .setQtaTot(currentOrder.getColliPedana().multiply(mtbAart.getQtaCnf())) + .setPartitaMag(currentOrder.getPartitaMag()) + .setDataScad(currentOrder.getDataScadD()) + .setCodJfasParent(currentOrder.getCodJfas()) + .setCodTcol(codTcol) .setSuggestedCodJfas(dtbOrdStep != null && dtbOrdStep.size() > 0 ? dtbOrdStep.get(0).getCodJfas() : null); From 87acc5a4e384669c8edb84f71e6264c1aa3a0438 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Fri, 22 Jul 2022 11:21:54 +0200 Subject: [PATCH 14/20] -> v1.28.6 (300) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index dafaf331..8ba7fa05 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 299 - def appVersionName = '1.28.5' + def appVersionCode = 300 + def appVersionName = '1.28.6' signingConfigs { release { From 5ea124bcf6ae2ab1d153354bcfd1947d078a4fc8 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Fri, 22 Jul 2022 15:52:27 +0200 Subject: [PATCH 15/20] rimosso filtro per linea in recupero materiale da gestione linee --- .../gest/prod_dettaglio_linea/ProdDettaglioLineaActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_dettaglio_linea/ProdDettaglioLineaActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_dettaglio_linea/ProdDettaglioLineaActivity.java index a9c5b5b0..99bff8eb 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_dettaglio_linea/ProdDettaglioLineaActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_dettaglio_linea/ProdDettaglioLineaActivity.java @@ -276,7 +276,7 @@ public class ProdDettaglioLineaActivity extends BaseActivity implements ProdDett getSupportFragmentManager() .beginTransaction() .add(R.id.frame_layout_container, - ProdRecuperoMaterialeFragment.newInstance(mViewModel.lineaProd.getValue().getCodJfas(), DATA_KEY_FRAGMENT_LISTENER)) + ProdRecuperoMaterialeFragment.newInstance(null, DATA_KEY_FRAGMENT_LISTENER)) .addToBackStack("ProdRecuperoMaterialeFragment") .commit(); From 1fd51a40970eaac1536a94cd1200f2fc9cf07333 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Fri, 22 Jul 2022 15:53:19 +0200 Subject: [PATCH 16/20] -> v1.28.7 (301) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 8ba7fa05..59269aad 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 300 - def appVersionName = '1.28.6' + def appVersionCode = 301 + def appVersionName = '1.28.7' signingConfigs { release { From 79192ce3370a786dd4958f3066157f52c14bf420 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Fri, 22 Jul 2022 18:49:58 +0200 Subject: [PATCH 17/20] aggiunta stampa etichetta da rientro merce --- .../MainApplicationComponent.java | 7 +- .../consumers/ColliMagazzinoRESTConsumer.java | 25 ++++ .../ProdRientroMerceOrderDetailFragment.java | 16 ++- .../ProdRientroMerceOrderDetailModule.java | 6 +- .../ProdRientroMerceOrderDetailViewModel.java | 53 ++++++-- .../DialogPrintUlSSCCComponent.java | 14 ++ .../printSsccUl/DialogPrintUlSSCCModule.java | 9 ++ .../printSsccUl/DialogPrintUlSSCCView.java | 110 ++++++++++++++++ .../dialogs/printSsccUl/dto/PrintUlDTO.java | 36 ++++++ .../main/res/layout/dialog_print_ul_sscc.xml | 121 ++++++++++++++++++ app/src/main/res/values-it/strings.xml | 2 + app/src/main/res/values/strings.xml | 2 + 12 files changed, 389 insertions(+), 12 deletions(-) create mode 100644 app/src/main/java/it/integry/integrywmsnative/view/dialogs/printSsccUl/DialogPrintUlSSCCComponent.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/view/dialogs/printSsccUl/DialogPrintUlSSCCModule.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/view/dialogs/printSsccUl/DialogPrintUlSSCCView.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/view/dialogs/printSsccUl/dto/PrintUlDTO.java create mode 100644 app/src/main/res/layout/dialog_print_ul_sscc.xml diff --git a/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java b/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java index 57b9f360..dc9d9392 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java @@ -86,6 +86,8 @@ import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdC import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdModule; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2Component; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2Module; +import it.integry.integrywmsnative.view.dialogs.printSsccUl.DialogPrintUlSSCCComponent; +import it.integry.integrywmsnative.view.dialogs.printSsccUl.DialogPrintUlSSCCModule; import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtComponent; import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtModule; import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUComponent; @@ -137,7 +139,8 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr DialogEditArticoloModule.class, DialogPrintOrderSSCCListModule.class, ProdLineeProduzioneModule.class, - ProdDettaglioLineaModule.class + ProdDettaglioLineaModule.class, + DialogPrintUlSSCCModule.class }) public interface MainApplicationComponent { @@ -231,6 +234,8 @@ public interface MainApplicationComponent { ProdDettaglioLineaComponent.Factory prodDettaglioLineaComponent(); + DialogPrintUlSSCCComponent.Factory dialogPrintUlSSCCComponent(); + void inject(MainApplication mainApplication); void inject(AppContext mainApplication); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java index 1eca2d23..ff9e8e25 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java @@ -700,4 +700,29 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer { }); } + public void loadShipmentUlFromProductionUL(MtbColt mtbColt, RunnableArgs onComplete, RunnableArgs onFailed) { + + HashMap params = new HashMap<>(); + params.put("mtb_colr.gestione_rif", mtbColt.getGestione()); + params.put("mtb_colr.ser_collo_rif", mtbColt.getSerCollo()); + params.put("mtb_colr.num_collo_rif", mtbColt.getNumCollo()); + params.put("mtb_colr.data_collo_rif", mtbColt.getDataColloD()); + + String whereCond = UtilityQuery.concatFieldsInWhereCond(params); + + + String query = "select distinct mtb_colt.*\n" + + "from mtb_colt\n" + + " left join mtb_colr on mtb_colt.gestione = mtb_colr.gestione and mtb_colt.data_collo = mtb_colr.data_collo and\n" + + " mtb_colt.ser_collo = mtb_colr.ser_collo and mtb_colt.num_collo = mtb_colr.num_collo\n" + + "where mtb_colt.gestione = 'V'" + + " AND " + whereCond; + + + Type typeOfObjectsList = new TypeToken>() { + }.getType(); + this.mSystemRESTConsumer.>processSql(query, typeOfObjectsList, data -> { + onComplete.run(data.get(0)); + }, onFailed); + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java index 8e656c68..dceba744 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java @@ -51,6 +51,8 @@ import it.integry.integrywmsnative.gest.settings.MainSettingsFragment; import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration; import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdDTO; import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdView; +import it.integry.integrywmsnative.view.dialogs.printSsccUl.DialogPrintUlSSCCView; +import it.integry.integrywmsnative.view.dialogs.printSsccUl.dto.PrintUlDTO; /** * A simple {@link Fragment} subclass. @@ -248,7 +250,19 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements } @Override - public void onDataSaved() { + public void onDataSaved(MtbColt mtbColt) { + PrintUlDTO dto = new PrintUlDTO(); + dto.setMtbColt(mtbColt); + String codJcom = currentOrder.getValue().getCodJcom(); + dto.setFlagPrintShipmentLabel(!UtilityString.isNullOrEmpty(codJcom)); + dto.setFlagPrintProductionLabel(UtilityString.isNullOrEmpty(codJcom)); + DialogPrintUlSSCCView.newInstance(dto, result -> { + if (result.isFlagPrintShipmentLabel() || result.isFlagPrintProductionLabel()) { + this.mViewModel.printSavedMtbColt(result); + } else { + this.mViewModel.refreshMtbColts(); + } + }).show(requireActivity().getSupportFragmentManager(), "DialogPrintUlSSCC"); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailModule.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailModule.java index 72153211..2392a0d3 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailModule.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailModule.java @@ -3,6 +3,7 @@ package it.integry.integrywmsnative.gest.prod_rientro_merce.order_detail; import dagger.Module; import dagger.Provides; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; +import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer; import it.integry.integrywmsnative.gest.prod_rientro_merce.order_detail.rest.ProdRientroMerceOrderDetailRESTConsumer; @@ -17,8 +18,9 @@ public class ProdRientroMerceOrderDetailModule { @Provides ProdRientroMerceOrderDetailViewModel provideProdRientroMerceOrderDetailViewModel( ProdRientroMerceOrderDetailRESTConsumer prodRientroMerceOrderDetailRESTConsumer, - ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer) { - return new ProdRientroMerceOrderDetailViewModel(prodRientroMerceOrderDetailRESTConsumer, colliMagazzinoRESTConsumer); + ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, + PrinterRESTConsumer printerRESTConsumer) { + return new ProdRientroMerceOrderDetailViewModel(prodRientroMerceOrderDetailRESTConsumer, colliMagazzinoRESTConsumer, printerRESTConsumer); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailViewModel.java index 86a613cd..152f96a3 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailViewModel.java @@ -6,32 +6,42 @@ import com.annimon.stream.Optional; import com.annimon.stream.Stream; import java.util.Date; +import java.util.HashMap; import java.util.List; import javax.inject.Inject; +import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; import it.integry.integrywmsnative.core.model.MtbColt; +import it.integry.integrywmsnative.core.report.ReportType; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; +import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer; +import it.integry.integrywmsnative.core.settings.SettingsManager; +import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.gest.prod_rientro_merce.order_detail.rest.ProdRientroMerceOrderDetailRESTConsumer; import it.integry.integrywmsnative.gest.prod_rientro_merce.order_detail.rest.dto.ImportColliDaProduzioneRequestDTO; import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO; +import it.integry.integrywmsnative.view.dialogs.printSsccUl.dto.PrintUlDTO; public class ProdRientroMerceOrderDetailViewModel { - public MutableLiveData> mtbColtsOfOrder = new MutableLiveData<>(); + public final MutableLiveData> mtbColtsOfOrder = new MutableLiveData<>(); private OrdineLavorazioneDTO currentOrder; private final ProdRientroMerceOrderDetailRESTConsumer mProdRientroMerceOrderDetailRESTConsumer; private final ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer; + private final PrinterRESTConsumer mPrinterRESTConsumer; private Listener mListener; @Inject public ProdRientroMerceOrderDetailViewModel(ProdRientroMerceOrderDetailRESTConsumer prodRientroMerceOrderDetailRESTConsumer, - ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer) { + ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, + PrinterRESTConsumer printerRESTConsumer) { this.mProdRientroMerceOrderDetailRESTConsumer = prodRientroMerceOrderDetailRESTConsumer; this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer; + this.mPrinterRESTConsumer = printerRESTConsumer; } public void setOrder(OrdineLavorazioneDTO order) { @@ -40,7 +50,7 @@ public class ProdRientroMerceOrderDetailViewModel { refreshMtbColts(); } - private void refreshMtbColts() { + public void refreshMtbColts() { this.sendOnLoadingStarted(); this.mtbColtsOfOrder.postValue(null); @@ -81,12 +91,9 @@ public class ProdRientroMerceOrderDetailViewModel { .setPesoNetto(pickedQuantityDTO.getPesoNetto()); this.mProdRientroMerceOrderDetailRESTConsumer.importColloDaProduzione(importColliDaProduzioneRequestDTO, mtbColtSaved -> { - synchronized (this.mtbColtsOfOrder) { - refreshMtbColts(); + this.mListener.onDataSaved(mtbColtSaved); } - - this.sendOnLoadingEnded(); }, this::sendError); @@ -136,9 +143,39 @@ public class ProdRientroMerceOrderDetailViewModel { if (this.mListener != null) mListener.onError(ex); } + public void printSavedMtbColt(PrintUlDTO result) { + if (result.isFlagPrintProductionLabel()) { + this.startPrint(result.getMtbColt(), ReportType.ETICHETTA_SSCC_LAVORAZIONE, currentOrder.getCodAnag()); + } else { + this.loadShipmentUlFromProductionUL(result.getMtbColt(), mtbColt -> { + this.startPrint(mtbColt, ReportType.ETICHETTA_SSCC_SPEDIZIONE, mtbColt.getCodAnag()); + }, this::sendError); + } + + } + + private void loadShipmentUlFromProductionUL(MtbColt productionUL, RunnableArgs onLoad, RunnableArgs onError) { + this.mColliMagazzinoRESTConsumer.loadShipmentUlFromProductionUL(productionUL, onLoad, onError); + } + + private void startPrint(MtbColt mtbColt, ReportType reportType, String codAnag) { + HashMap params = new HashMap<>(); + params.put("gestione", mtbColt.getGestione()); + params.put("ser_collo", mtbColt.getSerCollo()); + params.put("num_collo", mtbColt.getNumCollo()); + params.put("data_collo", UtilityDate.formatDate(mtbColt.getDataColloD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_DASH)); + this.mPrinterRESTConsumer.printReportType( + reportType, + SettingsManager.i().getUserSession().getDepo().getCodMdep(), + codAnag, + params, + this::refreshMtbColts, + this::sendError); + } + public interface Listener extends ILoadingListener { - void onDataSaved(); + void onDataSaved(MtbColt mtbColt); void onError(Exception ex); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/printSsccUl/DialogPrintUlSSCCComponent.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/printSsccUl/DialogPrintUlSSCCComponent.java new file mode 100644 index 00000000..8e991eb7 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/printSsccUl/DialogPrintUlSSCCComponent.java @@ -0,0 +1,14 @@ +package it.integry.integrywmsnative.view.dialogs.printSsccUl; + +import dagger.Subcomponent; + +@Subcomponent +public interface DialogPrintUlSSCCComponent { + + @Subcomponent.Factory + interface Factory { + DialogPrintUlSSCCComponent create(); + } + + void inject(DialogPrintUlSSCCView dialogPrintUlSSCCView); +} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/printSsccUl/DialogPrintUlSSCCModule.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/printSsccUl/DialogPrintUlSSCCModule.java new file mode 100644 index 00000000..eb8eb3b7 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/printSsccUl/DialogPrintUlSSCCModule.java @@ -0,0 +1,9 @@ +package it.integry.integrywmsnative.view.dialogs.printSsccUl; + +import dagger.Module; + +@Module(subcomponents = DialogPrintUlSSCCComponent.class) +public class DialogPrintUlSSCCModule { + + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/printSsccUl/DialogPrintUlSSCCView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/printSsccUl/DialogPrintUlSSCCView.java new file mode 100644 index 00000000..ddf9c523 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/printSsccUl/DialogPrintUlSSCCView.java @@ -0,0 +1,110 @@ +package it.integry.integrywmsnative.view.dialogs.printSsccUl; + +import android.content.Context; +import android.content.DialogInterface; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.RadioGroup; + +import androidx.annotation.NonNull; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import it.integry.integrywmsnative.MainApplication; +import it.integry.integrywmsnative.core.expansion.BaseDialogFragment; +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.utility.UtilityExceptions; +import it.integry.integrywmsnative.databinding.DialogPrintUlSsccBinding; +import it.integry.integrywmsnative.view.dialogs.printSsccUl.dto.PrintUlDTO; + +public class DialogPrintUlSSCCView extends BaseDialogFragment { + + + private Context mContext; + private DialogPrintUlSsccBinding mBindings; + private final PrintUlDTO printUlDTO; + private final RunnableArgs onDialogClose; + + + public static DialogPrintUlSSCCView newInstance( + PrintUlDTO printUlDTO, + RunnableArgs onDismiss + ) { + return new DialogPrintUlSSCCView(printUlDTO, onDismiss); + } + + public DialogPrintUlSSCCView(@NotNull PrintUlDTO printUlDTO, @NotNull RunnableArgs onDismiss) { + this.printUlDTO = printUlDTO; + this.onDialogClose = onDismiss; + } + + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + this.mContext = getActivity(); + + mBindings = DialogPrintUlSsccBinding.inflate(inflater, container, false); + + MainApplication.appComponent + .dialogPrintUlSSCCComponent() + .create(); + + mBindings.setView(this); + setCancelable(true); + getDialog().setCanceledOnTouchOutside(true); + getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + + return mBindings.getRoot(); + } + + public void onCheckChange(RadioGroup radioGroup, int id) { + this.printUlDTO.setFlagPrintProductionLabel(id == mBindings.printProductionLabel.getId()); + this.printUlDTO.setFlagPrintShipmentLabel(id == mBindings.printShippingLabel.getId()); + + } + + public void onPositiveClick() { + this.dismiss(); + } + + public void onNegativeClick() { + this.printUlDTO.setFlagPrintProductionLabel(false); + this.printUlDTO.setFlagPrintShipmentLabel(false); + this.dismiss(); + } + + @Override + public void onDismiss(@NonNull DialogInterface dialog) { + this.onDialogClose.run(this.printUlDTO); + super.onDismiss(dialog); + } + + @Override + public void onCancel(@NonNull DialogInterface dialog) { + this.onNegativeClick(); + super.onCancel(dialog); + } + + @Override + public void onStart() { + if (this.printUlDTO.isFlagPrintShipmentLabel()) { + mBindings.printShippingLabel.setChecked(true); + } else { + mBindings.printProductionLabel.setChecked(true); + } + super.onStart(); + } + + + @Override + public void onError(Exception ex) { + UtilityExceptions.defaultException(this.mContext, ex); + dismiss(); + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/printSsccUl/dto/PrintUlDTO.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/printSsccUl/dto/PrintUlDTO.java new file mode 100644 index 00000000..96fc6034 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/printSsccUl/dto/PrintUlDTO.java @@ -0,0 +1,36 @@ +package it.integry.integrywmsnative.view.dialogs.printSsccUl.dto; + +import it.integry.integrywmsnative.core.model.MtbColt; + +public class PrintUlDTO { + private boolean flagPrintShipmentLabel = false; + private boolean flagPrintProductionLabel = false; + private MtbColt mtbColt; + + public boolean isFlagPrintShipmentLabel() { + return flagPrintShipmentLabel; + } + + public PrintUlDTO setFlagPrintShipmentLabel(boolean flagPrintShipmentLabel) { + this.flagPrintShipmentLabel = flagPrintShipmentLabel; + return this; + } + + public boolean isFlagPrintProductionLabel() { + return flagPrintProductionLabel; + } + + public PrintUlDTO setFlagPrintProductionLabel(boolean flagPrintProductionLabel) { + this.flagPrintProductionLabel = flagPrintProductionLabel; + return this; + } + + public MtbColt getMtbColt() { + return mtbColt; + } + + public PrintUlDTO setMtbColt(MtbColt mtbColt) { + this.mtbColt = mtbColt; + return this; + } +} diff --git a/app/src/main/res/layout/dialog_print_ul_sscc.xml b/app/src/main/res/layout/dialog_print_ul_sscc.xml new file mode 100644 index 00000000..ac8db0fe --- /dev/null +++ b/app/src/main/res/layout/dialog_print_ul_sscc.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index eac001d1..15075634 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -409,4 +409,6 @@ Dettaglio linea Materiali versati Scansiona il codice a barre della UL da recuperare + Stampa etichetta spedizione + Stampa etichetta lavorazione \ 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 50b7eab4..2f5cd34f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -415,4 +415,6 @@ Line details Deposited products Please scan the LU barcode to recover + Print shipping label + Print production label From 5d1f275ebc9fce84c7bad92e05450175eb701a91 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Fri, 22 Jul 2022 19:00:47 +0200 Subject: [PATCH 18/20] -> v1.28.8 (302) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 59269aad..f5047be7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 301 - def appVersionName = '1.28.7' + def appVersionCode = 302 + def appVersionName = '1.28.8' signingConfigs { release { From b662929c1982d3e29769710d13481915dbb0e91a Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Fri, 29 Jul 2022 19:40:24 +0200 Subject: [PATCH 19/20] fix timeout connessioni. fix pre destroy rettifica giacenze. --- .../it/integry/integrywmsnative/core/rest/RESTBuilder.java | 4 ++-- .../gest/rettifica_giacenze/RettificaGiacenzeFragment.java | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) 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 ecb8308a..f367c89a 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 @@ -28,11 +28,11 @@ public class RESTBuilder { } public static T getService(final Class service, String host, int port, boolean addInterceptors) { - return getService(service, host, port, addInterceptors, true, 30); + return getService(service, host, port, addInterceptors, true, 60); } public static T getService(final Class service, String host, int port, boolean addInterceptors, boolean addEmsApi) { - return getService(service, host, port, addInterceptors, addEmsApi, 30); + return getService(service, host, port, addInterceptors, addEmsApi, 60); } public static T getService(final Class service, String host, int port, boolean addInterceptors, boolean addEmsApi, int timeout) { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java index b1b7d6bc..01a16e85 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeFragment.java @@ -336,14 +336,13 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr @Override public void onError(Exception ex) { this.onLoadingEnded(); + BarcodeManager.enable(); if (ex instanceof InvalidPesoKGException) { UtilityToast.showToast(ex.getMessage()); } else { UtilityExceptions.defaultException(requireActivity(), ex, mCurrentProgress); } - - BarcodeManager.enable(); } @Override @@ -494,7 +493,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr @Override public void onPreDestroy(Runnable onComplete) { - BarcodeManager.removeCallback(barcodeScannerIstanceID); +// BarcodeManager.removeCallback(barcodeScannerIstanceID); mViewModel.closeLU(false); } } From 62f6e12a86fa41438fd7c27b1f9e16c7d7537ac2 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Fri, 29 Jul 2022 19:41:06 +0200 Subject: [PATCH 20/20] -> v1.28.9 (303) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index f5047be7..acb7b45c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 302 - def appVersionName = '1.28.8' + def appVersionCode = 303 + def appVersionName = '1.28.9' signingConfigs { release {