Implementata gestione degli imballi in accettazione

This commit is contained in:
Giuseppe Scorrano 2024-04-19 17:32:32 +02:00
parent 53fe1db488
commit 925cb6ae07
106 changed files with 1551 additions and 922 deletions

View File

@ -33,31 +33,25 @@
android:requestLegacyExternalStorage="true">
<activity
android:name=".gest.spedizione.SpedizioneActivity"
android:theme="@style/Light"
android:windowSoftInputMode="adjustNothing"
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity"
android:theme="@style/Light"
android:windowSoftInputMode="adjustNothing"
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.prod_dettaglio_linea.ProdDettaglioLineaActivity"
android:theme="@style/Light"
android:windowSoftInputMode="adjustNothing"
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.contab_doc_interni.edit_form.DocInterniEditFormActivity"
android:theme="@style/Light"
android:windowSoftInputMode="adjustNothing"
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.picking_resi.PickingResiActivity"
android:theme="@style/Light"
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.main.MainActivity"
android:theme="@style/Light"
android:windowSoftInputMode="adjustNothing"
android:exported="true">
<intent-filter>
@ -68,28 +62,23 @@
</activity>
<activity
android:name=".gest.login.LoginActivity"
android:theme="@style/Light"
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.accettazione_ordini_picking.AccettazioneOrdiniPickingActivity"
android:theme="@style/Light"
android:windowSoftInputMode="adjustNothing"
android:windowSoftInputMode="adjustPan"
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.lista_bancali.ListaBancaliActivity"
android:label="@string/activity_lista_bancali_title"
android:theme="@style/Light"
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.contenuto_bancale.ContenutoBancaleActivity"
android:label="@string/activity_contenuto_bancale_title"
android:theme="@style/Light"
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.inventario.picking.PickingInventarioActivity"
android:label="@string/activity_picking_inventario_title"
android:windowSoftInputMode="adjustNothing"
android:theme="@style/Light"
android:configChanges="orientation|screenSize|keyboardHidden"/>
<meta-data
@ -110,8 +99,7 @@
<activity
android:name=".gest.accettazione_bolla_picking.AccettazioneBollaPickingActivity"
android:screenOrientation="portrait"
android:theme="@style/Light" />
android:screenOrientation="portrait" />
<provider
android:name=".core.update.GenericFileProvider"

View File

