From ef6535897b2f2fb2ba27719ecaf64ab5bc410630 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Tue, 22 Mar 2022 10:09:19 +0100 Subject: [PATCH 1/2] [ordini acquisto pv] cambio colore in base alla differenza tra qta ordinata e proposta auto ordinamento di 1 col alla scansione di un articolo fix vari --- .../core/data_store/db/AppDatabase.java | 4 +- .../db/converter/BigDecimalConverter.java | 17 +++++ .../data_store/db/dao/ArticoloOrdineDao.java | 16 +++-- .../data_store/db/entity/ArticoloOrdine.java | 22 +++++- .../ArticoliOrdineDataSource.java | 13 +++- .../db/wrappers/ArticoloOrdineWrapper.java | 65 ++++++++++++++++++ .../core/settings/DBSettingsModel.java | 11 +++ .../core/settings/SettingsManager.java | 11 ++- .../PVOrdineAcquistoEditActivity.java | 24 +++++-- .../PVOrdineAcquistoEditViewModel.java | 67 ++++++++++--------- .../dialog/DialogEditArticoloViewModel.java | 4 +- .../res/layout/dialog_pv_edit_articolo.xml | 4 +- ...coli_ordine_acquisto__list_single_item.xml | 3 +- 13 files changed, 209 insertions(+), 52 deletions(-) create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/data_store/db/converter/BigDecimalConverter.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/data_store/db/wrappers/ArticoloOrdineWrapper.java 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 950e296f..18107973 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 @@ -4,6 +4,7 @@ import androidx.room.Database; import androidx.room.RoomDatabase; import androidx.room.TypeConverters; +import it.integry.integrywmsnative.core.data_store.db.converter.BigDecimalConverter; import it.integry.integrywmsnative.core.data_store.db.converter.DateConverter; import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloGrigliaDao; import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloOrdineDao; @@ -20,7 +21,8 @@ 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 = 8, exportSchema = false) @TypeConverters({ - DateConverter.class + DateConverter.class, + BigDecimalConverter.class }) public abstract class AppDatabase extends RoomDatabase { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/converter/BigDecimalConverter.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/converter/BigDecimalConverter.java new file mode 100644 index 00000000..f801f8df --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/converter/BigDecimalConverter.java @@ -0,0 +1,17 @@ +package it.integry.integrywmsnative.core.data_store.db.converter; + +import androidx.room.TypeConverter; + +import java.math.BigDecimal; + +public class BigDecimalConverter { + @TypeConverter + public static BigDecimal fromFloat(Float value) { + return value == null ? null : BigDecimal.valueOf(value.doubleValue()); + } + + @TypeConverter + public static Float dateToTimestamp(BigDecimal value) { + return value == null ? null : value.floatValue(); + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/ArticoloOrdineDao.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/ArticoloOrdineDao.java index e053f4ef..e7b43b26 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/ArticoloOrdineDao.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/ArticoloOrdineDao.java @@ -8,9 +8,8 @@ import androidx.room.Update; import java.util.List; -import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia; import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine; -import it.integry.integrywmsnative.core.data_store.db.entity.Ordine; +import it.integry.integrywmsnative.core.data_store.db.wrappers.ArticoloOrdineWrapper; @Dao public interface ArticoloOrdineDao { @@ -34,8 +33,17 @@ public interface ArticoloOrdineDao { @Update void update(ArticoloOrdine articolo); - @Query("SELECT * FROM articoli_ordine where id_ordine = :ordineId") - List findArticoliByOrdine(int ordineId); + @Query("SELECT articoli_ordine.*," + + "articoli_griglia.gg_scadenza," + + "articoli_griglia.giacenza," + + "articoli_griglia.qta_prevista_vendita," + + "articoli_griglia.qta_proposta " + + "FROM articoli_ordine " + + "INNER JOIN ordini on articoli_ordine.id_ordine = ordini.ordine_id " + + "LEFT OUTER JOIN articoli_griglia " + + "on articoli_ordine.cod_mart = articoli_griglia.cod_mart and ordini.id_griglia = articoli_griglia.id_griglia and articoli_ordine.bar_code = articoli_griglia.bar_code " + + "where id_ordine = :ordineId") + List findArticoliByOrdine(int ordineId); @Query("SELECt * from articoli_ordine where cod_mart = :codMart and id_ordine = :ordineId LIMIT 1") ArticoloOrdine findArticoloByCodMartAndOrdine(int ordineId, String codMart); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/ArticoloOrdine.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/ArticoloOrdine.java index 4706f3f5..37fe4fea 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/ArticoloOrdine.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/ArticoloOrdine.java @@ -82,6 +82,9 @@ public class ArticoloOrdine { @Ignore private BigDecimal qtaProposta = BigDecimal.ZERO; + @Ignore + private int bgTint; + public Integer getArticoloOrdineId() { return articoloOrdineId; @@ -244,6 +247,23 @@ public class ArticoloOrdine { } public float getCnfDaRic() { - return qtaCnf > 0.f ? merceDaRic / qtaCnf : 0; + return qtaCnf > 0.f ? merceDaRic * qtaCnf : 0; + } + + public int checkQtaProposta() { + int check = 0; + if (!qtaProposta.equals(BigDecimal.ZERO)) { + check = BigDecimal.valueOf(qtaOrd).compareTo(qtaProposta); + } + return check; + } + + public int getBgTint() { + return bgTint; + } + + public ArticoloOrdine setBgTint(int bgTint) { + this.bgTint = bgTint; + return this; } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/implementations/ArticoliOrdineDataSource.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/implementations/ArticoliOrdineDataSource.java index a82c193e..cd1c3403 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/implementations/ArticoliOrdineDataSource.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/implementations/ArticoliOrdineDataSource.java @@ -1,5 +1,7 @@ package it.integry.integrywmsnative.core.data_store.db.repository.implementations; +import com.annimon.stream.Stream; + import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; @@ -11,6 +13,7 @@ import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloOrdineDao; import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine; import it.integry.integrywmsnative.core.data_store.db.entity.Ordine; import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository; +import it.integry.integrywmsnative.core.data_store.db.wrappers.ArticoloOrdineWrapper; import it.integry.integrywmsnative.core.expansion.RunnableArgs; public class ArticoliOrdineDataSource extends Repository implements ArticoliOrdineRepository { @@ -95,7 +98,15 @@ public class ArticoliOrdineDataSource extends Repository implements ArticoliOrdi public void findArticoliByOrdine(Ordine ordine, RunnableArgs> onLoad, RunnableArgs onError) { execute(() -> { try { - onLoad.run(mArticoloOrdineDao.findArticoliByOrdine(ordine.getOrdineId())); + List list = mArticoloOrdineDao.findArticoliByOrdine(ordine.getOrdineId()); + onLoad.run(Stream.of(list).map(x -> { + ArticoloOrdine art = x.getArticoloOrdine(); + art.setGgScadenza(x.getGgScadenza()); + art.setGiacenza(x.getGiacenza()); + art.setQtaProposta(x.getQtaProposta()); + art.setQtaPrevistaVendita(x.getQtaPrevistaVendita()); + return art; + }).toList()); } catch (Exception e) { onError.run(e); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/wrappers/ArticoloOrdineWrapper.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/wrappers/ArticoloOrdineWrapper.java new file mode 100644 index 00000000..b3060d16 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/wrappers/ArticoloOrdineWrapper.java @@ -0,0 +1,65 @@ +package it.integry.integrywmsnative.core.data_store.db.wrappers; + +import androidx.room.ColumnInfo; +import androidx.room.Embedded; + +import java.math.BigDecimal; + +import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine; + +public class ArticoloOrdineWrapper { + @Embedded + private ArticoloOrdine articoloOrdine; + + @ColumnInfo(name = "gg_scadenza") + private int ggScadenza = 0; + + @ColumnInfo(name = "giacenza") + private BigDecimal giacenza = BigDecimal.ZERO; + + @ColumnInfo(name = "qta_prevista_vendita") + private BigDecimal qtaPrevistaVendita = BigDecimal.ZERO; + + @ColumnInfo(name = "qta_proposta") + private BigDecimal qtaProposta = BigDecimal.ZERO; + + public ArticoloOrdine getArticoloOrdine() { + return articoloOrdine; + } + + public void setArticoloOrdine(ArticoloOrdine articoloOrdine) { + this.articoloOrdine = articoloOrdine; + } + + public int getGgScadenza() { + return ggScadenza; + } + + public void setGgScadenza(int ggScadenza) { + this.ggScadenza = ggScadenza; + } + + public BigDecimal getGiacenza() { + return giacenza; + } + + public void setGiacenza(BigDecimal giacenza) { + this.giacenza = giacenza; + } + + public BigDecimal getQtaPrevistaVendita() { + return qtaPrevistaVendita; + } + + public void setQtaPrevistaVendita(BigDecimal qtaPrevistaVendita) { + this.qtaPrevistaVendita = qtaPrevistaVendita; + } + + public BigDecimal getQtaProposta() { + return qtaProposta; + } + + public void setQtaProposta(BigDecimal qtaProposta) { + this.qtaProposta = qtaProposta; + } +} 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 8a5a9731..42bbb18e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java @@ -39,6 +39,7 @@ public class DBSettingsModel { private List notePerditaDocInterni = new ArrayList<>(); private boolean flagSpedizioneUseQtaOrd; private boolean flagOrdinaNuoviArticoliInGriglia; + private boolean flagOrdinaArticoliOnScan; private String docInterniCheckFornitore; private String produzioneDefaultCodAnag; private String reportNameSpedizionChiudiOrdine; @@ -333,4 +334,14 @@ public class DBSettingsModel { this.flagPickLiberoAllowEmptyDest = flagPickLiberoAllowEmptyDest; return this; } + + + public boolean getFlagOrdinaArticoliOnScan() { + return flagOrdinaArticoliOnScan; + } + + public DBSettingsModel setFlagOrdinaArticoliOnScan(boolean flagOrdinaArticoliOnScan) { + this.flagOrdinaArticoliOnScan = flagOrdinaArticoliOnScan; + 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 e01b7eda..72f14f15 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 @@ -92,7 +92,6 @@ public class SettingsManager { }; - onProgress.run("depositi"); loadAvailableCodMdeps(() -> { @@ -114,7 +113,7 @@ public class SettingsManager { SystemRESTConsumer.getAzienda(datiAzienda -> { SettingsManager.iDB().setDatiAzienda(datiAzienda); - if(!SettingsManager.iDB().isFlagUseCodAnagAziendale()) { + if (!SettingsManager.iDB().isFlagUseCodAnagAziendale()) { onComplete.run(); return; } @@ -127,7 +126,8 @@ public class SettingsManager { "LEFT OUTER JOIN vtb_clie vc on ga.cod_anag = vc.cod_anag AND vc.flag_stato = 'A'\n" + "LEFT OUTER JOIN atb_forn af on ga.cod_anag = af.cod_anag AND af.flag_stato = 'A'"; - Type type = new TypeToken>() {}.getType(); + Type type = new TypeToken>() { + }.getType(); SystemRESTConsumer.>processSqlStatic(internalCodAnagsQuery, type, internalCodAnagsList -> { SettingsManager.iDB().setInternalCodAnags(internalCodAnagsList); @@ -294,6 +294,10 @@ public class SettingsManager { .setGestName("PVM") .setSection("ORDINI_A") .setKeySection("ORDINA_NUOVI_ARTICOLI")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PVM") + .setSection("ORDINI_A") + .setKeySection("ORDINA_ARTICOLI_ON_SCAN")); stbGestSetupList.add(new StbGestSetup() .setGestName("PVM") .setSection("DOC_INTERNI") @@ -334,6 +338,7 @@ public class SettingsManager { dbSettingsModelIstance.setDocInterniCheckFornitore(getValueFromList(list, "DOC_INTERNI", "CHECK_FORNITORE", String.class)); 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)); String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class); if (notePerdita != 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 83b928fa..589f86a1 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 @@ -160,7 +160,12 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi articoloOrdine.getDescrizione(), articoloOrdine.getQtaOrd() + " " + articoloOrdine.getUntMis(), () -> { - this.onItemDispatched(articoloOrdine); + this.mViewModel.checkArticolo(mOrdine, articoloOrdine.getCodMart(), + artOrd -> { + this.onItemDispatched(artOrd); + BarcodeManager.enable(); + }, + this::onError); BarcodeManager.enable(); }, () -> { @@ -185,9 +190,7 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi mBinding.closeActivityFab.close(false); this.onLoadingStarted(); - this.mViewModel.processBarcodeDTO(data, () -> { - this.onLoadingEnded(); - }); + this.mViewModel.processBarcodeDTO(data, this::onLoadingEnded); }; @@ -208,6 +211,11 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi }).show(this.getSupportFragmentManager(), "tag"); } + @Override + public int getColorFromResource(int resId) { + return getResources().getColor(resId); + } + public void exportOrdine() { this.mViewModel.exportOrdine(() -> { @@ -233,11 +241,13 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi BarcodeManager.disable(); DialogSimpleInputHelper.makeInputDialog(this, "Inserisci il codice a barre/codice articolo da cercare", codice -> { this.onLoadingStarted(); - this.mViewModel.loadArticolo(codice, - () -> { + this.mViewModel.checkArticolo(mOrdine, codice, + articoloOrdine -> { + this.onItemDispatched(articoloOrdine); this.onLoadingEnded(); BarcodeManager.enable(); - } + }, + this::onError ); }, BarcodeManager::enable).show(); } 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 29cce26b..e6da19e0 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 @@ -12,6 +12,7 @@ import java.util.Objects; import javax.inject.Inject; import it.integry.barcode_base_android_library.model.BarcodeScanDTO; +import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia; import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine; import it.integry.integrywmsnative.core.data_store.db.entity.Griglia; @@ -23,6 +24,7 @@ import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepositor import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; import it.integry.integrywmsnative.core.rest.consumers.PVOrdiniAcquistoRESTConsumer; +import it.integry.integrywmsnative.core.settings.SettingsManager; public class PVOrdineAcquistoEditViewModel { @@ -70,15 +72,29 @@ public class PVOrdineAcquistoEditViewModel { this.loadGriglia(ordine.getIdGriglia(), griglia -> { mCurrentGriglia.postValue(griglia); - this.loadArticoli(mCurrentOrdine, articoli -> { + articoli = Stream.of(articoli).map(this::setBgTint).toList(); this.mArticoli.postValue(articoli); this.sendOnLoadingEnded(); - }); }); } + private ArticoloOrdine setBgTint(ArticoloOrdine art) { + int chk = art.checkQtaProposta(); + switch (chk) { + case -1: + art.setBgTint(this.mListener.getColorFromResource(R.color.red_600)); + break; + case 1: + art.setBgTint(this.mListener.getColorFromResource(R.color.orange_600)); + break; + default: + art.setBgTint(this.mListener.getColorFromResource(R.color.colorPrimary)); + } + return art; + } + public MutableLiveData getCurrentGriglia() { return mCurrentGriglia; } @@ -88,6 +104,7 @@ public class PVOrdineAcquistoEditViewModel { } public void saveArticolo(ArticoloOrdine articolo) { + setBgTint(articolo); var newList = this.mArticoli.getValue(); var alreadySavedItem = Stream.of(newList) @@ -101,29 +118,6 @@ public class PVOrdineAcquistoEditViewModel { } - public void loadArticolo(String barcode, Runnable onSuccess) { - try { - mArticoliOrdineRepository.findArticoloByScanAndOrdine(mCurrentOrdine, barcode, (articolo) -> { - if (articolo != null) { - onSuccess.run(); - this.sendOnItemDispatched(articolo); - } else { - mArticoloGrigliaRepository.findArticoloByScanAndGriglia(barcode, mCurrentOrdine.getIdGriglia(), artGrid -> { - if (artGrid != null) { - onSuccess.run(); - this.sendOnItemDispatched(artGrid.convertToArticoloOrdine(mCurrentOrdine)); - } else { - this.sendError(new Exception("L' articolo ( " + barcode + " ) non è presente nella griglia")); - } - }, this::sendError); - } - }, this::sendError); - - } catch (Exception e) { - this.sendError(e); - } - } - public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) { this.checkArticolo( mCurrentOrdine, @@ -153,15 +147,12 @@ public class PVOrdineAcquistoEditViewModel { } } - private void checkArticolo(Ordine ordine, String barcode, RunnableArgs onSuccess, RunnableArgs onFail) { + public void checkArticolo(Ordine ordine, String barcode, RunnableArgs onSuccess, RunnableArgs onFail) { try { mArticoloGrigliaRepository.findArticoloByScanAndGriglia(barcode, ordine.getIdGriglia(), artGrid -> { if (artGrid != null) { - - mArticoliOrdineRepository.findArticoloByScanAndOrdine(ordine, barcode, (articolo) -> { if (articolo != null) { - articolo .setQtaPrevistaVendita(BigDecimal.valueOf(artGrid.getQtaPrevistaVendita())) .setQtaProposta(BigDecimal.valueOf(artGrid.getQtaProposta())) @@ -175,7 +166,17 @@ public class PVOrdineAcquistoEditViewModel { onSuccess.run(articolo); } else { - onSuccess.run(artGrid.convertToArticoloOrdine(ordine)); + ArticoloOrdine art = artGrid.convertToArticoloOrdine(ordine); + if (isAutoOrderOnScan()) { + art.setQtaOrd(art.getQtaCnf()); + mArticoliOrdineRepository.saveArticoloToOrdine(art, () -> { + saveArticolo(art); + this.sendOnLoadingEnded(); + + }, this::sendError); + } else { + onSuccess.run(art); + } } }, onFail); @@ -190,6 +191,10 @@ public class PVOrdineAcquistoEditViewModel { } } + private boolean isAutoOrderOnScan() { + return SettingsManager.iDB().getFlagOrdinaNuoviArticoliInGriglia(); + } + private void getNewArticoli(int idGrigla, RunnableArgs> onSuccess, RunnableArgs onError) { mArticoloGrigliaRepository.findNewArticoliInGrigla(idGrigla, onSuccess, onError); } @@ -269,6 +274,8 @@ public class PVOrdineAcquistoEditViewModel { public interface Listener extends ILoadingListener { void onItemDispatched(ArticoloOrdine articoloOrdine); + int getColorFromResource(int resId); + void onError(Exception ex); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/DialogEditArticoloViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/DialogEditArticoloViewModel.java index ce11e3ca..0a2188c2 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/DialogEditArticoloViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/DialogEditArticoloViewModel.java @@ -66,7 +66,7 @@ public class DialogEditArticoloViewModel { public void setQtaTot(BigDecimal newValue) { this.internalQtaTot = newValue; - + if (newValue == null) return; this.internalNumCnf = UtilityBigDecimal.divide(newValue, internalQtaCnf) .setScale(0, RoundingMode.CEILING); @@ -104,7 +104,7 @@ public class DialogEditArticoloViewModel { public void save(RunnableArgs onComplete) { - if(UtilityBigDecimal.equalsOrLowerThan(this.internalQtaTot, BigDecimal.ZERO)) { + if (UtilityBigDecimal.equalsOrLowerThan(this.internalQtaTot, BigDecimal.ZERO)) { this.mListener.onError(new Exception("La quantità ordinata deve essere maggiore di 0")); return; } diff --git a/app/src/main/res/layout/dialog_pv_edit_articolo.xml b/app/src/main/res/layout/dialog_pv_edit_articolo.xml index 03ae4922..a06e93be 100644 --- a/app/src/main/res/layout/dialog_pv_edit_articolo.xml +++ b/app/src/main/res/layout/dialog_pv_edit_articolo.xml @@ -250,7 +250,7 @@ style="@style/AppTheme.NewMaterial.Text.Medium" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="@{UtilityNumber.decimalToString(view.articolo.getCnfDaRic())}" + android:text="@{UtilityNumber.decimalToString(view.articolo.merceDaRic)}" android:textColor="@android:color/black" android:textStyle="bold" tools:text="1" /> @@ -281,7 +281,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="0dp" - android:text="@{UtilityNumber.decimalToString(view.articolo.merceDaRic)}" + android:text="@{UtilityNumber.decimalToString(view.articolo.getCnfDaRic())}" android:textColor="@android:color/black" android:textStyle="bold" /> diff --git a/app/src/main/res/layout/fragment_pv_articoli_ordine_acquisto__list_single_item.xml b/app/src/main/res/layout/fragment_pv_articoli_ordine_acquisto__list_single_item.xml index 055c1bcd..585543d8 100644 --- a/app/src/main/res/layout/fragment_pv_articoli_ordine_acquisto__list_single_item.xml +++ b/app/src/main/res/layout/fragment_pv_articoli_ordine_acquisto__list_single_item.xml @@ -94,7 +94,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/badge_round_corner" - android:backgroundTint="@color/colorPrimary" + android:backgroundTint="@{articolo.bgTint}" android:gravity="center" android:paddingLeft="6dp" android:paddingTop="2dp" @@ -104,6 +104,7 @@ android:textColor="@android:color/white" android:textSize="16sp" android:textStyle="bold" + tools:backgroundTint="@color/colorPrimary" tools:text="280.45\nCONF" /> From e7e20da20649c2b1e0742dd07b4c1894b1d1cee0 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Tue, 22 Mar 2022 10:12:10 +0100 Subject: [PATCH 2/2] -> v1.24.2 (270) --- app/build.gradle | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 98c748d9..09b77989 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 269 - def appVersionName = '1.24.1' + def appVersionCode = 270 + def appVersionName = '1.24.2' signingConfigs { release { @@ -85,7 +85,6 @@ android { dynamicFeatures = [":dynamic__base", ":dynamic_vgalimenti"] - } dependencies {