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/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 {
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/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/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 619ec067..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
@@ -48,6 +48,8 @@ public class DBSettingsModel {
private int onQtaTotInputChanged = 1;
private boolean flagAccettazioneUseQtaOrd = false;
private boolean flagPickLiberoAllowEmptyDest = false;
+ private boolean flagAskInfoAggiuntiveSpedizione = false;
+ private String filterFornitoreProd;
public boolean isFlagSpedizioneEnableFakeGiacenza() {
return flagSpedizioneEnableFakeGiacenza;
@@ -364,4 +366,22 @@ public class DBSettingsModel {
this.flagOrdinaArticoliOnScan = flagOrdinaArticoliOnScan;
return this;
}
+
+ public boolean isFlagAskInfoAggiuntiveSpedizione() {
+ return flagAskInfoAggiuntiveSpedizione;
+ }
+
+ public DBSettingsModel setFlagAskInfoAggiuntiveSpedizione(boolean flagAskInfoAggiuntiveSpedizione) {
+ 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 34423a2b..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")
@@ -306,9 +310,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 +349,24 @@ 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));
+ dbSettingsModelIstance.setFilterFornitoreProd(getValueFromList(list, "PRODUZIONE", "FILTER_FORNTIORE_PROD", String.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 +376,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/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/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/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/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());
+ }
+ }
}
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/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());
}
}
}
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" />
+
+
+