diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
deleted file mode 100644
index f933bcae..00000000
--- a/.idea/deploymentTargetDropDown.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 92aeffef..acb7b45c 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 = 303
+ def appVersionName = '1.28.9'
signingConfigs {
release {
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/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/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/core/rest/consumers/ArticoloRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ArticoloRESTConsumer.java
index deadedff..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
@@ -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 = 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/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/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..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
@@ -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,25 @@ 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_PRINT_ETICHETTE_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 +353,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 +380,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_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();
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..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
@@ -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,12 +44,15 @@ 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;
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.
@@ -76,12 +80,15 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements
private BluetoothManager bluetoothManager;
private BluetoothSerialDevice mConnectedBluetoothDevice;
+ private String mLatestCodTcol;
public ObservableField sumLUNumber = new ObservableField<>(BigDecimal.ZERO);
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 +120,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();
@@ -178,6 +187,7 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements
@Override
public void onDetach() {
+ mLatestCodTcol = null;
if (mConnectedBluetoothDevice != null)
bluetoothManager.close();
@@ -191,9 +201,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) {
@@ -203,15 +213,31 @@ 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());
sumNetKG.set(sumNet.get());
} else {
sumLUNumber.set(BigDecimal.ZERO);
@@ -224,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");
}
@@ -232,7 +270,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 * " +
@@ -241,9 +284,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) " +
@@ -254,15 +297,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);
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/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..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;
@@ -70,7 +71,7 @@ public class ProdRientroMerceOrderListFragment extends Fragment {
mBindings.setLifecycleOwner(this);
- if(savedInstanceState == null) this.initRecyclerView();
+ if (savedInstanceState == null) this.initRecyclerView();
return mBindings.getRoot();
}
@@ -84,7 +85,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 +95,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();
});
}
@@ -115,11 +117,13 @@ 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));
- if(dataList == null) return new ArrayList<>();
+ if (dataList == null) return new ArrayList<>();
List notHiddenElements = Stream.of(dataList)
.sorted(comparator)
@@ -139,10 +143,14 @@ public class ProdRientroMerceOrderListFragment extends Fragment {
break;
}
- listModel.setGroupTitle(x.getCodJfas());
+ listModel.setGroupTitle(x.getRagSocAnag());
- 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 +159,27 @@ public class ProdRientroMerceOrderListFragment extends Fragment {
listModel.setRightDescription(x.getCodJcom() != null ? (x.getDescCommessa() + " (" + x.getCodJcom() + ")") : "");
- try {
+ listModel.setProgress(x.getProgress());
+ 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) {
- }
+ }*/
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/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);
}
}
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..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
@@ -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;
@@ -176,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);
@@ -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..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
@@ -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 (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());
+ }
+ }
+
});
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..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
@@ -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());
}
}
}
@@ -406,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/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-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 @@
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ android:tint="@android:color/white" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_prod_rientro_merce_order_detail.xml b/app/src/main/res/layout/fragment_prod_rientro_merce_order_detail.xml
index e70038f2..aa051083 100644
--- a/app/src/main/res/layout/fragment_prod_rientro_merce_order_detail.xml
+++ b/app/src/main/res/layout/fragment_prod_rientro_merce_order_detail.xml
@@ -9,6 +9,7 @@
+
@@ -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..e2de01df 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 @@
-
+
@@ -41,27 +41,13 @@
android:layout_toEndOf="@id/ordine_state_icon"
android:orientation="vertical">
-
-
-
-
-
-
+ tools:text="Cons 07 nov 2018" />
-
-
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ tools:text="CLIENTE (COMMESSA)" />
-
+
+
+
+
+
-
-
diff --git a/app/src/main/res/layout/fragment_prod_rientro_merce_order_list__list_model.xml b/app/src/main/res/layout/fragment_prod_rientro_merce_order_list__list_model.xml
index f219f78b..42814cf1 100644
--- a/app/src/main/res/layout/fragment_prod_rientro_merce_order_list__list_model.xml
+++ b/app/src/main/res/layout/fragment_prod_rientro_merce_order_list__list_model.xml
@@ -1,8 +1,7 @@
-
+ android:textStyle="bold"
+ tools:text="NOME GRUPPO" />
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