@ -19,6 +19,8 @@ import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazi
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoModule;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingComponent;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingModule;
import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaComponent;
import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaModule;
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniComponent;
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniModule;
import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectDocInfoComponent;
@ -29,8 +31,6 @@ import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.sele
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsModule;
import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleComponent;
import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleModule;
import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaComponent;
import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaModule;
import it.integry.integrywmsnative.gest.inventario.ElencoInventariComponent;
import it.integry.integrywmsnative.gest.inventario.ElencoInventariModule;
import it.integry.integrywmsnative.gest.inventario.bottom_sheet__inventario_actions.BottomSheetInventarioActionsComponent;
@ -138,6 +138,8 @@ 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;
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUModule;
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiComponent;
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiModule;
// Definition of the Application graph
@Singleton
@ -209,7 +211,8 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr
DialogAskLineaProdModule.class,
ProdRiposizionamentoDaProdModule.class,
DialogInfoGiacenzaModule.class,
ArticoliInGiacenzaModule.class
ArticoliInGiacenzaModule.class,
DialogTracciamentoImballiModule.class
})
public interface MainApplicationComponent {
@ -351,6 +354,8 @@ public interface MainApplicationComponent {
ArticoliInGiacenzaComponent.Factory controlloGiacenzeComponent();
DialogTracciamentoImballiComponent.Factory dialogTracciamentoImballiComponent();
void inject(MainApplication mainApplication);
void inject(AppContext mainApplication);

View File

@ -32,6 +32,7 @@ import it.integry.integrywmsnative.core.rest.consumers.DocumentRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.EntityRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.GiacenzaRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoBufferRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
@ -172,8 +173,8 @@ public class MainApplicationModule {
@Provides
@Singleton
MagazzinoRESTConsumer provideMagazzinoRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
return new MagazzinoRESTConsumer(systemRESTConsumer);
MagazzinoRESTConsumer provideMagazzinoRESTConsumer(ExecutorService executorService, SystemRESTConsumer systemRESTConsumer) {
return new MagazzinoRESTConsumer(executorService, systemRESTConsumer);
}
@Provides
@ -247,8 +248,14 @@ public class MainApplicationModule {
@Provides
@Singleton
GiacenzaRESTConsumer provideGiacenzaRESTConsumer(SystemRESTConsumer systemRESTConsumer, ArticoloRESTConsumer articoloRESTConsumer) {
return new GiacenzaRESTConsumer(systemRESTConsumer, articoloRESTConsumer);
GiacenzaRESTConsumer provideGiacenzaRESTConsumer(ArticoloRESTConsumer articoloRESTConsumer) {
return new GiacenzaRESTConsumer(articoloRESTConsumer);
}
@Provides
@Singleton
ImballiRESTConsumer provideImballiRESTConsumer(ExecutorService executorService) {
return new ImballiRESTConsumer(executorService);
}
@Provides

View File

@ -211,16 +211,19 @@ public class Converters {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
BigDecimal value = null;
if (!UtilityString.isNullOrEmpty(s.toString()))
value = new BigDecimal(s.toString());
observableBigDecimal.set(value);
}
};
view.setTag(R.id.bound_observable, new Pair<>(observableBigDecimal, watcher));
view.addTextChangedListener(watcher);
}
BigDecimal newValue = observableBigDecimal.get();
BigDecimal viewValue = view.getText().toString().trim().length() > 0 ? new BigDecimal(view.getText().toString()) : null;
BigDecimal viewValue = !view.getText().toString().trim().isEmpty() ? new BigDecimal(view.getText().toString()) : null;
if (!UtilityBigDecimal.equalsTo(viewValue, newValue)) {
view.setText(UtilityNumber.decimalToString(newValue));

View File

@ -5,6 +5,7 @@ import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.WindowManager;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@ -19,7 +20,7 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.view.dialogs.DialogProgressView;
public class BaseDialogFragment extends DialogFragment implements DialogInterface.OnShowListener {
public abstract class BaseDialogFragment extends DialogFragment implements DialogInterface.OnShowListener {
@Inject
public DialogProgressView mCurrentProgress;
@ -111,7 +112,15 @@ public class BaseDialogFragment extends DialogFragment implements DialogInterfac
@Override
public void onShow(DialogInterface dialogInterface) {
getDialog().getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
getDialog().getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
this.initialize();
this.onInit(dialogInterface);
}
public void onInit(DialogInterface dialogInterface) {
}
private void initialize() {

View File

@ -1,5 +1,7 @@
package it.integry.integrywmsnative.core.model;
import com.google.gson.annotations.SerializedName;
import java.math.BigDecimal;
public class MtbTCol {
@ -13,7 +15,7 @@ public class MtbTCol {
private BigDecimal taraKg;
private String descrizione;
private String codMart;
private String flagUIUL;
private FlagUiUlEnum flagUIUL;
private String circuito;
public String getCodTcol() {
@ -88,13 +90,12 @@ public class MtbTCol {
return this;
}
public String getFlagUIUL() {
public FlagUiUlEnum getFlagUIUL() {
return flagUIUL;
}
public MtbTCol setFlagUIUL(String flagUIUL) {
public void setFlagUIUL(FlagUiUlEnum flagUIUL) {
this.flagUIUL = flagUIUL;
return this;
}
public String getCircuito() {
@ -107,4 +108,29 @@ public class MtbTCol {
}
public enum FlagUiUlEnum {
@SerializedName("UI")
UI("UI"),
@SerializedName("UL")
UL("UL");
private final String text;
FlagUiUlEnum(String text) {
this.text = text;
}
public String getText() {
return this.text;
}
public static FlagUiUlEnum fromString(String text) {
for (FlagUiUlEnum b : FlagUiUlEnum.values()) {
if (b.text.equalsIgnoreCase(text)) return b;
}
return null;
}
}
}

View File

@ -61,7 +61,11 @@ public class RESTBuilder {
Gson gson = UtilityGson.createObject();
Retrofit retrofit = new Retrofit.Builder().addConverterFactory(GsonConverterFactory.create(gson)).baseUrl(endpoint).client(client).build();
Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create(gson))
.baseUrl(endpoint)
.client(client)
.build();
return retrofit.create(service);
}

View File

@ -25,11 +25,9 @@ import retrofit2.Response;
@Singleton
public class GiacenzaRESTConsumer extends _BaseRESTConsumer {
private final SystemRESTConsumer mSystemRESTConsumer;
private final ArticoloRESTConsumer mArticoloRESTConsumer;
public GiacenzaRESTConsumer(SystemRESTConsumer systemRESTConsumer, ArticoloRESTConsumer articoloRESTConsumer) {
this.mSystemRESTConsumer = systemRESTConsumer;
public GiacenzaRESTConsumer(ArticoloRESTConsumer articoloRESTConsumer) {
this.mArticoloRESTConsumer = articoloRESTConsumer;
}

View File

@ -0,0 +1,67 @@
package it.integry.integrywmsnative.core.rest.consumers;
import java.util.List;
import java.util.concurrent.ExecutorService;
import javax.inject.Singleton;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.model.imballi.ImballoQuantityDTO;
import it.integry.integrywmsnative.core.rest.model.imballi.RegistraCaricoImballiRequestDTO;
import retrofit2.Response;
@Singleton
public class ImballiRESTConsumer extends _BaseRESTConsumer {
private final ExecutorService executorService;
public ImballiRESTConsumer(ExecutorService executorService) {
this.executorService = executorService;
}
public List<MtbTCol> retrieveTipiColloSyncronized(MtbTCol.FlagUiUlEnum tipoImballo) throws Exception {
ImballiRESTConsumerService service = RESTBuilder.getService(ImballiRESTConsumerService.class);
Response<ServiceRESTResponse<List<MtbTCol>>> response = service.retrieveTipiCollo(tipoImballo)
.execute();
return analyzeAnswer(response, "retrieveTipiCollo");
}
public void retrieveTipiCollo(MtbTCol.FlagUiUlEnum tipoImballo, RunnableArgs<List<MtbTCol>> onComplete, RunnableArgs<Exception> onFailed) {
executorService.execute(() -> {
try {
var response = retrieveTipiColloSyncronized(tipoImballo);
if (onComplete != null) onComplete.run(response);
} catch (Exception ex) {
if (onFailed != null) onFailed.run(ex);
}
});
}
public void registraCaricoSyncronized(List<ImballoQuantityDTO> imballi) throws Exception {
ImballiRESTConsumerService service = RESTBuilder.getService(ImballiRESTConsumerService.class);
Response<ServiceRESTResponse<Void>> response = service.registraCarico(
new RegistraCaricoImballiRequestDTO()
.setUsedImballi(imballi))
.execute();
analyzeAnswer(response, "registraCarico");
}
public void registraCarico(List<ImballoQuantityDTO> imballi, Runnable onComplete, RunnableArgs<Exception> onFailed) {
executorService.execute(() -> {
try {
registraCaricoSyncronized(imballi);
if (onComplete != null) onComplete.run();
} catch (Exception ex) {
if (onFailed != null) onFailed.run(ex);
}
});
}
}

View File

@ -0,0 +1,23 @@
package it.integry.integrywmsnative.core.rest.consumers;
import java.util.List;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.model.imballi.RegistraCaricoImballiRequestDTO;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;
public interface ImballiRESTConsumerService {
@GET("wms/imballi/retrieve/{tipo}")
Call<ServiceRESTResponse<List<MtbTCol>>> retrieveTipiCollo(@Path("tipo") MtbTCol.FlagUiUlEnum tipo);
@POST("wms/imballi/registraCarico")
Call<ServiceRESTResponse<Void>> registraCarico(@Body RegistraCaricoImballiRequestDTO registraCaricoImballiRequest);
}

View File

@ -1,19 +1,11 @@
package it.integry.integrywmsnative.core.rest.consumers;
import androidx.annotation.NonNull;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import javax.inject.Singleton;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.DtbOrdt;
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO;
@ -24,56 +16,14 @@ import retrofit2.Response;
@Singleton
public class MagazzinoRESTConsumer extends _BaseRESTConsumer {
private final ExecutorService executorService;
private final SystemRESTConsumer mSystemRESTConsumer;
public MagazzinoRESTConsumer(SystemRESTConsumer mSystemRESTConsumer) {
public MagazzinoRESTConsumer(ExecutorService executorService, SystemRESTConsumer mSystemRESTConsumer) {
this.executorService = executorService;
this.mSystemRESTConsumer = mSystemRESTConsumer;
}
public void getTipiCollo(RunnableArgs<List<MtbTCol>> onComplete, RunnableArgs<Exception> onFailed) {
String baseSql = "SELECT * " +
"FROM mtb_tcol ";
Type typeOfObjectsList = new TypeToken<ArrayList<MtbTCol>>() {
}.getType();
mSystemRESTConsumer.<ArrayList<MtbTCol>>processSql(baseSql, typeOfObjectsList, values -> {
if (onComplete != null) {
onComplete.run(values);
}
}, ex -> {
if (onFailed != null) onFailed.run(ex);
});
}
public void saveOrdine(SaveDTO saveDTO, RunnableArgs<DtbOrdt> onComplete, RunnableArgs<Exception> onFailed) {
MagazzinoRESTConsumerService service = RESTBuilder.getService(MagazzinoRESTConsumerService.class, 240);
service.saveOrdine(saveDTO)
.enqueue(new Callback<>() {
@Override
public void onResponse(Call<List<ServiceRESTResponse<DtbOrdt>>> call, Response<List<ServiceRESTResponse<DtbOrdt>>> response) {
if (response.body() != null && response.body().size() > 0) {
analyzeListOfAnswers(response, "saveOrdine", dtoList -> {
if (dtoList.size() > 0) {
onComplete.run(dtoList.get(0));
} else {
onFailed.run(new Exception("Nessun ordine generato"));
}
}, onFailed);
} else {
onFailed.run(new Exception("Nessun ordine generato"));
}
}
@Override
public void onFailure(Call<List<ServiceRESTResponse<DtbOrdt>>> call, Throwable t) {
onFailed.run(new Exception(t));
}
});
}
public void saveTerminalinoWMS(SaveDTO saveDTO, Runnable onComplete, RunnableArgs<Exception> onFailed) {
MagazzinoRESTConsumerService service = RESTBuilder.getService(MagazzinoRESTConsumerService.class);
service.saveTerminalinoWMS(saveDTO)
@ -90,7 +40,8 @@ public class MagazzinoRESTConsumer extends _BaseRESTConsumer {
});
}
public MtbPartitaMag retrievePartitaMagSyncronized(String partitaMag, String codMart, RunnableArgs<Exception> onFailed) throws Exception {
public MtbPartitaMag retrievePartitaMagSyncronized(String partitaMag, String codMart) throws Exception {
MagazzinoRESTConsumerService service = RESTBuilder.getService(MagazzinoRESTConsumerService.class);
Response<ServiceRESTResponse<MtbPartitaMag>> response = service.retrievePartitaMag(codMart, partitaMag)
.execute();
@ -99,18 +50,13 @@ public class MagazzinoRESTConsumer extends _BaseRESTConsumer {
}
public void retrievePartitaMag(String partitaMag, String codMart, RunnableArgs<MtbPartitaMag> onComplete, RunnableArgs<Exception> onFailed) {
MagazzinoRESTConsumerService service = RESTBuilder.getService(MagazzinoRESTConsumerService.class);
service.retrievePartitaMag(codMart, partitaMag)
.enqueue(new Callback<>() {
@Override
public void onResponse(@NonNull Call<ServiceRESTResponse<MtbPartitaMag>> call, @NonNull Response<ServiceRESTResponse<MtbPartitaMag>> response) {
analyzeAnswer(response, "retrievePartitaMag", onComplete, onFailed);
}
@Override
public void onFailure(@NonNull Call<ServiceRESTResponse<MtbPartitaMag>> call, @NonNull Throwable t) {
onFailed.run(new Exception(t));
}
});
executorService.execute(() -> {
try {
var response = retrievePartitaMagSyncronized(partitaMag, codMart);
if (onComplete != null) onComplete.run(response);
} catch (Exception ex) {
if (onFailed != null) onFailed.run(ex);
}
});
}
}

View File

@ -2,14 +2,15 @@ package it.integry.integrywmsnative.core.rest.consumers;
import java.util.List;
import it.integry.integrywmsnative.core.model.DtbOrdt;
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.Query;
public interface MagazzinoRESTConsumerService {
@ -17,11 +18,10 @@ public interface MagazzinoRESTConsumerService {
@POST("SM2SaveTerminalinoWMS")
Call<ServiceRESTResponse<Void>> saveTerminalinoWMS(@Body SaveDTO saveDTO);
@POST("SM2SaveTerminalino")
Call<List<ServiceRESTResponse<DtbOrdt>>> saveOrdine(@Body SaveDTO saveDTO);
@GET("wms/partita-magazzino/retrievePartitaMag")
Call<ServiceRESTResponse<MtbPartitaMag>> retrievePartitaMag(@Query("codMart") String codMart,
@Query("partitaMag") String partitaMag);
}

View File

@ -0,0 +1,23 @@
package it.integry.integrywmsnative.core.rest.deserializer;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
import java.lang.reflect.Type;
import it.integry.integrywmsnative.core.model.MtbTCol;
public class MtbTcolFlagUiUlDeserializer implements JsonDeserializer<MtbTCol.FlagUiUlEnum> {
@Override
public MtbTCol.FlagUiUlEnum deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
if (json.isJsonNull()) {
return null;
}
String text = json.getAsString();
return MtbTCol.FlagUiUlEnum.fromString(text);
}
}

View File

@ -0,0 +1,25 @@
package it.integry.integrywmsnative.core.rest.model.imballi;
public class ImballoQuantityDTO {
private String codMart;
private Integer qta;
public String getCodMart() {
return codMart;
}
public ImballoQuantityDTO setCodMart(String codMart) {
this.codMart = codMart;
return this;
}
public Integer getQta() {
return qta;
}
public ImballoQuantityDTO setQta(Integer qta) {
this.qta = qta;
return this;
}
}

View File

@ -0,0 +1,17 @@
package it.integry.integrywmsnative.core.rest.model.imballi;
import java.util.List;
public class RegistraCaricoImballiRequestDTO {
private List<ImballoQuantityDTO> usedImballi;
public List<ImballoQuantityDTO> getUsedImballi() {
return usedImballi;
}
public RegistraCaricoImballiRequestDTO setUsedImballi(List<ImballoQuantityDTO> usedImballi) {
this.usedImballi = usedImballi;
return this;
}
}

View File

@ -0,0 +1,17 @@
package it.integry.integrywmsnative.core.rest.serializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
import java.lang.reflect.Type;
import it.integry.integrywmsnative.core.model.MtbTCol;
public class MtbTcolFlagUiUlSerializer implements JsonSerializer<MtbTCol.FlagUiUlEnum> {
@Override
public JsonElement serialize(MtbTCol.FlagUiUlEnum src, Type typeOfSrc, JsonSerializationContext context) {
return new JsonPrimitive(src.getText());
}
}

View File

@ -7,12 +7,15 @@ import java.lang.reflect.Modifier;
import java.time.LocalDate;
import java.time.LocalDateTime;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.secondary.StatoPartitaMag;
import it.integry.integrywmsnative.core.rest.deserializer.LocalDateDeserializer;
import it.integry.integrywmsnative.core.rest.deserializer.LocalDateTimeDeserializer;
import it.integry.integrywmsnative.core.rest.deserializer.MtbTcolFlagUiUlDeserializer;
import it.integry.integrywmsnative.core.rest.deserializer.StatoPartitaMagDeserializer;
import it.integry.integrywmsnative.core.rest.serializer.LocalDateSerializer;
import it.integry.integrywmsnative.core.rest.serializer.LocalDateTimeSerializer;
import it.integry.integrywmsnative.core.rest.serializer.MtbTcolFlagUiUlSerializer;
import it.integry.integrywmsnative.core.rest.serializer.StatoPartitaMagSerializer;
public class UtilityGson {
@ -27,6 +30,8 @@ public class UtilityGson {
.registerTypeAdapter(LocalDateTime.class, new LocalDateTimeSerializer())
.registerTypeAdapter(StatoPartitaMag.class, new StatoPartitaMagDeserializer())
.registerTypeAdapter(StatoPartitaMag.class, new StatoPartitaMagSerializer())
.registerTypeAdapter(MtbTCol.FlagUiUlEnum.class, new MtbTcolFlagUiUlDeserializer())
.registerTypeAdapter(MtbTCol.FlagUiUlEnum.class, new MtbTcolFlagUiUlSerializer())
.create();
}

View File

@ -78,6 +78,7 @@ import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.DialogInfoAggiuntiveLUView;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiView;
import it.integry.integrywmsnative.view.dialogs.versamento_automatico_ul_done.DialogVersamentoAutomaticoULDoneView;
public class AccettazioneOrdiniPickingActivity extends BaseActivity implements AccettazioneOrdiniPickingViewModel.Listener, BottomSheetFragmentLUContentViewModel.Listener, BottomSheetFragmentLUContentView.Listener {
@ -127,10 +128,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
mBindings.setLifecycleOwner(this);
mBindings.setView(this);
MainApplication.appComponent
.accettazionePickingComponent()
.create()
.inject(this);
MainApplication.appComponent.accettazionePickingComponent().create().inject(this);
setSupportActionBar(mBindings.toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
@ -151,17 +149,11 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
boolean useQtaOrd = SettingsManager.iDB().isFlagAccettazioneUseQtaOrd();
mViewModel.setListeners(this);
mViewModel.init(
mOrders,
mSitArts,
useQtaOrd);
mViewModel.init(mOrders, mSitArts, useQtaOrd);
}
private void initFab() {
fabPopupMenu = new PopupMenu(this, this.mBindings.accettazioneOrdineInevasoFab,
(Gravity.END | Gravity.BOTTOM),
androidx.appcompat.R.attr.popupMenuStyle,
com.google.android.material.R.style.Widget_Material3_PopupMenu_ContextMenu);
fabPopupMenu = new PopupMenu(this, this.mBindings.accettazioneOrdineInevasoFab, (Gravity.END | Gravity.BOTTOM), androidx.appcompat.R.attr.popupMenuStyle, com.google.android.material.R.style.Widget_Material3_PopupMenu_ContextMenu);
fabPopupMenu.setForceShowIcon(true);
fabPopupMenu.getMenuInflater().inflate(R.menu.accettazione_ordine_inevaso_fab_menu, fabPopupMenu.getMenu());
@ -171,8 +163,13 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
if (itemId == R.id.show_created_ul) {
showCreatedUL();
return true;
} else if (itemId == R.id.track_packaging) {
trackPackaging();
return true;
} else if (itemId == R.id.create_ul) {
createNewLU();
return true;
}
return false;
@ -192,17 +189,11 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
mAppliedFilterViewModel.getCurrentDescrPredicate().addOnPropertyChangedCallback(onPredicateChanged);
mAppliedFilterViewModel.getCurrentPosPredicate().addOnPropertyChangedCallback(onPredicateChanged);
List<FilterChipDTO> filterList = Stream.of(AccettazioneOrdiniPickingBindings.AVAILABLE_FILTERS.entrySet())
.map(Map.Entry::getValue)
.sortBy(FilterChipDTO::getPosizione)
.toList();
List<FilterChipDTO> filterList = Stream.of(AccettazioneOrdiniPickingBindings.AVAILABLE_FILTERS.entrySet()).map(Map.Entry::getValue).sortBy(FilterChipDTO::getPosizione).toList();
for (FilterChipDTO filterChipDTO : filterList) {
FilterChipView filterChipView = new FilterChipView(
this,
filterChipDTO.getFilterChipText(),
v -> initBottomSheetDialogFilter(filterChipDTO));
FilterChipView filterChipView = new FilterChipView(this, filterChipDTO.getFilterChipText(), v -> initBottomSheetDialogFilter(filterChipDTO));
switch (filterChipDTO.getID()) {
case AccettazioneOrdiniPickingBindings.COD_ART_FILTER_ID -> {
@ -280,52 +271,20 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
private void initBottomSheetDialogFilter(FilterChipDTO filterChipDTO) {
filterChipDTO
.getFilterLayoutView()
.setFilterName(filterChipDTO.getFilterChipText())
.setContext(this);
filterChipDTO.getFilterLayoutView().setFilterName(filterChipDTO.getFilterChipText()).setContext(this);
var filterLayoutView = filterChipDTO
.getFilterLayoutView();
var filterLayoutView = filterChipDTO.getFilterLayoutView();
switch (filterChipDTO.getID()) {
case AccettazioneOrdiniPickingBindings.COD_ART_FILTER_ID ->
((FilterCodArtLayoutView) filterLayoutView)
.setAll(mAppliedFilterViewModel.getAllCodArts())
.setAvailable(mAppliedFilterViewModel.getAvailableCodArts())
.setOnFilterApplied(mAppliedFilterViewModel::setCodArtFilter)
.setPreselected(Stream.of(Objects.requireNonNull(mViewModel.getPickingList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentCodArtPredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentCodArtPredicate().get())
.map(x -> x.getSitArtOrdDTO().getCodMart())
.toList());
((FilterCodArtLayoutView) filterLayoutView).setAll(mAppliedFilterViewModel.getAllCodArts()).setAvailable(mAppliedFilterViewModel.getAvailableCodArts()).setOnFilterApplied(mAppliedFilterViewModel::setCodArtFilter).setPreselected(Stream.of(Objects.requireNonNull(mViewModel.getPickingList().getValue())).filter(mAppliedFilterViewModel.getCurrentCodArtPredicate().get() == null ? x -> false : mAppliedFilterViewModel.getCurrentCodArtPredicate().get()).map(x -> x.getSitArtOrdDTO().getCodMart()).toList());
case AccettazioneOrdiniPickingBindings.DESCR_FILTER_ID ->
((FilterDescrLayoutView) filterLayoutView)
.setAll(mAppliedFilterViewModel.getAllDescrs())
.setAvailable(mAppliedFilterViewModel.getAvailableDescrs())
.setOnFilterApplied(mAppliedFilterViewModel::setDescrFilter)
.setPreselected(Stream.of(Objects.requireNonNull(mViewModel.getPickingList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentDescrPredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentDescrPredicate().get())
.map(x -> x.getSitArtOrdDTO().getDescrizioneEstesaArt())
.toList());
((FilterDescrLayoutView) filterLayoutView).setAll(mAppliedFilterViewModel.getAllDescrs()).setAvailable(mAppliedFilterViewModel.getAvailableDescrs()).setOnFilterApplied(mAppliedFilterViewModel::setDescrFilter).setPreselected(Stream.of(Objects.requireNonNull(mViewModel.getPickingList().getValue())).filter(mAppliedFilterViewModel.getCurrentDescrPredicate().get() == null ? x -> false : mAppliedFilterViewModel.getCurrentDescrPredicate().get()).map(x -> x.getSitArtOrdDTO().getDescrizioneEstesaArt()).toList());
case AccettazioneOrdiniPickingBindings.POS_FILTER_ID ->
((FilterPosizioneLayoutView) filterLayoutView)
.setAll(mAppliedFilterViewModel.getAllPos())
.setAvailable(mAppliedFilterViewModel.getAvailablePos())
.setOnFilterApplied(mAppliedFilterViewModel::setPosFilter)
.setPreselected(Stream.of(Objects.requireNonNull(mViewModel.getPickingList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentPosPredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentPosPredicate().get())
.map(x -> x.getMtbAart().getPosizione())
.toList());
((FilterPosizioneLayoutView) filterLayoutView).setAll(mAppliedFilterViewModel.getAllPos()).setAvailable(mAppliedFilterViewModel.getAvailablePos()).setOnFilterApplied(mAppliedFilterViewModel::setPosFilter).setPreselected(Stream.of(Objects.requireNonNull(mViewModel.getPickingList().getValue())).filter(mAppliedFilterViewModel.getCurrentPosPredicate().get() == null ? x -> false : mAppliedFilterViewModel.getCurrentPosPredicate().get()).map(x -> x.getMtbAart().getPosizione()).toList());
}
if (!filterLayoutView.isAdded())
filterLayoutView.show(getSupportFragmentManager(), "TAG");
if (!filterLayoutView.isAdded()) filterLayoutView.show(getSupportFragmentManager(), "TAG");
}
@Override
@ -374,9 +333,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
}
private void initBarcodeReader() {
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
.setOnScanSuccessful(onScanSuccessful)
.setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false)));
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO().setOnScanSuccessful(onScanSuccessful).setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false)));
}
private void initRecyclerView() {
@ -417,9 +374,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
}
private List<AccettazioneOrdiniPickingListModel> convertDataModelToListModel(List<PickingObjectDTO> dataList) {
List<PickingObjectDTO> tmpList = Stream.of(dataList)
.filter(x -> !x.isHidden() && UtilityBigDecimal.greaterThan(x.getSitArtOrdDTO().getQtaDaEvadere(), BigDecimal.ZERO))
.toList();
List<PickingObjectDTO> tmpList = Stream.of(dataList).filter(x -> !x.isHidden() && UtilityBigDecimal.greaterThan(x.getSitArtOrdDTO().getQtaDaEvadere(), BigDecimal.ZERO)).toList();
return switch (mCurrentOrderBy) {
case COD_ART_FOR -> convertDataModelToListModel__CodArtForn(tmpList);
@ -430,133 +385,118 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
private List<AccettazioneOrdiniPickingListModel> convertDataModelToListModel__CodArtForn(List<PickingObjectDTO> dataList) {
ArrayList<AccettazioneOrdiniPickingListModel> list = new ArrayList<>();
Stream.of(dataList)
.sortBy(x -> UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()) +
(UtilityString.isNullOrEmpty(x.getMtbAart().getDescrizioneEstesa()) ? "" : " - " + x.getMtbAart().getDescrizioneEstesa()))
.forEach(x -> {
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
accettazioneOrdiniPickingListModel.setActive(true);
Stream.of(dataList).sortBy(x -> UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()) + (UtilityString.isNullOrEmpty(x.getMtbAart().getDescrizioneEstesa()) ? "" : " - " + x.getMtbAart().getDescrizioneEstesa())).forEach(x -> {
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
accettazioneOrdiniPickingListModel.setActive(true);
accettazioneOrdiniPickingListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()) +
(UtilityString.isNullOrEmpty(x.getMtbAart().getDescrizioneEstesa()) ? "" : " - " + x.getMtbAart().getDescrizioneEstesa()));
accettazioneOrdiniPickingListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()) + (UtilityString.isNullOrEmpty(x.getMtbAart().getDescrizioneEstesa()) ? "" : " - " + x.getMtbAart().getDescrizioneEstesa()));
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
accettazioneOrdiniPickingListModel.setSubDescrizione1("Consegna: " + UtilityDate.formatDate(x.getSitArtOrdDTO().getDataCons(), UtilityDate.COMMONS_DATE_FORMATS.DMY_SLASH));
accettazioneOrdiniPickingListModel.setSubDescrizione1("Consegna: " + UtilityDate.formatDate(x.getSitArtOrdDTO().getDataCons(), UtilityDate.COMMONS_DATE_FORMATS.DMY_SLASH));
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
//Calc Num CNF
BigDecimal numCnfEvasa = BigDecimal.ZERO;
//Calc Num CNF
BigDecimal numCnfEvasa = BigDecimal.ZERO;
if (x.getWithdrawMtbColrs().size() > 0) {
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getNumCnf)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
if (x.getWithdrawMtbColrs().size() > 0) {
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs()).map(MtbColr::getNumCnf).reduce(BigDecimal.ZERO, BigDecimal::add);
}
//Calc qta col
BigDecimal qtaEvasa = BigDecimal.ZERO;
//Calc qta col
BigDecimal qtaEvasa = BigDecimal.ZERO;
if (x.getWithdrawMtbColrs().size() > 0) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getQtaCol)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
if (x.getWithdrawMtbColrs().size() > 0) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs()).map(MtbColr::getQtaCol).reduce(BigDecimal.ZERO, BigDecimal::add);
}
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
} else {
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
} else {
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
}
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
}
accettazioneOrdiniPickingListModel.setOriginalModel(x);
accettazioneOrdiniPickingListModel.setOriginalModel(x);
list.add(accettazioneOrdiniPickingListModel);
});
list.add(accettazioneOrdiniPickingListModel);
});
return list;
}
private List<AccettazioneOrdiniPickingListModel> convertDataModelToListModel__DescrArt(List<PickingObjectDTO> dataList) {
ArrayList<AccettazioneOrdiniPickingListModel> list = new ArrayList<>();
Stream.of(dataList)
.sortBy(x -> x.getMtbAart().getDescrizioneEstesa())
.forEach(x -> {
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
accettazioneOrdiniPickingListModel.setActive(true);
Stream.of(dataList).sortBy(x -> x.getMtbAart().getDescrizioneEstesa()).forEach(x -> {
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
accettazioneOrdiniPickingListModel.setActive(true);
accettazioneOrdiniPickingListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart())
+ (UtilityString.isNullOrEmpty(x.getMtbAart().getDescrizioneEstesa()) ? "" : " - " + x.getMtbAart().getDescrizioneEstesa()));
accettazioneOrdiniPickingListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()) + (UtilityString.isNullOrEmpty(x.getMtbAart().getDescrizioneEstesa()) ? "" : " - " + x.getMtbAart().getDescrizioneEstesa()));
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
//Calc Num CNF
BigDecimal numCnfEvasa = BigDecimal.ZERO;
//Calc Num CNF
BigDecimal numCnfEvasa = BigDecimal.ZERO;
if (x.getWithdrawMtbColrs().size() > 0) {
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getNumCnf)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
if (x.getWithdrawMtbColrs().size() > 0) {
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs()).map(MtbColr::getNumCnf).reduce(BigDecimal.ZERO, BigDecimal::add);
}
//Calc qta col
BigDecimal qtaEvasa = BigDecimal.ZERO;
//Calc qta col
BigDecimal qtaEvasa = BigDecimal.ZERO;
if (x.getWithdrawMtbColrs().size() > 0) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getQtaCol)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
if (x.getWithdrawMtbColrs().size() > 0) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs()).map(MtbColr::getQtaCol).reduce(BigDecimal.ZERO, BigDecimal::add);
}
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
} else {
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
} else {
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
}
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
}
accettazioneOrdiniPickingListModel.setOriginalModel(x);
accettazioneOrdiniPickingListModel.setOriginalModel(x);
list.add(accettazioneOrdiniPickingListModel);
});
list.add(accettazioneOrdiniPickingListModel);
});
return list;
}
@ -564,136 +504,122 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
private List<AccettazioneOrdiniPickingListModel> convertDataModelToListModel__RagSocCom(List<PickingObjectDTO> dataList) {
ArrayList<AccettazioneOrdiniPickingListModel> list = new ArrayList<>();
Stream.of(dataList)
.filter(x -> !UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneCommessa()) && !x.getSitArtOrdDTO().getCodJcom().equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG))
.sortBy(x -> x.getSitArtOrdDTO().getDescrizioneCommessa())
.forEach(x -> {
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
accettazioneOrdiniPickingListModel.setActive(true);
Stream.of(dataList).filter(x -> !UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneCommessa()) && !x.getSitArtOrdDTO().getCodJcom().equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)).sortBy(x -> x.getSitArtOrdDTO().getDescrizioneCommessa()).forEach(x -> {
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
accettazioneOrdiniPickingListModel.setActive(true);
accettazioneOrdiniPickingListModel.setGroupTitle(x.getSitArtOrdDTO().getCodJcom() + (!UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneCommessa()) ? " - " + x.getSitArtOrdDTO().getDescrizioneCommessa() : ""));
accettazioneOrdiniPickingListModel.setGroupTitle(x.getSitArtOrdDTO().getCodJcom() + (!UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneCommessa()) ? " - " + x.getSitArtOrdDTO().getDescrizioneCommessa() : ""));
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()));
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()));
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
//Calc Num CNF
BigDecimal numCnfEvasa = BigDecimal.ZERO;
//Calc Num CNF
BigDecimal numCnfEvasa = BigDecimal.ZERO;
if (x.getWithdrawMtbColrs().size() > 0) {
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getNumCnf)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
if (x.getWithdrawMtbColrs().size() > 0) {
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs()).map(MtbColr::getNumCnf).reduce(BigDecimal.ZERO, BigDecimal::add);
}
//Calc qta col
BigDecimal qtaEvasa = BigDecimal.ZERO;
//Calc qta col
BigDecimal qtaEvasa = BigDecimal.ZERO;
if (x.getWithdrawMtbColrs().size() > 0) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getQtaCol)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
if (x.getWithdrawMtbColrs().size() > 0) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs()).map(MtbColr::getQtaCol).reduce(BigDecimal.ZERO, BigDecimal::add);
}
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
} else {
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
} else {
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
}
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
}
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneEstesaOrd());
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneEstesaOrd());
if (x.getMtbAart() != null) {
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
}
if (x.getMtbAart() != null) {
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
}
accettazioneOrdiniPickingListModel.setOriginalModel(x);
accettazioneOrdiniPickingListModel.setOriginalModel(x);
list.add(accettazioneOrdiniPickingListModel);
});
list.add(accettazioneOrdiniPickingListModel);
});
Stream.of(dataList)
.filter(x -> UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneCommessa()) || x.getSitArtOrdDTO().getCodJcom().equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG))
.forEach(x -> {
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
accettazioneOrdiniPickingListModel.setActive(true);
Stream.of(dataList).filter(x -> UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneCommessa()) || x.getSitArtOrdDTO().getCodJcom().equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)).forEach(x -> {
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
accettazioneOrdiniPickingListModel.setActive(true);
accettazioneOrdiniPickingListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
accettazioneOrdiniPickingListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()));
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()));
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
//Calc Num CNF
BigDecimal numCnfEvasa = BigDecimal.ZERO;
//Calc Num CNF
BigDecimal numCnfEvasa = BigDecimal.ZERO;
if (x.getWithdrawMtbColrs().size() > 0) {
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getNumCnf)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
if (x.getWithdrawMtbColrs().size() > 0) {
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs()).map(MtbColr::getNumCnf).reduce(BigDecimal.ZERO, BigDecimal::add);
}
//Calc qta col
BigDecimal qtaEvasa = BigDecimal.ZERO;
//Calc qta col
BigDecimal qtaEvasa = BigDecimal.ZERO;
if (x.getWithdrawMtbColrs().size() > 0) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getQtaCol)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
if (x.getWithdrawMtbColrs().size() > 0) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs()).map(MtbColr::getQtaCol).reduce(BigDecimal.ZERO, BigDecimal::add);
}
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
} else {
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
} else {
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
}
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
}
if (x.getMtbAart() != null) {
accettazioneOrdiniPickingListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa());
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
}
if (x.getMtbAart() != null) {
accettazioneOrdiniPickingListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa());
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
}
accettazioneOrdiniPickingListModel.setOriginalModel(x);
accettazioneOrdiniPickingListModel.setOriginalModel(x);
list.add(accettazioneOrdiniPickingListModel);
});
list.add(accettazioneOrdiniPickingListModel);
});
return list;
}
private boolean isThereAnyItemToPick(List<PickingObjectDTO> dataList) {
return Stream.of(dataList)
.anyMatch(x -> !x.isHidden());
return Stream.of(dataList).anyMatch(x -> !x.isHidden());
}
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
@ -718,20 +644,25 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
});
}
public void trackPackaging() {
this.fabPopupMenu.dismiss();
DialogTracciamentoImballiView.newInstance(data -> {
mViewModel.registraImballi(data);
}).show(getSupportFragmentManager(), DialogTracciamentoImballiView.class.getName());
}
public void showCreatedUL() {
this.fabPopupMenu.dismiss();
this.mViewModel.retrieveExistentLU(this::startListaBancaliRegistratiActivity);
}
private void showOrderByDialog() {
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle(this.getText(R.string.action_orderBy))
.setSingleChoiceItems(AccettazioneOrdineInevasoOrderBy.descriptions, mCurrentOrderBy.getVal(), (dialog12, which) -> {
mCurrentOrderBy = AccettazioneOrdineInevasoOrderBy.Enum.fromInt(which);
SettingsManager.i().getUserSession().setDefaultOrdinamentoPickingAccettazione(which);
})
.setPositiveButton(getText(R.string.ok), (dialog1, which) -> this.refreshList())
.create();
AlertDialog dialog = new AlertDialog.Builder(this).setTitle(this.getText(R.string.action_orderBy)).setSingleChoiceItems(AccettazioneOrdineInevasoOrderBy.descriptions, mCurrentOrderBy.getVal(), (dialog12, which) -> {
mCurrentOrderBy = AccettazioneOrdineInevasoOrderBy.Enum.fromInt(which);
SettingsManager.i().getUserSession().setDefaultOrdinamentoPickingAccettazione(which);
}).setPositiveButton(getText(R.string.ok), (dialog1, which) -> this.refreshList()).create();
dialog.show();
}
@ -739,14 +670,9 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
Intent myIntent = ListaBancaliActivity.createIntent(this,
Stream.of(mtbColts)
.map(AlreadyRegisteredUDCDTO::getMtbColt)
.toList(),
Stream.of(mtbColts).map(AlreadyRegisteredUDCDTO::getMtbColt).toList(),
input -> Stream.of(mtbColts)
.filter(x -> x.getMtbColt() == input)
.findFirstOrElse(null)
.isCanBeRecovered(),
input -> Stream.of(mtbColts).filter(x -> x.getMtbColt() == input).findFirstOrElse(null).isCanBeRecovered(),
ReportManager.getReportNameLUFromGestione(GestioneEnum.ACQUISTO));
@ -757,9 +683,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
public void onLUSuccessullyPrinted() {
Resources res = getResources();
String errorMessage = res.getText(R.string.alert_print_completed_message).toString();
DialogSimpleMessageView
.makeSuccessDialog(res.getText(R.string.completed).toString(), new SpannableString(errorMessage), null, null)
.show(getSupportFragmentManager(), "tag");
DialogSimpleMessageView.makeSuccessDialog(res.getText(R.string.completed).toString(), new SpannableString(errorMessage), null, null).show(getSupportFragmentManager(), "tag");
}
@Override
@ -769,13 +693,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
@Override
public void onLUPrintError(Exception ex, Runnable onComplete) {
this.onLoadingEnded();
DialogSimpleMessageView.makeErrorDialog(
new SpannableString(ex.getMessage()),
null,
null,
R.string.button_ignore_print,
onComplete)
.show(getSupportFragmentManager(), "tag");
DialogSimpleMessageView.makeErrorDialog(new SpannableString(ex.getMessage()), null, null, R.string.button_ignore_print, onComplete).show(getSupportFragmentManager(), "tag");
}
@Override
@ -795,20 +713,12 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
@Override
public void onVersamentoAutomaticoULRequest(RunnableArgs<Boolean> onComplete) {
runOnUiThread(() -> {
DialogAskShouldVersamentoAutomaticoULView.newInstance(onComplete)
.show(getSupportFragmentManager(), "tag");
});
DialogAskShouldVersamentoAutomaticoULView.newInstance(onComplete).show(getSupportFragmentManager(), "tag");
}
@Override
public void onInfoAggiuntiveRequest(RunnableArgss<String, MtbTCol> onComplete) {
// runOnUiThread(() -> {
// DialogInfoAggiuntiveLU.newInstance(onComplete).show(getSupportFragmentManager(), "InfoAggiuntiveLUDialog");
// });
DialogInfoAggiuntiveLUView.newInstance(onComplete, this::onLoadingEnded)
.show(getSupportFragmentManager(), DialogInfoAggiuntiveLUView.class.getName());
DialogInfoAggiuntiveLUView.newInstance(onComplete, this::onLoadingEnded).show(getSupportFragmentManager(), DialogInfoAggiuntiveLUView.class.getName());
}
@Override
@ -826,41 +736,13 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
@Override
public void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, LocalDate dataScad, boolean canPartitaMagBeChanged, boolean canOverflowQuantity, String customArtDescription, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
.setMtbAart(mtbAart)
.setInitialNumCnf(initialNumCnf)
.setInitialQtaCnf(initialQtaCnf)
.setInitialQtaTot(initialQtaTot)
.setTotalQtaOrd(totalQtaOrd)
.setTotalNumCnfOrd(totalNumCnfOrd)
.setQtaCnfOrd(qtaCnfOrd)
.setTotalQtaToBeTaken(totalQtaToBeTaken)
.setTotalNumCnfToBeTaken(totalNumCnfToBeTaken)
.setQtaCnfToBeTaken(qtaCnfToBeTaken)
.setTotalQtaAvailable(totalQtaAvailable)
.setTotalNumCnfAvailable(totalNumCnfAvailable)
.setQtaCnfAvailable(qtaCnfAvailable)
.setPartitaMag(partitaMag)
.setDataScad(dataScad)
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
.setCanLUBeClosed(true)
.setCanOverflowOrderQuantity(canOverflowQuantity)
.setCustomArtDescription(customArtDescription);
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO().setMtbAart(mtbAart).setInitialNumCnf(initialNumCnf).setInitialQtaCnf(initialQtaCnf).setInitialQtaTot(initialQtaTot).setTotalQtaOrd(totalQtaOrd).setTotalNumCnfOrd(totalNumCnfOrd).setQtaCnfOrd(qtaCnfOrd).setTotalQtaToBeTaken(totalQtaToBeTaken).setTotalNumCnfToBeTaken(totalNumCnfToBeTaken).setQtaCnfToBeTaken(qtaCnfToBeTaken).setTotalQtaAvailable(totalQtaAvailable).setTotalNumCnfAvailable(totalNumCnfAvailable).setQtaCnfAvailable(qtaCnfAvailable).setPartitaMag(partitaMag).setDataScad(dataScad).setCanPartitaMagBeChanged(canPartitaMagBeChanged).setCanLUBeClosed(true).setCanOverflowOrderQuantity(canOverflowQuantity).setCustomArtDescription(customArtDescription);
if (!mDialogInputQuantityV2View.isVisible())
mDialogInputQuantityV2View
.setDialogInputQuantityV2DTO(dialogInputQuantityV2DTO)
.setOnComplete((resultDTO, shouldCloseLU) -> {
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
.setNumCnf(resultDTO.getNumCnf())
.setQtaCnf(resultDTO.getQtaCnf())
.setQtaTot(resultDTO.getQtaTot())
.setPartitaMag(resultDTO.getPartitaMag())
.setDataScad(resultDTO.getDataScad());
onComplete.run(pickedQuantityDTO, shouldCloseLU);
})
.setOnAbort(() -> this.mViewModel.resetMatchedRows())
.show(getSupportFragmentManager(), "tag");
mDialogInputQuantityV2View.setDialogInputQuantityV2DTO(dialogInputQuantityV2DTO).setOnComplete((resultDTO, shouldCloseLU) -> {
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO().setNumCnf(resultDTO.getNumCnf()).setQtaCnf(resultDTO.getQtaCnf()).setQtaTot(resultDTO.getQtaTot()).setPartitaMag(resultDTO.getPartitaMag()).setDataScad(resultDTO.getDataScad());
onComplete.run(pickedQuantityDTO, shouldCloseLU);
}).setOnAbort(() -> this.mViewModel.resetMatchedRows()).show(getSupportFragmentManager(), "tag");
}
@Override
@ -894,9 +776,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
public void onULVersata(VersamentoAutomaticoULResponseDTO versamentoAutomaticoULResponseDTO, Runnable onComplete) {
runOnUiThread(() -> {
DialogVersamentoAutomaticoULDoneView
.newInstance(versamentoAutomaticoULResponseDTO, onComplete)
.show(getSupportFragmentManager(), "tag");
DialogVersamentoAutomaticoULDoneView.newInstance(versamentoAutomaticoULResponseDTO, onComplete).show(getSupportFragmentManager(), "tag");
});
}
@ -905,11 +785,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
public void onMtbColrDeleteRequest(RunnableArgs<Boolean> onComplete) {
runOnUiThread(() -> {
String text = getResources().getString(R.string.alert_delete_mtb_colr);
DialogSimpleMessageView.makeWarningDialog(new SpannableString(text),
null,
() -> onComplete.run(true),
() -> onComplete.run(false)
).show(getSupportFragmentManager(), "tag");
DialogSimpleMessageView.makeWarningDialog(new SpannableString(text), null, () -> onComplete.run(true), () -> onComplete.run(false)).show(getSupportFragmentManager(), "tag");
});
}
@ -925,15 +801,11 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
@Override
public void onLUClosed() {
runOnUiThread(() -> {
noLUPresent.set(true);
this.mBottomSheetFragmentLUContentViewModel.setMtbColt(null);
noLUPresent.set(true);
this.mBottomSheetFragmentLUContentViewModel.setMtbColt(null);
this.refreshList();
this.refreshList();
if (this.mShouldCloseActivity) super.onBackPressed();
});
if (this.mShouldCloseActivity) super.onBackPressed();
}
@Override

View File

@ -8,7 +8,7 @@ import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.rest.AccettazioneOrdiniPickingRESTConsumer;
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
@ -31,18 +31,19 @@ public class AccettazioneOrdiniPickingModule {
ArticoloRESTConsumer articoloRESTConsumer,
BarcodeRESTConsumer barcodeRESTConsumer,
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
PrinterRESTConsumer printerRESTConsumer,
AccettazioneOrdiniPickingRESTConsumer accettazioneOrdiniPickingRESTConsumer,
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer,
Ean128Service ean128Service) {
Ean128Service ean128Service,
ImballiRESTConsumer imballiRESTConsumer) {
return new AccettazioneOrdiniPickingViewModel(articoloRESTConsumer,
barcodeRESTConsumer,
colliMagazzinoRESTConsumer,
printerRESTConsumer,
accettazioneOrdiniPickingRESTConsumer,
colliAccettazioneRESTConsumer,
colliLavorazioneRESTConsumer, ean128Service);
colliLavorazioneRESTConsumer,
ean128Service,
imballiRESTConsumer);
}
}

View File

@ -11,6 +11,7 @@ import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import javax.inject.Inject;
@ -40,11 +41,12 @@ import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.interfaces.ColliCaricoRESTConsumerInterface;
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
import it.integry.integrywmsnative.core.rest.model.VersamentoAutomaticoULResponseDTO;
import it.integry.integrywmsnative.core.rest.model.imballi.ImballoQuantityDTO;
import it.integry.integrywmsnative.core.rest.model.udc.CloseUDCRequestDTO;
import it.integry.integrywmsnative.core.rest.model.udc.CreateUDCRequestDTO;
import it.integry.integrywmsnative.core.rest.model.udc.CreateUDCRequestOrderDTO;
@ -66,17 +68,18 @@ import it.integry.integrywmsnative.gest.accettazione_ordini_picking.rest.Accetta
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
import it.integry.integrywmsnative.gest.spedizione.exceptions.NotCurrentYearLUException;
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.TracciamentoImballoDTO;
public class AccettazioneOrdiniPickingViewModel {
private final ArticoloRESTConsumer mArticoloRESTConsumer;
private final BarcodeRESTConsumer mBarcodeRESTConsumer;
private final ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer;
private final PrinterRESTConsumer mPrinterRESTConsumer;
private final AccettazioneOrdiniPickingRESTConsumer mAccettazioneOrdiniPickingRESTConsumer;
private final ColliAccettazioneRESTConsumer mColliAccettazioneRESTConsumer;
private final ColliLavorazioneRESTConsumer mColliLavorazioneRESTConsumer;
private final Ean128Service mEan128Service;
private final ImballiRESTConsumer mImballiRESTConsumer;
private ColliCaricoRESTConsumerInterface mColliCaricoRESTConsumer;
@ -95,19 +98,19 @@ public class AccettazioneOrdiniPickingViewModel {
public AccettazioneOrdiniPickingViewModel(ArticoloRESTConsumer articoloRESTConsumer,
BarcodeRESTConsumer barcodeRESTConsumer,
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
PrinterRESTConsumer printerRESTConsumer,
AccettazioneOrdiniPickingRESTConsumer accettazioneOrdiniPickingRESTConsumer,
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer,
Ean128Service ean128Service) {
Ean128Service ean128Service,
ImballiRESTConsumer imballiRESTConsumer) {
this.mArticoloRESTConsumer = articoloRESTConsumer;
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer;
this.mPrinterRESTConsumer = printerRESTConsumer;
this.mAccettazioneOrdiniPickingRESTConsumer = accettazioneOrdiniPickingRESTConsumer;
this.mColliAccettazioneRESTConsumer = colliAccettazioneRESTConsumer;
this.mColliLavorazioneRESTConsumer = colliLavorazioneRESTConsumer;
this.mEan128Service = ean128Service;
this.mImballiRESTConsumer = imballiRESTConsumer;
}
@ -275,7 +278,7 @@ public class AccettazioneOrdiniPickingViewModel {
null,
false,
() -> {
if(UtilityString.isNullOrEmpty(customSSCC))
if (UtilityString.isNullOrEmpty(customSSCC))
processBarcodeAlreadyOpenedLU(barcodeScanDTO, onComplete);
else onComplete.run();
});
@ -767,9 +770,6 @@ public class AccettazioneOrdiniPickingViewModel {
} else {
postCloseOperations();
}
this.sendLUClosed();
this.sendOnLoadingEnded();
};
sendVersamentoAutomaticoULRequest(response -> {
@ -821,7 +821,7 @@ public class AccettazioneOrdiniPickingViewModel {
BigDecimal qtaEvasa = BigDecimal.ZERO;
BigDecimal numCnf = BigDecimal.ZERO;
if (withdrawMtbColrs.size() > 0) {
if (!withdrawMtbColrs.isEmpty()) {
qtaEvasa = Stream.of(withdrawMtbColrs)
.map(MtbColr::getQtaCol)
.reduce(BigDecimal.ZERO, BigDecimal::add);
@ -887,6 +887,21 @@ public class AccettazioneOrdiniPickingViewModel {
return optional.isPresent() ? optional.get() : null;
}
public void registraImballi(List<TracciamentoImballoDTO> data) {
this.sendOnLoadingStarted();
var inputData = data.stream()
.map(x -> new ImballoQuantityDTO()
.setQta(x.getQta().get())
.setCodMart(x.getCodMart().get()))
.collect(Collectors.toList());
mImballiRESTConsumer.registraCarico(inputData, () -> {
this.sendOnLoadingEnded();
}, this::sendError);
}
private void sendOnLoadingStarted() {
if (this.mListener != null) mListener.onLoadingStarted();
}

View File

@ -1,17 +1,14 @@
package it.integry.integrywmsnative.view.dialogs.ask_should_versamento_automatico_ul;
import android.content.DialogInterface;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.databinding.DataBindingUtil;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import org.jetbrains.annotations.NotNull;
@ -22,10 +19,9 @@ import it.integry.integrywmsnative.databinding.DialogAskShouldVersamentoAutomati
public class DialogAskShouldVersamentoAutomaticoULView extends BaseDialogFragment {
private RunnableArgs<Boolean> mOnDismiss;
private final RunnableArgs<Boolean> mOnDismiss;
private DialogAskShouldVersamentoAutomaticoUlBinding mBindings;
private boolean returnValue = false;
private Context mContext;
public static DialogAskShouldVersamentoAutomaticoULView newInstance(@NotNull RunnableArgs<Boolean> onDismiss) {
return new DialogAskShouldVersamentoAutomaticoULView(onDismiss);
@ -37,39 +33,32 @@ public class DialogAskShouldVersamentoAutomaticoULView extends BaseDialogFragmen
this.mOnDismiss = onDismiss;
}
@Nullable
@NonNull
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_ask_should_versamento_automatico_ul, container, false);
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
this.mContext = requireContext();
mBindings = DialogAskShouldVersamentoAutomaticoUlBinding.inflate(LayoutInflater.from(this.mContext), null, false);
mBindings.setLifecycleOwner(this);
getDialog().setCanceledOnTouchOutside(false);
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
mBindings.setView(this);
return mBindings.getRoot();
}
setCancelable(false);
@Override
public void onDismiss(@NonNull DialogInterface dialog) {
super.onDismiss(dialog);
var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
.setView(mBindings.getRoot())
.setCancelable(isCancelable())
.setNegativeButton(R.string.no, (dialog, which) -> {
this.mOnDismiss.run(false);
})
.setPositiveButton(R.string.yes, (dialog, which) -> {
this.mOnDismiss.run(true);
})
.create();
if (mOnDismiss != null) {
this.mOnDismiss.run(returnValue);
}
}
public void confirm() {
this.returnValue = true;
dismiss();
}
public void abort() {
this.returnValue = false;
dismiss();
alertDialog.setCanceledOnTouchOutside(isCancelable());
alertDialog.setOnShowListener(this);
return alertDialog;
}
}

View File

@ -2,14 +2,14 @@ package it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu;
import dagger.Module;
import dagger.Provides;
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
@Module(subcomponents = DialogInfoAggiuntiveLUComponent.class)
public class DialogInfoAggiuntiveLUModule {
@Provides
DialogInfoAggiuntiveLUViewModel providesDialogInfoAggiuntiveLUViewModel(MagazzinoRESTConsumer magazzinoRESTConsumer) {
return new DialogInfoAggiuntiveLUViewModel(magazzinoRESTConsumer);
DialogInfoAggiuntiveLUViewModel providesDialogInfoAggiuntiveLUViewModel(ImballiRESTConsumer imballiRESTConsumer) {
return new DialogInfoAggiuntiveLUViewModel(imballiRESTConsumer);
}
}

View File

@ -6,6 +6,7 @@ import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager;
import android.widget.AdapterView;
import androidx.annotation.NonNull;
@ -98,19 +99,20 @@ public class DialogInfoAggiuntiveLUView extends BaseDialogFragment implements Di
alertDialog.setCanceledOnTouchOutside(isCancelable());
alertDialog.setOnShowListener(this);
alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
return alertDialog;
}
@Override
public void onShow(DialogInterface dialogInterface) {
super.onShow(dialogInterface);
public void onInit(DialogInterface dialogInterface) {
super.onInit(dialogInterface);
this.init();
this.mViewModel.init();
}
private void init() {
if (this.currentMtbColt != null)
this.additionalNotes.set(currentMtbColt.getAnnotazioni());

View File

@ -2,32 +2,33 @@ package it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu;
import androidx.lifecycle.MutableLiveData;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
public class DialogInfoAggiuntiveLUViewModel {
private final MutableLiveData<List<MtbTCol>> tipiCollo = new MutableLiveData<>();
private Listener mListener;
private final MagazzinoRESTConsumer mMagazzinoRESTConsumer;
private final ImballiRESTConsumer imballiRESTConsumer;
@Inject
public DialogInfoAggiuntiveLUViewModel(MagazzinoRESTConsumer mMagazzinoRESTConsumer) {
this.mMagazzinoRESTConsumer = mMagazzinoRESTConsumer;
public DialogInfoAggiuntiveLUViewModel(ImballiRESTConsumer imballiRESTConsumer) {
this.imballiRESTConsumer = imballiRESTConsumer;
}
public void init() {
this.sendOnLoadingStarted();
mMagazzinoRESTConsumer.getTipiCollo(tipiCollo -> {
this.tipiCollo.postValue(tipiCollo);
imballiRESTConsumer.retrieveTipiCollo(MtbTCol.FlagUiUlEnum.UL, tipiCollo -> {
this.tipiCollo.postValue(tipiCollo == null ? new ArrayList<>() : tipiCollo);
this.sendOnLoadingEnded();
}, this::sendError);
}

View File

@ -2,15 +2,15 @@ package it.integry.integrywmsnative.view.dialogs.input_lu_prod;
import dagger.Module;
import dagger.Provides;
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.MesRESTConsumer;
@Module(subcomponents = DialogInputLUProdComponent.class)
public class DialogInputLUProdModule {
@Provides
DialogInputLUProdViewModel providesDialogInputLUProdViewModel(MagazzinoRESTConsumer magazzinoRESTConsumer, MesRESTConsumer mesRESTConsumer) {
return new DialogInputLUProdViewModel(magazzinoRESTConsumer, mesRESTConsumer);
DialogInputLUProdViewModel providesDialogInputLUProdViewModel(ImballiRESTConsumer imballiRESTConsumer, MesRESTConsumer mesRESTConsumer) {
return new DialogInputLUProdViewModel(imballiRESTConsumer, mesRESTConsumer);
}
}

View File

@ -12,12 +12,12 @@ import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingL
import it.integry.integrywmsnative.core.model.JtbFasi;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.MesRESTConsumer;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.view.dialogs.exception.InvalidGrossWeightQuantityException;
import it.integry.integrywmsnative.view.dialogs.exception.InvalidProductionLineException;
import it.integry.integrywmsnative.view.dialogs.exception.InvalidNumCnfQuantityException;
import it.integry.integrywmsnative.view.dialogs.exception.InvalidProductionLineException;
public class DialogInputLUProdViewModel {
@ -50,19 +50,19 @@ public class DialogInputLUProdViewModel {
private Listener mListener;
private final MagazzinoRESTConsumer mMagazzinoRESTConsumer;
private final ImballiRESTConsumer imballiRESTConsumer;
private final MesRESTConsumer mMesRESTConsumer;
@Inject
public DialogInputLUProdViewModel(MagazzinoRESTConsumer magazzinoRESTConsumer, MesRESTConsumer mesRESTConsumer) {
this.mMagazzinoRESTConsumer = magazzinoRESTConsumer;
public DialogInputLUProdViewModel(ImballiRESTConsumer imballiRESTConsumer, MesRESTConsumer mesRESTConsumer) {
this.imballiRESTConsumer = imballiRESTConsumer;
this.mMesRESTConsumer = mesRESTConsumer;
}
public void init(String codJfasParent) {
new Thread(this::sendOnLoadingStarted).start();
this.sendOnLoadingStarted();
mMagazzinoRESTConsumer.getTipiCollo(tipiCollo -> {
imballiRESTConsumer.retrieveTipiCollo(MtbTCol.FlagUiUlEnum.UL, tipiCollo -> {
this.mTipiColloLiveData.postValue(tipiCollo);
mMesRESTConsumer.getLineeProduzione(codJfasParent, jtbFasi -> {

View File

@ -24,7 +24,7 @@ import it.integry.integrywmsnative.core.di.BindableString;
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
import it.integry.integrywmsnative.core.expansion.RunnableArgsss;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.databinding.DialogInputPesoLuBinding;
@ -35,7 +35,7 @@ public class DialogInputPesoLUView extends BaseDialogFragment {
DialogInputPesoLUViewModel mViewModel;
@Inject
MagazzinoRESTConsumer magazzinoRESTConsumer;
ImballiRESTConsumer imballiRESTConsumer;
private DialogInputPesoLuBinding mBindings;
private Context mContext;
@ -98,7 +98,7 @@ public class DialogInputPesoLUView extends BaseDialogFragment {
private void init() {
magazzinoRESTConsumer.getTipiCollo(codTcols -> {
imballiRESTConsumer.retrieveTipiCollo(MtbTCol.FlagUiUlEnum.UL, codTcols -> {
this.codTcolList = codTcols;
List<String> codTcolDescriptions = Stream.of(codTcols)

View File

@ -641,8 +641,7 @@ public class DialogInputQuantityV2ViewModel {
}
private MtbPartitaMag retrievePartitaMag(String partitaMag, String codMart) throws Exception {
return mMagazzinoRESTConsumer.retrievePartitaMagSyncronized(partitaMag, codMart, this::sendError);
return mMagazzinoRESTConsumer.retrievePartitaMagSyncronized(partitaMag, codMart);
}
public DialogInputQuantityV2ResultDTO getResult() {

View File

@ -107,7 +107,7 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial
var alertDialog = new MaterialAlertDialogBuilder(requireContext())
.setView(mBindings.getRoot())
.setCancelable(false)
.setCancelable(isCancelable())
.create();
alertDialog.setCanceledOnTouchOutside(false);
alertDialog.setOnShowListener(this);

View File

@ -0,0 +1,14 @@
package it.integry.integrywmsnative.view.dialogs.tracciamento_imballi;
import dagger.Subcomponent;
@Subcomponent
public interface DialogTracciamentoImballiComponent {
@Subcomponent.Factory
interface Factory {
DialogTracciamentoImballiComponent create();
}
void inject(DialogTracciamentoImballiView dialogTracciamentoImballiView);
}

View File

@ -0,0 +1,15 @@
package it.integry.integrywmsnative.view.dialogs.tracciamento_imballi;
import dagger.Module;
import dagger.Provides;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
@Module(subcomponents = DialogTracciamentoImballiComponent.class)
public class DialogTracciamentoImballiModule {
@Provides
DialogTracciamentoImballiViewModel providesDialogTracciamentoImballiViewModel(ImballiRESTConsumer imballiRESTConsumer) {
return new DialogTracciamentoImballiViewModel(imballiRESTConsumer);
}
}

View File

@ -0,0 +1,207 @@
package it.integry.integrywmsnative.view.dialogs.tracciamento_imballi;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.WindowManager;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.PopupMenu;
import androidx.databinding.ObservableBoolean;
import androidx.databinding.ObservableList;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.ravikoradiya.liveadapter.LiveAdapter;
import com.ravikoradiya.liveadapter.Type;
import org.jetbrains.annotations.NotNull;
import java.util.List;
import javax.inject.Inject;
import it.integry.integrywmsnative.BR;
import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
import it.integry.integrywmsnative.core.expansion.OnGeneralChangedCallback;
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.databinding.DialogTracciamentoImballiBinding;
import it.integry.integrywmsnative.databinding.DialogTracciamentoImballiListItemModelBinding;
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.adapter.DialogTracciamentoImballi_TipoColloAdapter;
public class DialogTracciamentoImballiView extends BaseDialogFragment implements DialogTracciamentoImballiViewModel.Listener {
@Inject
DialogTracciamentoImballiViewModel mViewModel;
public final ObservableBoolean canAddMoreItems = new ObservableBoolean(true);
public DialogTracciamentoImballi_TipoColloAdapter tipoColloAdapter;
private DialogTracciamentoImballiBinding mBindings;
private Context mContext;
private final RunnableArgs<List<TracciamentoImballoDTO>> onComplete;
//Pass here all external parameters
public static DialogTracciamentoImballiView newInstance(@NotNull RunnableArgs<List<TracciamentoImballoDTO>> onComplete) {
return new DialogTracciamentoImballiView(onComplete);
}
private DialogTracciamentoImballiView(@NotNull RunnableArgs<List<TracciamentoImballoDTO>> onComplete) {
super();
this.onComplete = onComplete;
MainApplication.appComponent
.dialogTracciamentoImballiComponent()
.create()
.inject(this);
}
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
this.mContext = requireContext();
mBindings = DialogTracciamentoImballiBinding.inflate(LayoutInflater.from(this.mContext), null, false);
mBindings.setLifecycleOwner(this);
mBindings.setViewmodel(this.mViewModel);
mBindings.setView(this);
setCancelable(false);
var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
.setView(mBindings.getRoot())
.setCancelable(isCancelable())
.setNeutralButton(R.string.action_close, null)
.setPositiveButton(R.string.confirm, (dialog, which) -> {
this.onComplete.run(this.mViewModel.getImballiRegistrati().getValue());
})
.create();
alertDialog.setCanceledOnTouchOutside(isCancelable());
alertDialog.setOnShowListener(this);
return alertDialog;
}
@Override
public void onInit(DialogInterface dialogInterface) {
super.onInit(dialogInterface);
this.initAdapter();
this.initRecyclerView();
this.mViewModel.getImballiRegistrati().observe(this, data -> {
onEditableChangedCallback.run();
data.forEach(x -> {
x.getEditable().removeOnPropertyChangedCallback(onEditableChangedCallback);
x.getEditable().addOnPropertyChangedCallback(onEditableChangedCallback);
});
});
this.mViewModel
.setListener(this)
.init();
}
private void initAdapter() {
mViewModel.getImballiDisponibili().addOnListChangedCallback(new OnListGeneralChangedCallback<>() {
@Override
public void onChanged(ObservableList sender) {
var list = mViewModel.getImballiDisponibili();
tipoColloAdapter = new DialogTracciamentoImballi_TipoColloAdapter(mContext, R.layout.array_adapter_single_item, list);
}
});
}
private final OnGeneralChangedCallback onEditableChangedCallback = new OnGeneralChangedCallback() {
@Override
public void run() {
var allNotEditable = mViewModel.getImballiRegistrati().getValue()
.stream()
.noneMatch(TracciamentoImballoDTO::isEditable);
canAddMoreItems.set(allNotEditable);
}
};
@Override
public void onShow(DialogInterface dialogInterface) {
super.onShow(dialogInterface);
//StackOverflow
//The problem seems to be (at least in my case), that since the place where you enter text
// is hidden initially (or nested or something), AlertDialog is automatically setting the
// flag WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM (or some combination of that and
// WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) so that things don't trigger
// a soft input to show up.
getDialog().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
}
private void initRecyclerView() {
var itemType = new Type<TracciamentoImballoDTO, DialogTracciamentoImballiListItemModelBinding>(R.layout.dialog_tracciamento_imballi__list_item_model, BR.item);
itemType.onBind(dialogTracciamentoImballiListItemModelBindingHolder -> {
var itemBinding = dialogTracciamentoImballiListItemModelBindingHolder.getBinding();
itemBinding.filledExposedDropdownArticolo.setText("");
itemBinding.textInputQta.setText("");
itemBinding.filledExposedDropdownArticolo.setAdapter(tipoColloAdapter);
itemBinding.filledExposedDropdownArticolo.setOnItemClickListener((adapterView, view, i, l) -> {
var tipoCollo = ((DialogTracciamentoImballi_TipoColloAdapter.ListModel) adapterView.getItemAtPosition(i)).getOriginalModel();
itemBinding.getItem().setCodMart(tipoCollo.getCodMart())
.setDescrizione(tipoCollo.getDescrizione())
.setCodMart(tipoCollo.getCodMart());
});
return null;
});
itemType.onLongClick(dialogTracciamentoImballiListItemModelBindingHolder -> {
var popupMenu = new PopupMenu(requireContext(), dialogTracciamentoImballiListItemModelBindingHolder.itemView);
var inflater = popupMenu.getMenuInflater();
inflater.inflate(R.menu.edit_delete_menu, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(item -> {
int itemId = item.getItemId();
if (itemId == R.id.edit) {
dialogTracciamentoImballiListItemModelBindingHolder.getBinding().getItem().setEditable(true);
return true;
} else if (itemId == R.id.delete) {
var itemToDelete = dialogTracciamentoImballiListItemModelBindingHolder.getBinding().getItem();
mViewModel.deleteImballo(itemToDelete);
return true;
}
return false;
});
popupMenu.show();
return null;
});
itemType.areContentsTheSame(TracciamentoImballoDTO::equals);
new LiveAdapter(this.mViewModel.getImballiRegistrati(), this)
.map(TracciamentoImballoDTO.class, itemType)
.into(this.mBindings.recyclerview);
}
}

View File

@ -0,0 +1,92 @@
package it.integry.integrywmsnative.view.dialogs.tracciamento_imballi;
import androidx.databinding.ObservableArrayList;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
public class DialogTracciamentoImballiViewModel {
private final ImballiRESTConsumer imballiRESTConsumer;
private final MutableLiveData<List<TracciamentoImballoDTO>> imballiRegistrati = new MutableLiveData<>(new ArrayList<>());
private final ObservableArrayList<MtbTCol> imballiDisponibili = new ObservableArrayList<>();
private Listener mListener;
public DialogTracciamentoImballiViewModel(ImballiRESTConsumer imballiRESTConsumer) {
this.imballiRESTConsumer = imballiRESTConsumer;
}
public void init() {
this.imballiRESTConsumer.retrieveTipiCollo(MtbTCol.FlagUiUlEnum.UI, tipiCollo -> {
if (tipiCollo == null || tipiCollo.isEmpty())
return;
imballiDisponibili.addAll(tipiCollo);
}, this::sendError);
}
public LiveData<List<TracciamentoImballoDTO>> getImballiRegistrati() {
return imballiRegistrati;
}
public ObservableArrayList<MtbTCol> getImballiDisponibili() {
return imballiDisponibili;
}
public void addNew() {
var tmp = imballiRegistrati.getValue();
tmp.add(new TracciamentoImballoDTO());
imballiRegistrati.postValue(tmp);
}
public void saveCurrent() {
var currentOpened = imballiRegistrati.getValue().stream()
.filter(TracciamentoImballoDTO::isEditable)
.findFirst()
.orElse(null);
currentOpened.setEditable(!currentOpened.isEditable());
}
public void deleteImballo(TracciamentoImballoDTO imballoToRemove) {
Objects.requireNonNull(this.imballiRegistrati.getValue()).remove(imballoToRemove);
imballiRegistrati.postValue(imballiRegistrati.getValue());
}
private void sendOnLoadingStarted() {
if (this.mListener != null) mListener.onLoadingStarted();
}
private void sendOnLoadingEnded() {
if (this.mListener != null) mListener.onLoadingEnded();
}
private void sendError(Exception ex) {
if (this.mListener != null) mListener.onError(ex);
}
public DialogTracciamentoImballiViewModel setListener(Listener listener) {
this.mListener = listener;
return this;
}
interface Listener extends ILoadingListener {
void onError(Exception ex);
}
}

View File

@ -0,0 +1,84 @@
package it.integry.integrywmsnative.view.dialogs.tracciamento_imballi;
import androidx.databinding.ObservableBoolean;
import androidx.databinding.ObservableField;
public class TracciamentoImballoDTO {
private final ObservableField<String> codTcol = new ObservableField<>();
private final ObservableField<String> descrizione = new ObservableField<>();
private final ObservableField<String> codMart = new ObservableField<>();
private final ObservableField<Integer> qta = new ObservableField<Integer>();
private final ObservableBoolean editable = new ObservableBoolean(true);
public ObservableField<String> getCodTcol() {
return codTcol;
}
public ObservableField<String> getDescrizione() {
return descrizione;
}
public ObservableField<String> getCodMart() {
return codMart;
}
public ObservableField<Integer> getQta() {
return qta;
}
public TracciamentoImballoDTO setCodTcol(String codTcol) {
this.codTcol.set(codTcol);
return this;
}
public TracciamentoImballoDTO setDescrizione(String descrizione) {
this.descrizione.set(descrizione);
return this;
}
public TracciamentoImballoDTO setCodMart(String codMart) {
this.codMart.set(codMart);
return this;
}
public TracciamentoImballoDTO setQta(Integer qta) {
this.qta.set(qta);
return this;
}
public ObservableBoolean getEditable() {
return editable;
}
public boolean isEditable() {
return editable.get();
}
public void setEditable(boolean editable) {
this.editable.set(editable);
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
TracciamentoImballoDTO that = (TracciamentoImballoDTO) o;
if (!getCodTcol().equals(that.getCodTcol())) return false;
if (!getDescrizione().equals(that.getDescrizione())) return false;
if (!getCodMart().equals(that.getCodMart())) return false;
if (!getQta().equals(that.getQta())) return false;
return true;
}
@Override
public int hashCode() {
int result = getCodTcol() != null ? getCodTcol().hashCode() : 0;
result = 31 * result + (getQta() != null ? getQta().hashCode() : 0);
return result;
}
}

View File

@ -0,0 +1,48 @@
package it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.adapter;
import android.content.Context;
import android.widget.ArrayAdapter;
import androidx.annotation.NonNull;
import com.annimon.stream.Stream;
import java.util.List;
import it.integry.integrywmsnative.core.model.MtbTCol;
public class DialogTracciamentoImballi_TipoColloAdapter extends ArrayAdapter<DialogTracciamentoImballi_TipoColloAdapter.ListModel> {
public DialogTracciamentoImballi_TipoColloAdapter(@NonNull Context context, int resource, List<MtbTCol> inputData) {
super(context, resource);
if(inputData == null) return;
List<ListModel> mDataset = Stream.of(inputData)
.map(x -> new ListModel()
.setOriginalModel(x))
.toList();
addAll(mDataset);
}
public static class ListModel {
private MtbTCol originalModel;
public MtbTCol getOriginalModel() {
return originalModel;
}
public ListModel setOriginalModel(MtbTCol originalModel) {
this.originalModel = originalModel;
return this;
}
@Override
public String toString() {
return this.getOriginalModel().getDescrizione();
//return this.getOriginalModel().getCodDtip() + " - " + this.getOriginalModel().getDescrizione();
}
}
}

View File

@ -1,26 +1,23 @@
package it.integry.integrywmsnative.view.dialogs.versamento_automatico_ul_done;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.databinding.DataBindingUtil;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import org.jetbrains.annotations.NotNull;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
import it.integry.integrywmsnative.core.rest.model.VersamentoAutomaticoULResponseDTO;
import it.integry.integrywmsnative.core.utility.UtilityDialog;
import it.integry.integrywmsnative.databinding.DialogVersamentoAutomaticoUlDoneBinding;
public class DialogVersamentoAutomaticoULDoneView extends BaseDialogFragment {
@ -29,6 +26,7 @@ public class DialogVersamentoAutomaticoULDoneView extends BaseDialogFragment {
private final Runnable mOnDismiss;
private DialogVersamentoAutomaticoUlDoneBinding mBindings;
private Context mContext;
public static DialogVersamentoAutomaticoULDoneView newInstance(@NotNull VersamentoAutomaticoULResponseDTO versamentoAutomaticoULResponseDTO, @NotNull Runnable onDismiss) {
return new DialogVersamentoAutomaticoULDoneView(versamentoAutomaticoULResponseDTO, onDismiss);
@ -41,36 +39,40 @@ public class DialogVersamentoAutomaticoULDoneView extends BaseDialogFragment {
this.mOnDismiss = onDismiss;
}
@Nullable
@NonNull
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_versamento_automatico_ul_done, container, false);
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
this.mContext = requireContext();
mBindings = DialogVersamentoAutomaticoUlDoneBinding.inflate(LayoutInflater.from(this.mContext), null, false);
mBindings.setLifecycleOwner(this);
getDialog().setCanceledOnTouchOutside(false);
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
UtilityDialog.setTo95PercentWidth(requireContext(), this);
mBindings.setView(this);
setCancelable(false);
var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
.setView(mBindings.getRoot())
.setCancelable(isCancelable())
.setNeutralButton(R.string.action_close, (dialog, which) -> this.mOnDismiss.run())
.setPositiveButton(R.string.ok, (dialog, which) -> {
this.mOnDismiss.run();
})
.create();
alertDialog.setCanceledOnTouchOutside(isCancelable());
alertDialog.setOnShowListener(this);
return alertDialog;
}
@Override
public void onInit(DialogInterface dialogInterface) {
super.onInit(dialogInterface);
this.initTitle();
this.initContent();
return mBindings.getRoot();
}
@Override
public void onDismiss(@NonNull DialogInterface dialog) {
super.onDismiss(dialog);
if (mOnDismiss != null) {
this.mOnDismiss.run();
}
}
private void initTitle() {
int colorBackgroundTitle = -1;
@ -82,8 +84,7 @@ public class DialogVersamentoAutomaticoULDoneView extends BaseDialogFragment {
colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.yellow_600);
}
mBindings.base.setBackgroundColor(colorBackgroundTitle);
mBindings.icon.setColorFilter(colorBackgroundTitle);
}
private void initContent() {
@ -99,72 +100,6 @@ public class DialogVersamentoAutomaticoULDoneView extends BaseDialogFragment {
}
mBindings.descriptionText.setText(Html.fromHtml(text));
// var notCompletedListAdapter = new BaseAdapter() {
//
// @Override
// public View getView(int position, View convertView, ViewGroup parent) {
//
// var mtbColr = versamentoAutomaticoULResponseDTO.getFailed().get(position);
//
// var inflater = LayoutInflater.from(requireContext());
// DialogVersamentoAutomaticoUlDoneNotCompletedListItemBinding binding = null;
//
// if(convertView == null) {
// binding = DataBindingUtil.inflate(inflater, R.layout.dialog_versamento_automatico_ul_done__not_completed_list_item, parent, false);
// } else {
// binding = DataBindingUtil.findBinding(convertView);
// }
//
// binding.setItem(mtbColr);
//
// convertView = binding.getRoot();
//
// //Setting qty with unt_mis
// if (!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())) {
// String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
//
//
// if (mtbColr.getMtbAart() != null) {
// text += !UtilityString.isNullOrEmpty(mtbColr.getMtbAart().getUntMis()) ? "\n" + mtbColr.getMtbAart().getUntMis() : "";
// }
//
// binding.qtaTextview.setText(text);
// } else {
// binding.qtaTextview.setText(UtilityNumber.decimalToString(mtbColr.getNumCnf()) + "\n" + UtilityResources.getString(R.string.unt_mis_col));
// }
//
// return convertView;
// }
//
// @Override
// public long getItemId(int position) {
// return position;
// }
//
// @Override
// public Object getItem(int position) {
// return position;
// }
//
// @Override
// public int getCount() {
// return versamentoAutomaticoULResponseDTO.getFailed().size();
// }
// };
//
//
// mBindings.detailsNotCompletedList.setAdapter(notCompletedListAdapter);
}
// public void toggleDetailVisibility() {
// mBindings.detailsContainer.toggle(true);
// }
}

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="@android:color/white" />
<corners android:radius="500dp" />
</shape>

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:pathData="M19,0L19,3L16,3L16,5L19,5L19,8L21,8L21,5L24,5L24,3L21,3L21,0L19,0zM5.75,3C5.271,3 4.86,3.34 4.77,3.811L3.02,12.811C3.007,12.873 3,12.936 3,13L3,19C3,20.103 3.897,21 5,21L19,21C20.103,21 21,20.103 21,19L21,13C21,12.936 20.993,12.873 20.98,12.811L20.436,10L18.398,10L18.98,13L16,13C15.57,13 15.188,13.275 15.051,13.684L14.455,15.473C14.35,15.787 14.055,16 13.723,16L10.277,16C9.945,16 9.65,15.788 9.545,15.473L8.947,13.684C8.811,13.276 8.43,13 8,13L5.02,13L6.574,5L14,5L14,3L5.75,3z"
android:fillColor="@android:color/white"/>
</vector>

View File

@ -25,7 +25,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:paddingLeft="6dp"
android:paddingTop="2dp"
android:paddingRight="6dp"

View File

@ -6,25 +6,23 @@
name="selected"
type="it.integry.integrywmsnative.core.di.BindableBoolean" />
</data>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp">
android:paddingStart="2dp"
android:paddingEnd="4dp"
android:paddingVertical="2dp">
<androidx.appcompat.widget.AppCompatCheckBox
<CheckBox
android:id="@+id/accettazione_main_list_group_item_container_checkBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="false"
android:enabled="false"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="1dp"
android:focusable="false"
app:checked="@{selected}" />
<RelativeLayout

View File

@ -1,63 +1,28 @@
<layout xmlns:tools="http://schemas.android.com/tools">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:paddingStart="2dp"
android:background="@color/mainGreen">
<!--<androidx.cardview.widget.CardView-->
<!--xmlns:card_view="http://schemas.android.com/apk/res-auto"-->
<!--android:id="@+id/card_view"-->
<!--android:layout_gravity="center"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--card_view:cardUseCompatPadding="true"-->
<!--card_view:cardCornerRadius="4dp"-->
<!--card_view:cardElevation="4dp">-->
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:enabled="false" />
<!--<LinearLayout-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="match_parent"-->
<!--android:orientation="vertical">-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainGreen"
android:padding="8dp">
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:enabled="false" />
<TextView
android:id="@+id/accettazione_main_list_group_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textStyle="bold"
style="@style/AppTheme.NewMaterial.Text.Medium"
tools:text="NOME GRUPPO"/>
</LinearLayout>
<TextView
android:id="@+id/accettazione_main_list_group_header"
style="@style/AppTheme.NewMaterial.Text.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textStyle="bold"
tools:text="NOME GRUPPO" />
<!--<LinearLayout-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--android:orientation="vertical"-->
<!--android:id="@+id/accettazione_main_list_group_item_container">-->
<!--</LinearLayout>-->
<!--</LinearLayout>-->
<!--</androidx.cardview.widget.CardView>-->
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
</layout>

View File

@ -25,7 +25,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:paddingLeft="6dp"
android:paddingTop="2dp"
android:paddingRight="6dp"

View File

@ -81,7 +81,7 @@
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:background="?colorPrimary"
android:orientation="horizontal"
android:padding="16dp">

View File

@ -34,7 +34,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{item.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
tools:text="COD MART" />
@ -76,7 +76,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:paddingLeft="6dp"
android:paddingTop="2dp"

View File

@ -67,7 +67,7 @@
android:id="@+id/profile_root_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:background="?colorPrimary"
android:orientation="horizontal"
android:padding="16dp">

View File

@ -114,7 +114,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:paddingLeft="6dp"
android:paddingTop="2dp"

View File

@ -5,7 +5,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary"
android:background="?colorPrimary"
tools:context=".SplashActivity">
<androidx.appcompat.widget.AppCompatImageView

View File

@ -55,7 +55,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
tools:text="COD MART" />
@ -119,7 +119,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:paddingLeft="6dp"
android:paddingTop="2dp"

View File

@ -97,7 +97,7 @@
app:layout_constraintEnd_toStartOf="@id/center_buttons_guideline"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/input_commessa"
app:strokeColor="@color/colorPrimary" />
app:strokeColor="?colorPrimary" />
<com.google.android.material.button.MaterialButton

View File

@ -79,7 +79,7 @@
app:layout_constraintEnd_toStartOf="@id/center_buttons_guideline"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/input_destinatario"
app:strokeColor="@color/colorPrimary" />
app:strokeColor="?colorPrimary" />
<com.google.android.material.button.MaterialButton

View File

@ -162,7 +162,7 @@
android:layout_height="wrap_content"
style="@style/Button.PrimaryOutline"
app:icon="@drawable/ic_clear_24dp"
app:strokeColor="@color/colorPrimary"
app:strokeColor="?colorPrimary"
android:layout_marginEnd="8dp"
android:text="@string/abort"/>

View File

@ -40,7 +40,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Button.PrimaryOutline"
app:strokeColor="@color/colorPrimary"
app:strokeColor="?colorPrimary"
android:layout_marginEnd="8dp"
android:text="@string/abort"/>

View File

@ -81,7 +81,7 @@
app:layout_constraintEnd_toStartOf="@id/center_buttons_guideline"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:strokeColor="@color/colorPrimary" />
app:strokeColor="?colorPrimary" />
<com.google.android.material.button.MaterialButton

View File

@ -3,6 +3,7 @@
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="view"
type="it.integry.integrywmsnative.view.dialogs.ask_should_versamento_automatico_ul.DialogAskShouldVersamentoAutomaticoULView" />
@ -13,101 +14,41 @@
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical"
app:cardCornerRadius="12dp"
app:cardCornerRadius="16dp"
app:cardElevation="0dp">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:orientation="vertical"
android:paddingHorizontal="16dp"
android:paddingVertical="16dp">
<RelativeLayout
<androidx.appcompat.widget.AppCompatImageView
style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"
android:layout_width="36dp"
android:layout_height="36dp"
android:src="@drawable/ic_error_white_24dp"
app:tint="?colorPrimary" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title_text"
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/light_blue_300"
android:gravity="center_horizontal">
android:layout_marginBottom="16dp"
android:gravity="center_horizontal"
android:text="@string/versamento_automatico" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="24dp"
android:src="@drawable/ic_error_white_24dp" />
</RelativeLayout>
<androidx.appcompat.widget.LinearLayoutCompat
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/description_text"
style="@style/TextAppearance.Material3.BodyMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="24dp"
android:paddingTop="24dp"
android:paddingRight="24dp">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title_text"
style="@style/TextViewMaterial.Dialog.HeadlineText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/versamento_automatico" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/description_text"
style="@style/TextViewMaterial"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:gravity="left"
android:text="@string/ask_should_versamento_automatico" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/center_buttons_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.5" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button_abort"
style="@style/Button.PrimaryOutline"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:text="@string/no"
app:layout_constraintEnd_toStartOf="@id/center_buttons_guideline"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:strokeColor="@color/colorPrimary"
android:onClick="@{() -> view.abort()}" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button_confirm"
style="@style/Button.PrimaryFull"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:text="@string/yes"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/center_buttons_guideline"
app:layout_constraintTop_toTopOf="parent"
android:onClick="@{() -> view.confirm()}"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
android:gravity="center_horizontal"
android:text="@string/ask_should_versamento_automatico" />
</androidx.appcompat.widget.LinearLayoutCompat>

View File

@ -35,7 +35,7 @@
android:layout_alignParentStart="true"
android:layout_toStartOf="@id/already_inventariato"
android:text="@{item.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
android:layout_marginTop="8dp"

View File

@ -191,7 +191,7 @@
<!-- app:layout_constraintEnd_toStartOf="@id/right_buttons_guideline"-->
<!-- app:layout_constraintStart_toStartOf="@id/left_buttons_guideline"-->
<!-- app:layout_constraintTop_toTopOf="parent"-->
<!-- app:strokeColor="@color/colorPrimary" />-->
<!-- app:strokeColor="?colorPrimary" />-->
<!-- <com.google.android.material.button.MaterialButton-->
@ -236,7 +236,7 @@
<!-- app:layout_constraintEnd_toStartOf="@id/center_guideline2"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent"-->
<!-- app:strokeColor="@color/colorPrimary" />-->
<!-- app:strokeColor="?colorPrimary" />-->
<!-- <com.google.android.material.button.MaterialButton-->

View File

@ -41,7 +41,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
style="@style/AppTheme.NewMaterial.Text"
@ -121,7 +121,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:paddingLeft="6dp"
android:paddingTop="2dp"

View File

@ -39,7 +39,7 @@
android:layout_height="wrap_content"
android:layout_marginHorizontal="12dp"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:layout_gravity="center"
android:paddingLeft="6dp"
android:paddingTop="2dp"

View File

@ -116,7 +116,7 @@
app:layout_constraintEnd_toStartOf="@id/center_buttons_guideline"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:strokeColor="@color/colorPrimary" />
app:strokeColor="?colorPrimary" />
<com.google.android.material.button.MaterialButton

View File

@ -35,7 +35,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{item.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
tools:text="COD MART" />

View File

@ -53,7 +53,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{item.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
tools:text="COD MART" />
@ -112,7 +112,7 @@
android:layout_marginStart="12dp"
android:gravity="center_horizontal"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:visibility="@{item.qta != null ? View.VISIBLE : View.GONE}">
<androidx.appcompat.widget.AppCompatTextView

View File

@ -58,7 +58,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{item.mtbColr.mtbAart.getCodMart()}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
tools:text="COD MART" />
@ -116,7 +116,7 @@
android:layout_marginStart="8dp"
android:padding="6dp"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center_horizontal"
android:orientation="vertical"
android:visibility="@{item.mtbColr.qtaCol != null ? View.VISIBLE : View.GONE}">
@ -125,7 +125,7 @@
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:text="@{UtilityNumber.decimalToString(item.mtbColr.qtaCol, 2)}"
android:textAllCaps="true"

View File

@ -43,7 +43,7 @@
android:layout_height="wrap_content"
android:text="@{UtilityString.isNull(mtbPartitaMag.partitaMag, &quot;Nessun lotto&quot;)}"
style="@style/AppTheme.NewMaterial.Text.Medium"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textStyle="bold"
tools:text="PARTITA MAG" />

View File

@ -53,7 +53,7 @@
android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@id/title_text"
app:layout_constraintBottom_toTopOf="@id/level_number_layout"
android:visibility="@{viewModel.tipiCollo.empty ? View.GONE : View.VISIBLE}"
android:visibility="@{viewModel.tipiCollo == null || viewModel.tipiCollo.empty ? View.GONE : View.VISIBLE}"
android:hint="@string/lu_type">
<androidx.appcompat.widget.AppCompatAutoCompleteTextView

View File

@ -147,7 +147,7 @@
android:layout_centerVertical="true"
android:layout_marginStart="8dp"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="6dp"
@ -158,7 +158,7 @@
style="@style/TextAppearance.AppCompat.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:text="@{UtilityNumber.decimalToString(item.numCnf, 0)}"
android:textAllCaps="true"
@ -186,7 +186,7 @@
style="@style/TextAppearance.AppCompat.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:text="@{UtilityNumber.decimalToString(item.qtaCol, item.mtbAart.firstUntMis.cifreDec.intValue())}"
android:textAllCaps="true"

View File

@ -200,7 +200,7 @@
android:layout_centerVertical="true"
android:layout_marginStart="8dp"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="6dp"
@ -211,7 +211,7 @@
style="@style/TextAppearance.AppCompat.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:text="@{UtilityNumber.decimalToString(item.numCnf, 0)}"
android:textAllCaps="true"
@ -239,7 +239,7 @@
style="@style/TextAppearance.AppCompat.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:text="@{UtilityNumber.decimalToString(item.qtaCol, item.mtbAart.firstUntMis.cifreDec.intValue())}"
android:textAllCaps="true"

View File

@ -66,7 +66,7 @@
android:layout_centerVertical="true"
android:layout_marginStart="8dp"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="6dp"
@ -77,7 +77,7 @@
style="@style/TextAppearance.AppCompat.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:text="@{UtilityNumber.decimalToString(item.numCnf, 0)}"
android:textAllCaps="true"
@ -106,7 +106,7 @@
style="@style/TextAppearance.AppCompat.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:text="@{UtilityNumber.decimalToString(item.qtaOrd, item.mtbAart.firstUntMis.cifreDec.intValue())}"
android:textAllCaps="true"

View File

@ -98,7 +98,7 @@
app:layout_constraintEnd_toStartOf="@id/guide_half_vertical"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/guide_buttons_top"
app:strokeColor="@color/colorPrimary" />
app:strokeColor="?colorPrimary" />
<com.google.android.material.button.MaterialButton

View File

@ -82,7 +82,7 @@
android:layout_height="wrap_content"
android:ellipsize="end"
android:text="@{viewmodel.mtbAart.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
tools:text="COD MART (Partita mag)" />
<androidx.appcompat.widget.AppCompatTextView

View File

@ -74,7 +74,7 @@
android:layout_toStartOf="@id/unt_mis"
android:ellipsize="end"
android:text="@{viewmodel.mtbAart.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
tools:text="COD MART (Partita mag)" />
<androidx.appcompat.widget.AppCompatTextView
@ -85,7 +85,7 @@
android:layout_alignParentEnd="true"
android:ellipsize="end"
android:text="@{viewmodel.mtbAart.untMis}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:visibility="@{viewmodel.mtbAart.untMis != null ? View.VISIBLE : View.GONE}"
tools:text="UM" />
@ -612,7 +612,7 @@
android:layout_marginStart="2dp"
android:layout_weight="0.5"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:orientation="vertical"
android:padding="8dp"
android:visibility="@{viewmodel.totalNumCnfAvailable != null || viewmodel.totalQtaAvailable != null ? View.VISIBLE : View.GONE}">
@ -983,7 +983,7 @@
android:layout_weight="1"
android:onClick="@{() -> view.saveAndCloseLU()}"
android:text="@string/action_close_ul"
app:strokeColor="@color/colorPrimary"
app:strokeColor="?colorPrimary"
app:visibility="@{view.enabledLUCloseButton}" />

View File

@ -63,7 +63,7 @@
android:layout_toStartOf="@id/unt_mis"
android:ellipsize="end"
android:text="@{view.articolo.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
tools:text="020100514" />
<androidx.appcompat.widget.AppCompatTextView
@ -74,7 +74,7 @@
android:layout_alignParentEnd="true"
android:ellipsize="end"
android:text="@{view.articolo.untMis}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
tools:text="KG" />
</RelativeLayout>
@ -516,7 +516,7 @@
android:layout_marginStart="2dp"
android:layout_weight="1"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:orientation="vertical"
android:padding="8dp">

View File

@ -76,7 +76,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{row.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
tools:text="COD MART" />
@ -117,7 +117,7 @@
android:layout_centerVertical="true"
android:layout_marginStart="8dp"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="6dp">
@ -127,7 +127,7 @@
style="@style/TextAppearance.AppCompat.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:text="@{row.codAlis}"
android:textAllCaps="true"

View File

@ -73,7 +73,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{row.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
tools:text="COD MART" />
@ -114,7 +114,7 @@
android:layout_centerVertical="true"
android:layout_marginStart="8dp"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="6dp">
@ -124,7 +124,7 @@
style="@style/TextAppearance.AppCompat.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:text="@{UtilityNumber.decimalToString(row.qtaOrd)}"
android:textAllCaps="true"

View File

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable name="view"
type="it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiView" />
<variable
name="viewmodel"
type="it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiViewModel" />
</data>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical"
app:cardCornerRadius="16dp"
app:cardElevation="0dp">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="16dp"
android:paddingVertical="16dp">
<androidx.appcompat.widget.AppCompatImageView
style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"
android:layout_width="36dp"
android:layout_height="36dp"
android:src="@drawable/ic_error_white_24dp"
app:tint="?colorPrimary" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title_text"
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:gravity="center_horizontal"
android:text="Tracciamento imballi" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/description_text"
style="@style/TextAppearance.Material3.BodyMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="Qui è possibile aggiungere tutti gli articoli e le quantità da tracciare" />
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:isScrollContainer="true">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:nestedScrollingEnabled="false"
tools:itemCount="4"
tools:listitem="@layout/dialog_tracciamento_imballi__list_item_model" />
<Button
style="?attr/materialIconButtonFilledTonalStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:text="Aggiungi"
app:visibility="@{view.canAddMoreItems}"
app:icon="@drawable/ic_add_material3"
app:singleClick="@{() -> viewmodel.addNew()}" />
<Button
style="?attr/materialIconButtonFilledTonalStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:text="Salva"
app:reverse_visibility="@{view.canAddMoreItems}"
app:icon="@drawable/ic_tick"
app:singleClick="@{() -> viewmodel.saveCurrent()}" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.core.widget.NestedScrollView>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.cardview.widget.CardView>
</layout>

View File

@ -0,0 +1,169 @@
<?xml version="1.0" encoding="utf-8"?>
<layout>
<data>
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
<variable
name="item"
type="it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.TracciamentoImballoDTO" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="4dp"
android:background="?attr/selectableItemBackground">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toStartOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:visibility="@{item.editable}"
tools:visibility="visible">
<!-- <androidx.constraintlayout.widget.Guideline-->
<!-- android:id="@+id/guide_art_qta_vert"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_height="0dp"-->
<!-- android:orientation="vertical"-->
<!-- app:layout_constraintGuide_percent="0.65" />-->
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/input_articolo"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense.ExposedDropdownMenu"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="4dp"
app:layout_constraintEnd_toStartOf="@id/input_qta"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/filled_exposed_dropdown_articolo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/article"
android:inputType="textNoSuggestions"
android:imeOptions="actionNext"
android:singleLine="true" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/input_qta"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="4dp"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintWidth_percent="0.35">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/text_input_qta"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="@string/quantity"
android:singleLine="true"
android:inputType="number"
android:imeOptions="actionDone"
app:binding="@{item.qta}"/>
</com.google.android.material.textfield.TextInputLayout>
<!-- <androidx.appcompat.widget.AppCompatImageButton-->
<!-- android:id="@+id/confirm_button"-->
<!-- android:layout_width="20dp"-->
<!-- android:layout_height="20dp"-->
<!-- android:padding="2dp"-->
<!-- android:scaleType="centerInside"-->
<!-- android:background="@drawable/circular_background"-->
<!-- android:backgroundTint="@color/green_500"-->
<!-- android:foreground="?attr/selectableItemBackground"-->
<!-- android:src="@drawable/ic_tick"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent"-->
<!-- app:tint="@android:color/white" />-->
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="8dp"
tools:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:reverse_visibility="@{item.editable}">
<TextView
android:id="@+id/group_title"
style="@style/TextAppearance.Material3.BodyMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="center_vertical"
android:singleLine="true"
android:layout_marginEnd="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toStartOf="@id/qta_box"
android:text="@{item.descrizione}"
tools:text="Cassetta verdura" />
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/qta_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:background="@drawable/badge_round_corner"
android:backgroundTint="?colorPrimary"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="6dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<androidx.appcompat.widget.AppCompatTextView
style="@style/TextAppearance.AppCompat.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:text="@{UtilityNumber.decimalToString(item.qta, 0)}"
android:textAllCaps="true"
android:textColor="@android:color/white"
android:textStyle="bold"
tools:text="280" />
<!-- <androidx.appcompat.widget.AppCompatTextView-->
<!-- style="@style/TextAppearance.AppCompat.Small"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:gravity="center"-->
<!-- android:text="@{row.untMisOrd}"-->
<!-- android:textAllCaps="true"-->
<!-- android:textColor="@android:color/white"-->
<!-- android:textStyle="bold"-->
<!-- tools:text="CONF" />-->
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@ -110,7 +110,7 @@
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/buttons_guideline"
app:strokeColor="@color/colorPrimary"
app:strokeColor="?colorPrimary"
android:text="@string/reset"/>

View File

@ -110,7 +110,7 @@
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/buttons_guideline"
app:strokeColor="@color/colorPrimary"
app:strokeColor="?colorPrimary"
android:text="@string/reset"/>

View File

@ -5,7 +5,9 @@
xmlns:tools="http://schemas.android.com/tools">
<data>
<import type="android.view.View" />
<variable
name="view"
type="it.integry.integrywmsnative.view.dialogs.versamento_automatico_ul_done.DialogVersamentoAutomaticoULDoneView" />
@ -17,66 +19,44 @@
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical"
app:cardBackgroundColor="@android:color/transparent"
app:cardCornerRadius="24dp"
app:cardCornerRadius="16dp"
app:cardElevation="0dp">
<androidx.cardview.widget.CardView
android:id="@+id/base"
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical"
app:cardBackgroundColor="@color/light_blue_300"
app:cardCornerRadius="24dp"
app:cardElevation="0dp">
android:paddingHorizontal="16dp"
android:paddingVertical="16dp">
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/icon"
style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"
android:layout_width="36dp"
android:layout_height="36dp"
android:src="@drawable/ic_error_white_24dp"
app:tint="?colorPrimary" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title_text"
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:background="@drawable/dialog_card_child_bg"
android:padding="24dp">
android:layout_marginBottom="16dp"
android:gravity="center_horizontal"
android:text="@string/versamento_automatico" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/description_text"
style="@style/TextAppearance.Material3.BodyMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/completed" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title_text"
style="@style/TextViewMaterial.Dialog.HeadlineText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/versamento_automatico"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/description_text"
style="@style/TextViewMaterial.Dialog.SupportingText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:gravity="center_horizontal"
android:text="@string/completed"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/title_text" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button_confirm"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="@string/ok"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/description_text"
app:singleClick="@{() -> view.dismiss()}" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.cardview.widget.CardView>
</layout>

View File

@ -50,7 +50,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{item.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
@ -130,7 +130,7 @@
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:paddingLeft="6dp"
android:paddingTop="2dp"

View File

@ -67,7 +67,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{Html.fromHtml(listModel.preDescriptionText)}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
tools:text="N° X del dd/mm/yyyy" />
@ -148,7 +148,7 @@
android:textColor="@android:color/white"
android:textSize="16sp"
android:textStyle="bold"
tools:backgroundTint="@color/colorPrimary"
tools:backgroundTint="?colorPrimary"
tools:text="280.45\nCONF" />
</RelativeLayout>

View File

@ -46,7 +46,7 @@
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:background="?colorPrimary"
android:orientation="horizontal"
android:padding="16dp">

View File

@ -29,7 +29,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:paddingLeft="8dp"
android:paddingTop="2dp"
android:paddingRight="8dp"

View File

@ -74,7 +74,7 @@
android:id="@+id/profile_root_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:background="?colorPrimary"
android:orientation="vertical"
android:padding="16dp">

View File

@ -1,31 +1,30 @@
<layout>
<androidx.appcompat.widget.LinearLayoutCompat
xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainOrange"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingStart="12dp"
xmlns:tools="http://schemas.android.com/tools">
android:orientation="horizontal"
android:paddingStart="12dp">
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:enabled="false" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:enabled="false"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/group_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:ellipsize="end"
android:singleLine="true"
style="@style/TextAppearance.Material3.TitleMedium"
tools:text="NOME GRUPPO"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/group_title"
style="@style/TextAppearance.Material3.TitleMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"
android:textColor="@android:color/white"
tools:text="NOME GRUPPO" />
</androidx.appcompat.widget.LinearLayoutCompat>

View File

@ -52,7 +52,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView

View File

@ -32,7 +32,7 @@
android:layout_height="wrap_content"
tools:text="BADGE 1"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:textColor="@android:color/white"
android:paddingTop="2dp"
android:paddingBottom="2dp"

View File

@ -58,7 +58,7 @@
<!-- <androidx.appcompat.widget.AppCompatTextView-->
<!-- android:id="@+id/right_descrizione"-->
<!-- android:background="@drawable/badge_round_corner"-->
<!-- android:backgroundTint="@color/colorPrimary"-->
<!-- android:backgroundTint="?colorPrimary"-->
<!-- android:textColor="@android:color/white"-->
<!-- android:textStyle="bold"-->
<!-- android:paddingLeft="8dp"-->

View File

@ -48,7 +48,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:paddingLeft="6dp"
android:paddingTop="2dp"

View File

@ -85,7 +85,7 @@
app:text="@{view.descrizionePrimaryArt}"
tools:text="CAVOLO VERZA"
style="@style/AppTheme.NewMaterial.Text.Small"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textStyle="bold"
android:layout_marginEnd="8dp"
/>

View File

@ -41,7 +41,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{articolo.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textSize="18sp"
android:textStyle="bold"
tools:text="COD MART" />
@ -117,7 +117,7 @@
android:textColor="@android:color/white"
android:textSize="16sp"
android:textStyle="bold"
tools:backgroundTint="@color/colorPrimary"
tools:backgroundTint="?colorPrimary"
tools:text="280.45\nCONF" />
</RelativeLayout>

View File

@ -31,7 +31,7 @@
android:layout_height="wrap_content"
tools:text="BADGE 1"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:textColor="@android:color/white"
android:paddingTop="2dp"
android:paddingBottom="2dp"

View File

@ -48,7 +48,7 @@
android:text="@{mtbColt.numCollo.toString()}"
tools:text="22222"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:textColor="@android:color/white"
android:paddingTop="2dp"
android:paddingBottom="2dp"

View File

@ -53,7 +53,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
@ -133,7 +133,7 @@
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:paddingLeft="6dp"
android:paddingTop="2dp"

View File

@ -53,7 +53,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{item.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
@ -117,7 +117,7 @@
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:paddingLeft="6dp"
android:paddingTop="2dp"

View File

@ -36,7 +36,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
style="@style/AppTheme.NewMaterial.Text.Small"
@ -101,7 +101,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:paddingLeft="6dp"
android:paddingTop="2dp"

View File

@ -39,7 +39,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.codMart}"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
style="@style/AppTheme.NewMaterial.Text"
@ -119,7 +119,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:gravity="center"
android:paddingLeft="6dp"
android:paddingTop="2dp"

View File

@ -12,7 +12,7 @@
android:layout_marginVertical="8dp"
android:paddingTop="8dp"
android:textAllCaps="true"
android:textColor="@color/colorPrimary"
android:textColor="?colorPrimary"
tools:text="Linea 1" />
</layout>

View File

@ -189,7 +189,7 @@
android:layout_marginStart="8dp"
android:adjustViewBounds="true"
android:background="@drawable/ic_info_78dp"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:clickable="true"
android:focusable="true"
android:onClick="@{() -> view.onInfoClick(item)}"

View File

@ -3,7 +3,6 @@
<layout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"

View File

@ -97,7 +97,7 @@
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:background="@drawable/ic_info_78dp"
android:backgroundTint="@color/colorPrimary"
android:backgroundTint="?colorPrimary"
android:visibility="gone" />
</androidx.appcompat.widget.LinearLayoutCompat>

Some files were not shown because too many files have changed in this diff Show More