Merge branch 'develop' into feature/GestioneDocumentiLavorazione

# Conflicts:
#	app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailPickedQuantityDTO.java
#	app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/adapter/DialogInputLUProdTipoColloAdapter.java
#	build.gradle
This commit is contained in:
Giuseppe Scorrano 2025-01-20 18:19:28 +01:00
commit 09cebb1c7e
56 changed files with 1470 additions and 996 deletions

View File

@ -4,7 +4,7 @@
<selectionStates> <selectionStates>
<SelectionState runConfigName="app"> <SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" /> <option name="selectionMode" value="DROPDOWN" />
<DropdownSelection timestamp="2025-01-09T09:29:04.931795900Z"> <DropdownSelection timestamp="2025-01-17T09:18:08.345092200Z">
<Target type="DEFAULT_BOOT"> <Target type="DEFAULT_BOOT">
<handle> <handle>
<DeviceId pluginId="PhysicalDevice" identifier="serial=21088B8EFD" /> <DeviceId pluginId="PhysicalDevice" identifier="serial=21088B8EFD" />

2
.idea/kotlinc.xml generated
View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="KotlinJpsPluginSettings"> <component name="KotlinJpsPluginSettings">
<option name="version" value="1.9.20" /> <option name="version" value="1.9.25" />
</component> </component>
</project> </project>

View File

@ -5,13 +5,13 @@ if (!project.hasProperty("disable-performance-plugin")) {
} }
apply plugin: 'com.google.firebase.crashlytics' apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'kotlin-android' //apply plugin: 'kotlin-android'
apply plugin: 'com.google.gms.google-services' apply plugin: 'com.google.gms.google-services'
android { android {
def appVersionCode = 463 def appVersionCode = 465
def appVersionName = '1.42.03' def appVersionName = '1.43.00'
signingConfigs { signingConfigs {
release { release {
@ -34,10 +34,10 @@ android {
defaultConfig { defaultConfig {
applicationId "it.integry.integrywmsnative" applicationId "it.integry.integrywmsnative"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 34 targetSdkVersion 35
versionCode appVersionCode versionCode appVersionCode
versionName appVersionName versionName appVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" // testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
signingConfig signingConfigs.release signingConfig signingConfigs.release
javaCompileOptions { javaCompileOptions {
@ -80,30 +80,37 @@ android {
} }
gradle.projectsEvaluated { gradle.projectsEvaluated {
tasks.withType(JavaCompile.class) { tasks.withType(JavaCompile.class).tap {
options.compilerArgs << "-Xmaxerrs" << "10000" configureEach {
options.compilerArgs << "-Xmaxerrs" << "10000"
}
} }
} }
lint { lint {
abortOnError false abortOnError false
} }
namespace 'it.integry.integrywmsnative' namespace 'it.integry.integrywmsnative'
compileSdk 34 compileSdk 35
}
configurations {
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk7'
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
} }
dependencies { dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.4' coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.4'
implementation fileTree(include: ['*.jar'], dir: 'libs') implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', { // androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1', {
exclude group: 'com.android.support', module: 'support-annotations' // exclude group: 'com.android.support', module: 'support-annotations'
}) // })
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'com.github.lupaulus:logger:2.3.2' implementation 'com.github.lupaulus:logger:2.3.2'
//Firebase //Firebase
// Import the Firebase BoM // Import the Firebase BoM
implementation platform('com.google.firebase:firebase-bom:33.7.0') implementation platform('com.google.firebase:firebase-bom:33.8.0')
implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-crashlytics' implementation 'com.google.firebase:firebase-crashlytics'
implementation 'com.google.firebase:firebase-perf' implementation 'com.google.firebase:firebase-perf'
@ -115,7 +122,7 @@ dependencies {
implementation 'com.google.android.material:material:1.12.0' implementation 'com.google.android.material:material:1.12.0'
implementation 'androidx.constraintlayout:constraintlayout:2.2.0' implementation 'androidx.constraintlayout:constraintlayout:2.2.0'
implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.3.2' implementation 'androidx.recyclerview:recyclerview:1.4.0'
implementation('androidx.preference:preference-ktx:1.2.1') { implementation('androidx.preference:preference-ktx:1.2.1') {
exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel' exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel'
@ -132,7 +139,7 @@ dependencies {
implementation 'org.apache.commons:commons-text:1.9' implementation 'org.apache.commons:commons-text:1.9'
//MVVM //MVVM
def dagger2_version = '2.49' def dagger2_version = '2.55'
api "com.google.dagger:dagger:$dagger2_version" api "com.google.dagger:dagger:$dagger2_version"
annotationProcessor "com.google.dagger:dagger-compiler:$dagger2_version" annotationProcessor "com.google.dagger:dagger-compiler:$dagger2_version"
api "com.google.dagger:dagger-android:$dagger2_version" api "com.google.dagger:dagger-android:$dagger2_version"

View File

@ -83,8 +83,8 @@ public class MainApplicationModule {
@Provides @Provides
@Singleton @Singleton
public SettingsManager provideSettingsManager(SystemRESTConsumer systemRESTConsumer, AziendaRESTConsumer aziendaRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer, GestSetupRESTConsumer gestSetupRESTConsumer) { public SettingsManager provideSettingsManager(SystemRESTConsumer systemRESTConsumer, ImballiRESTConsumer imballiRESTConsumer, AziendaRESTConsumer aziendaRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer, GestSetupRESTConsumer gestSetupRESTConsumer) {
return new SettingsManager(mApplication, systemRESTConsumer, aziendaRESTConsumer, gestSetupRESTConsumer, posizioniRESTConsumer); return new SettingsManager(mApplication, systemRESTConsumer, imballiRESTConsumer, aziendaRESTConsumer, gestSetupRESTConsumer, posizioniRESTConsumer);
} }
@Provides @Provides

View File

@ -103,12 +103,12 @@ public class SplashActivity extends BaseActivity implements MainContext.Listener
@Override @Override
public void onDBDataLoading(String item) { public void onDBDataLoading(String item) {
mBinding.loadingInfoTextview.setText("Caricamento " + item); runOnUiThread(() -> mBinding.loadingInfoTextview.setText("Caricamento " + item));
} }
@Override @Override
public void onMenuLoading() { public void onMenuLoading() {
mBinding.loadingInfoTextview.setText("Caricamento menù"); runOnUiThread(() -> mBinding.loadingInfoTextview.setText("Caricamento menù"));
} }
@Override @Override

View File

@ -9,7 +9,7 @@ import java.math.BigDecimal;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
public class BindableBigDecimal implements Observable { public class BindableBigDecimal implements Observable {
BigDecimal mValue; BigDecimal mValue;

View File

@ -105,7 +105,7 @@ public class Converters {
view.setTag(R.id.bound_observable, new Pair<>(observableField, watcher)); view.setTag(R.id.bound_observable, new Pair<>(observableField, watcher));
view.addTextChangedListener(watcher); view.addTextChangedListener(watcher);
} }
String newValue = observableField.get(); String newValue = observableField != null ? observableField.get() : "";
if (!view.getText().toString().equals(newValue)) { if (!view.getText().toString().equals(newValue)) {
view.setText(newValue); view.setText(newValue);
} }
@ -819,6 +819,45 @@ public class Converters {
} }
@BindingAdapter("visibilityWhenNotNull")
public static void bindViewVisibilityWhenNotNull(View view, ObservableField<?> bindableObject) {
if(bindableObject == null) return;
if (view.getTag(R.id.bound_observable) != bindableObject) {
view.setTag(R.id.bound_observable, bindableObject);
}
bindableObject.addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
@Override
public void onPropertyChanged(Observable sender, int propertyId) {
view.setVisibility(bindableObject.get() == null ? View.GONE : View.VISIBLE);
}
});
view.setVisibility(bindableObject.get() == null ? View.GONE : View.VISIBLE);
}
@BindingAdapter("visibilityWhenNull")
public static void bindViewVisibilityWhenNull(View view, ObservableField<?> bindableObject) {
if (view.getTag(R.id.bound_observable_visibility) != bindableObject) {
view.setTag(R.id.bound_observable_visibility, bindableObject);
}
view.setVisibility(bindableObject == null || bindableObject.get() == null ? View.VISIBLE : View.GONE);
if(bindableObject == null) return;
bindableObject.addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
@Override
public void onPropertyChanged(Observable sender, int propertyId) {
view.setVisibility(bindableObject.get() == null ? View.VISIBLE : View.GONE);
}
});
}
@BindingAdapter({"reverse_visibility"}) @BindingAdapter({"reverse_visibility"})
public static void bindViewReverseVisibility(View view, final BindableBoolean bindableBoolean) { public static void bindViewReverseVisibility(View view, final BindableBoolean bindableBoolean) {
if (view.getTag(R.id.bound_reverse_visibility) != bindableBoolean) { if (view.getTag(R.id.bound_reverse_visibility) != bindableBoolean) {

View File

@ -0,0 +1,16 @@
package it.integry.integrywmsnative.core.helper;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
public final class GestioneToTextConverter {
public static String convert(GestioneEnum gestioneEnum) {
return switch (gestioneEnum) {
case ACQUISTO -> "Acquisto";
case PRODUZIONE -> "Produzione";
case LAVORAZIONE -> "Lavorazione";
case VENDITA -> "Vendita";
};
}
}

View File

@ -3,6 +3,7 @@ package it.integry.integrywmsnative.core.model;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableField;
import com.annimon.stream.Optional; import com.annimon.stream.Optional;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
@ -16,6 +17,7 @@ import java.util.Date;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.core.model.dto.InternalCodAnagsDTO; import it.integry.integrywmsnative.core.model.dto.InternalCodAnagsDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityDB; import it.integry.integrywmsnative.core.utility.UtilityDB;
@ -64,7 +66,7 @@ public class MtbColt extends EntityBase {
private BigDecimal altezzaCm; private BigDecimal altezzaCm;
private String codJcom; private String codJcom;
private MtbTCol mtbTCol; private final ObservableField<ObservableMtbTcol> mtbTCol = new ObservableField<>();
private Boolean disablePrint; private Boolean disablePrint;
private String ragSocCliente; private String ragSocCliente;
@ -258,6 +260,16 @@ public class MtbColt extends EntityBase {
public MtbColt setCodTcol(String codTcol) { public MtbColt setCodTcol(String codTcol) {
this.codTcol = codTcol; this.codTcol = codTcol;
if(!UtilityString.isNullOrEmpty(codTcol)) {
var fountMtbTcolObservable = SettingsManager.iDB().getInternalImballi().stream()
.filter(x -> x.getCodTcol().equalsIgnoreCase(codTcol))
.findFirst()
.orElse(null);
this.setMtbTCol(fountMtbTcolObservable);
} else
this.setMtbTCol(null);
return this; return this;
} }
@ -532,15 +544,19 @@ public class MtbColt extends EntityBase {
return this; return this;
} }
public MtbTCol getMtbTCol() { public ObservableMtbTcol getMtbTCol() {
return mtbTCol; return mtbTCol.get();
} }
public MtbColt setMtbTCol(MtbTCol mtbTCol) { public MtbColt setMtbTCol(ObservableMtbTcol mtbTCol) {
this.mtbTCol = mtbTCol; this.mtbTCol.set(mtbTCol);
return this; return this;
} }
public ObservableField<ObservableMtbTcol> mtbTcolProperty() {
return mtbTCol;
}
public void generaFiltroOrdineFromDTO(List<FiltroOrdineDTO> filtroOrdineDtos) { public void generaFiltroOrdineFromDTO(List<FiltroOrdineDTO> filtroOrdineDtos) {
String xmlPrefix = "{\"whereCond\": \""; String xmlPrefix = "{\"whereCond\": \"";

View File

@ -15,7 +15,7 @@ public class MtbTCol {
private BigDecimal taraKg; private BigDecimal taraKg;
private String descrizione; private String descrizione;
private String codMart; private String codMart;
private FlagUiUlEnum flagUIUL; private FlagUiUlEnum flagUiUl;
private String circuito; private String circuito;
public String getCodTcol() { public String getCodTcol() {
@ -90,12 +90,12 @@ public class MtbTCol {
return this; return this;
} }
public FlagUiUlEnum getFlagUIUL() { public FlagUiUlEnum getFlagUiUl() {
return flagUIUL; return flagUiUl;
} }
public void setFlagUIUL(FlagUiUlEnum flagUIUL) { public void setFlagUiUl(FlagUiUlEnum flagUiUl) {
this.flagUIUL = flagUIUL; this.flagUiUl = flagUiUl;
} }
public String getCircuito() { public String getCircuito() {

View File

@ -0,0 +1,29 @@
package it.integry.integrywmsnative.core.model.mapper;
import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableList;
import java.util.List;
import java.util.stream.Collectors;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
public class MtbTcolMapper {
public static ObservableMtbTcol fromDTO(MtbTCol dto) {
ObservableMtbTcol mtbTcol = new ObservableMtbTcol();
mtbTcol.updateFromDTO(dto);
return mtbTcol;
}
public static ObservableList<ObservableMtbTcol> fromDTOList(List<MtbTCol> dto) {
ObservableList<ObservableMtbTcol> mtbTCols = new ObservableArrayList<>();
mtbTCols.addAll(dto.stream().map(MtbTcolMapper::fromDTO)
.collect(Collectors.toUnmodifiableList()));
return mtbTCols;
}
}

View File

@ -0,0 +1,127 @@
package it.integry.integrywmsnative.core.model.observable;
import androidx.databinding.BaseObservable;
import androidx.databinding.Bindable;
import androidx.databinding.ObservableField;
import java.math.BigDecimal;
import it.integry.integrywmsnative.core.model.MtbTCol;
public class ObservableMtbTcol extends BaseObservable {
private final ObservableField<String> codTcol = new ObservableField<>();
private final ObservableField<BigDecimal> pesoKg = new ObservableField<>();
private final ObservableField<BigDecimal> lunghezzaCm = new ObservableField<>();
private final ObservableField<BigDecimal> larghezzaCm = new ObservableField<>();
private final ObservableField<BigDecimal> altezzaCm = new ObservableField<>();
private final ObservableField<BigDecimal> taraKg = new ObservableField<>();
private final ObservableField<String> descrizione = new ObservableField<>();
private final ObservableField<String> codMart = new ObservableField<>();
private final ObservableField<MtbTCol.FlagUiUlEnum> flagUIUL = new ObservableField<>();
private final ObservableField<String> circuito = new ObservableField<>();
@Bindable
public String getCodTcol() {
return codTcol.get();
}
@Bindable
public BigDecimal getPesoKg() {
return pesoKg.get();
}
@Bindable
public BigDecimal getLunghezzaCm() {
return lunghezzaCm.get();
}
@Bindable
public BigDecimal getLarghezzaCm() {
return larghezzaCm.get();
}
@Bindable
public BigDecimal getAltezzaCm() {
return altezzaCm.get();
}
@Bindable
public BigDecimal getTaraKg() {
return taraKg.get();
}
@Bindable
public String getDescrizione() {
return descrizione.get();
}
@Bindable
public String getCodMart() {
return codMart.get();
}
@Bindable
public MtbTCol.FlagUiUlEnum getFlagUIUL() {
return flagUIUL.get();
}
@Bindable
public String getCircuito() {
return circuito.get();
}
public ObservableField<String> codTcolProperty() {
return codTcol;
}
public ObservableField<BigDecimal> pesoKgProperty() {
return pesoKg;
}
public ObservableField<BigDecimal> lunghezzaCmProperty() {
return lunghezzaCm;
}
public ObservableField<BigDecimal> larghezzaCmProperty() {
return larghezzaCm;
}
public ObservableField<BigDecimal> altezzaCmProperty() {
return altezzaCm;
}
public ObservableField<BigDecimal> taraKgProperty() {
return taraKg;
}
public ObservableField<String> descrizioneProperty() {
return descrizione;
}
public ObservableField<String> codMartProperty() {
return codMart;
}
public ObservableField<MtbTCol.FlagUiUlEnum> flagUIULProperty() {
return flagUIUL;
}
public ObservableField<String> circuitoProperty() {
return circuito;
}
public void updateFromDTO(MtbTCol mtbTCol) {
codTcol.set(mtbTCol.getCodTcol());
pesoKg.set(mtbTCol.getPesoKg());
lunghezzaCm.set(mtbTCol.getLunghezzaCm());
larghezzaCm.set(mtbTCol.getLarghezzaCm());
altezzaCm.set(mtbTCol.getAltezzaCm());
taraKg.set(mtbTCol.getTaraKg());
descrizione.set(mtbTCol.getDescrizione());
codMart.set(mtbTCol.getCodMart());
flagUIUL.set(mtbTCol.getFlagUiUl());
circuito.set(mtbTCol.getCircuito());
}
}

View File

@ -7,6 +7,8 @@ import javax.inject.Singleton;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.mapper.MtbTcolMapper;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; 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.ImballoQuantityDTO;
@ -24,18 +26,19 @@ public class ImballiRESTConsumer extends _BaseRESTConsumer {
} }
public List<MtbTCol> retrieveTipiColloSyncronized(MtbTCol.FlagUiUlEnum tipoImballo) throws Exception { public List<ObservableMtbTcol> retrieveImballiSyncronized(MtbTCol.FlagUiUlEnum tipoImballo) throws Exception {
ImballiRESTConsumerService service = RESTBuilder.getService(ImballiRESTConsumerService.class); ImballiRESTConsumerService service = RESTBuilder.getService(ImballiRESTConsumerService.class);
Response<ServiceRESTResponse<List<MtbTCol>>> response = service.retrieveTipiCollo(tipoImballo) Response<ServiceRESTResponse<List<MtbTCol>>> response = service.retrieveImballi(tipoImballo)
.execute(); .execute();
return analyzeAnswer(response, "retrieveTipiCollo"); List<MtbTCol> retrieveTipiCollo = analyzeAnswer(response, "retrieveTipiCollo");
return MtbTcolMapper.fromDTOList(retrieveTipiCollo);
} }
public void retrieveTipiCollo(MtbTCol.FlagUiUlEnum tipoImballo, RunnableArgs<List<MtbTCol>> onComplete, RunnableArgs<Exception> onFailed) { public void retrieveImballi(MtbTCol.FlagUiUlEnum tipoImballo, RunnableArgs<List<ObservableMtbTcol>> onComplete, RunnableArgs<Exception> onFailed) {
executorService.execute(() -> { executorService.execute(() -> {
try { try {
var response = retrieveTipiColloSyncronized(tipoImballo); var response = retrieveImballiSyncronized(tipoImballo);
if (onComplete != null) onComplete.run(response); if (onComplete != null) onComplete.run(response);
} catch (Exception ex) { } catch (Exception ex) {
if (onFailed != null) onFailed.run(ex); if (onFailed != null) onFailed.run(ex);

View File

@ -16,7 +16,7 @@ public interface ImballiRESTConsumerService {
@GET("wms/imballi/retrieve/{tipo}") @GET("wms/imballi/retrieve/{tipo}")
Call<ServiceRESTResponse<List<MtbTCol>>> retrieveTipiCollo(@Path("tipo") MtbTCol.FlagUiUlEnum tipo); Call<ServiceRESTResponse<List<MtbTCol>>> retrieveImballi(@Path("tipo") MtbTCol.FlagUiUlEnum tipo);
@POST("wms/imballi/registraCarico") @POST("wms/imballi/registraCarico")
Call<ServiceRESTResponse<Void>> registraCarico(@Body RegistraCaricoImballiRequestDTO registraCaricoImballiRequest); Call<ServiceRESTResponse<Void>> registraCarico(@Body RegistraCaricoImballiRequestDTO registraCaricoImballiRequest);

View File

@ -1,11 +1,15 @@
package it.integry.integrywmsnative.core.settings; package it.integry.integrywmsnative.core.settings;
import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableList;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.core.model.Azienda; import it.integry.integrywmsnative.core.model.Azienda;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import it.integry.integrywmsnative.core.model.dto.InternalCodAnagsDTO; import it.integry.integrywmsnative.core.model.dto.InternalCodAnagsDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO; import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
public class DBSettingsModel { public class DBSettingsModel {
@ -16,6 +20,7 @@ public class DBSettingsModel {
private Azienda datiAzienda = null; private Azienda datiAzienda = null;
private List<InternalCodAnagsDTO> internalCodAnags = null; private List<InternalCodAnagsDTO> internalCodAnags = null;
private ObservableList<ObservableMtbTcol> internalImballi = new ObservableArrayList<>();
private boolean enableCheckPartitaMagCheckPickingV; private boolean enableCheckPartitaMagCheckPickingV;
private boolean flagMultiClienteOrdV; private boolean flagMultiClienteOrdV;
@ -137,6 +142,15 @@ public class DBSettingsModel {
return this; return this;
} }
public ObservableList<ObservableMtbTcol> getInternalImballi() {
return internalImballi;
}
public DBSettingsModel setInternalImballi(ObservableList<ObservableMtbTcol> internalImballi) {
this.internalImballi = internalImballi;
return this;
}
public List<AvailableCodMdepsDTO> getAvailableCodMdep() { public List<AvailableCodMdepsDTO> getAvailableCodMdep() {
return availableCodMdep; return availableCodMdep;
} }

View File

@ -2,6 +2,8 @@ package it.integry.integrywmsnative.core.settings;
import android.content.Context; import android.content.Context;
import androidx.databinding.ObservableArrayList;
import com.google.firebase.perf.metrics.Trace; import com.google.firebase.perf.metrics.Trace;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
@ -16,9 +18,12 @@ import javax.inject.Singleton;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.dto.InternalCodAnagsDTO; import it.integry.integrywmsnative.core.model.dto.InternalCodAnagsDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.rest.consumers.AziendaRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.AziendaRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO; import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
@ -38,17 +43,20 @@ public class SettingsManager {
private static Context mContext; private static Context mContext;
private static SystemRESTConsumer mSystemRESTConsumer; private static SystemRESTConsumer mSystemRESTConsumer;
private static ImballiRESTConsumer mImballiRESTConsumer;
private static AziendaRESTConsumer mAziendaRESTConsumer; private static AziendaRESTConsumer mAziendaRESTConsumer;
private static GestSetupRESTConsumer mGestSetupRESTConsumer; private static GestSetupRESTConsumer mGestSetupRESTConsumer;
private static PosizioniRESTConsumer mPosizioniRESTConsumer; private static PosizioniRESTConsumer mPosizioniRESTConsumer;
public SettingsManager(Context context, public SettingsManager(Context context,
SystemRESTConsumer systemRESTConsumer, SystemRESTConsumer systemRESTConsumer,
ImballiRESTConsumer imballiRESTConsumer,
AziendaRESTConsumer aziendaRESTConsumer, AziendaRESTConsumer aziendaRESTConsumer,
GestSetupRESTConsumer gestSetupRESTConsumer, GestSetupRESTConsumer gestSetupRESTConsumer,
PosizioniRESTConsumer posizioniRESTConsumer) { PosizioniRESTConsumer posizioniRESTConsumer) {
mContext = context; mContext = context;
mSystemRESTConsumer = systemRESTConsumer; mSystemRESTConsumer = systemRESTConsumer;
mImballiRESTConsumer = imballiRESTConsumer;
mAziendaRESTConsumer = aziendaRESTConsumer; mAziendaRESTConsumer = aziendaRESTConsumer;
mGestSetupRESTConsumer = gestSetupRESTConsumer; mGestSetupRESTConsumer = gestSetupRESTConsumer;
mPosizioniRESTConsumer = posizioniRESTConsumer; mPosizioniRESTConsumer = posizioniRESTConsumer;
@ -124,12 +132,31 @@ public class SettingsManager {
loadGestSetupValues(() -> { loadGestSetupValues(() -> {
onProgress.run("dati azienda"); onProgress.run("dati azienda");
loadDatiAzienda(tmpOnComplete, tmpOnFailed); loadDatiAzienda(() -> {
loadTipiCollo(tmpOnComplete, tmpOnFailed);
}, tmpOnFailed);
}, tmpOnFailed); }, tmpOnFailed);
}, tmpOnFailed); }, tmpOnFailed);
}, tmpOnFailed); }, tmpOnFailed);
} }
private static void loadTipiCollo(Runnable onComplete, RunnableArgs<Exception> onFailed) {
mImballiRESTConsumer.retrieveImballi(MtbTCol.FlagUiUlEnum.UL, tipiColloUl -> {
mImballiRESTConsumer.retrieveImballi(MtbTCol.FlagUiUlEnum.UI, tipiColloUi -> {
var imballiList = new ObservableArrayList<ObservableMtbTcol>();
imballiList.addAll(tipiColloUi);
imballiList.addAll(tipiColloUl);
SettingsManager.iDB().setInternalImballi(imballiList);
onComplete.run();
}, onFailed);
}, onFailed);
}
private static void loadDatiAzienda(Runnable onComplete, RunnableArgs<Exception> onFailed) { private static void loadDatiAzienda(Runnable onComplete, RunnableArgs<Exception> onFailed) {
mAziendaRESTConsumer.retrieveAzienda(datiAzienda -> { mAziendaRESTConsumer.retrieveAzienda(datiAzienda -> {

View File

@ -41,8 +41,8 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.report.ReportManager; import it.integry.integrywmsnative.core.report.ReportManager;
import it.integry.integrywmsnative.core.rest.model.VersamentoAutomaticoULResponseDTO; import it.integry.integrywmsnative.core.rest.model.VersamentoAutomaticoULResponseDTO;
@ -327,7 +327,7 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac
mAppliedFilterViewModel.applyAllTests(); mAppliedFilterViewModel.applyAllTests();
tmpList = mAppliedFilterViewModel.getMutableFilteredOrderList().getValue(); tmpList = mAppliedFilterViewModel.getMutableFilteredOrderList().getValue();
} else { } else {
tmpList = mViewModel.getPickingList().getValue(); tmpList = mViewModel.getPickingList().getValue();
} }
var list = convertDataModelToListModel(tmpList); var list = convertDataModelToListModel(tmpList);
@ -546,6 +546,16 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac
this.mViewModel.deleteRow(mtbColr); this.mViewModel.deleteRow(mtbColr);
} }
@Override
public void onRequestChangeMtbTcol(MtbColt mtbColt) {
DialogInfoAggiuntiveLUView.newInstance(mtbColt, false, true, (note, mtbTcol) -> {
onLoadingStarted();
mViewModel.updateTipoUl(mtbTcol, this::onLoadingEnded);
}, () -> {
})
.show(getSupportFragmentManager(), "dialog-note-aggiuntive");
}
@Override @Override
public void onBottomSheetLUClose() { public void onBottomSheetLUClose() {
this.mViewModel.closeLU(); this.mViewModel.closeLU();
@ -560,7 +570,7 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac
} }
@Override @Override
public void onInfoAggiuntiveRequest(RunnableArgss<String, MtbTCol> onComplete) { public void onInfoAggiuntiveRequest(RunnableArgss<String, ObservableMtbTcol> onComplete) {
DialogInfoAggiuntiveLUView.newInstance(onComplete, this::onLoadingEnded) DialogInfoAggiuntiveLUView.newInstance(onComplete, this::onLoadingEnded)
.show(getSupportFragmentManager(), DialogInfoAggiuntiveLUView.class.getName()); .show(getSupportFragmentManager(), DialogInfoAggiuntiveLUView.class.getName());
} }

View File

@ -30,9 +30,9 @@ import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingL
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
import it.integry.integrywmsnative.core.model.dto.PickDataDTO; import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
@ -360,7 +360,7 @@ public class AccettazioneBollaPickingViewModel {
}); });
} }
private void manageInfoAggiuntiveRequest(RunnableArgss<String, MtbTCol> onComplete) { private void manageInfoAggiuntiveRequest(RunnableArgss<String, ObservableMtbTcol> onComplete) {
if (!SettingsManager.iDB().isFlagAccettazioneBollaAskTipoCollo()) { if (!SettingsManager.iDB().isFlagAccettazioneBollaAskTipoCollo()) {
onComplete.run(null, null); onComplete.run(null, null);
return; return;
@ -739,6 +739,13 @@ public class AccettazioneBollaPickingViewModel {
this.mPickingList.postValue(this.mPickingList.getValue()); this.mPickingList.postValue(this.mPickingList.getValue());
} }
public void updateTipoUl(ObservableMtbTcol newTipoUL, Runnable onComplete) {
mColliMagazzinoRESTConsumer.updateTipoUL(mCurrentMtbColt, newTipoUL.getCodTcol(), () -> {
mCurrentMtbColt.setCodTcol(newTipoUL.getCodTcol());
onComplete.run();
}, this::sendError);
}
private void addHistoryItem(@NonNull MtbColr mtbColr) { private void addHistoryItem(@NonNull MtbColr mtbColr) {
Optional<HistoryMtbAartDTO> optional = Stream.of(this.mHistoryUsedAarts).filter(x -> (x.getCodMart() != null && x.getCodMart().equalsIgnoreCase(mtbColr.getCodMart())) || (x.getCodMart() == null && x.getBarcode().equalsIgnoreCase(mtbColr.getCodBarre()))).findFirst(); Optional<HistoryMtbAartDTO> optional = Stream.of(this.mHistoryUsedAarts).filter(x -> (x.getCodMart() != null && x.getCodMart().equalsIgnoreCase(mtbColr.getCodMart())) || (x.getCodMart() == null && x.getBarcode().equalsIgnoreCase(mtbColr.getCodBarre()))).findFirst();
@ -773,7 +780,7 @@ public class AccettazioneBollaPickingViewModel {
if (this.mListener != null) this.mListener.onVersamentoAutomaticoULRequest(onComplete); if (this.mListener != null) this.mListener.onVersamentoAutomaticoULRequest(onComplete);
} }
private void sendOnInfoAggiuntiveRequest(RunnableArgss<String, MtbTCol> onComplete) { private void sendOnInfoAggiuntiveRequest(RunnableArgss<String, ObservableMtbTcol> onComplete) {
if (this.mListener != null) this.mListener.onInfoAggiuntiveRequest(onComplete); if (this.mListener != null) this.mListener.onInfoAggiuntiveRequest(onComplete);
} }
@ -838,7 +845,7 @@ public class AccettazioneBollaPickingViewModel {
void onVersamentoAutomaticoULRequest(RunnableArgs<Boolean> onComplete); void onVersamentoAutomaticoULRequest(RunnableArgs<Boolean> onComplete);
void onInfoAggiuntiveRequest(RunnableArgss<String, MtbTCol> onComplete); void onInfoAggiuntiveRequest(RunnableArgss<String, ObservableMtbTcol> onComplete);
void onError(Exception ex); void onError(Exception ex);

View File

@ -44,8 +44,8 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.report.ReportManager; import it.integry.integrywmsnative.core.report.ReportManager;
import it.integry.integrywmsnative.core.rest.model.VersamentoAutomaticoULResponseDTO; import it.integry.integrywmsnative.core.rest.model.VersamentoAutomaticoULResponseDTO;
@ -718,6 +718,16 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
this.mViewModel.deleteRow(mtbColr); this.mViewModel.deleteRow(mtbColr);
} }
@Override
public void onRequestChangeMtbTcol(MtbColt mtbColt) {
DialogInfoAggiuntiveLUView.newInstance(mtbColt, false, true, (note, mtbTcol) -> {
onLoadingStarted();
mViewModel.updateTipoUl(mtbTcol, this::onLoadingEnded);
}, () -> {
})
.show(getSupportFragmentManager(), "dialog-note-aggiuntive");
}
@Override @Override
public void onBottomSheetLUClose() { public void onBottomSheetLUClose() {
this.mViewModel.closeLU(); this.mViewModel.closeLU();
@ -729,7 +739,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
} }
@Override @Override
public void onInfoAggiuntiveRequest(RunnableArgss<String, MtbTCol> onComplete) { public void onInfoAggiuntiveRequest(RunnableArgss<String, ObservableMtbTcol> onComplete) {
DialogInfoAggiuntiveLUView.newInstance(onComplete, this::onLoadingEnded).show(getSupportFragmentManager(), DialogInfoAggiuntiveLUView.class.getName()); DialogInfoAggiuntiveLUView.newInstance(onComplete, this::onLoadingEnded).show(getSupportFragmentManager(), DialogInfoAggiuntiveLUView.class.getName());
} }

View File

@ -32,9 +32,9 @@ import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingL
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
import it.integry.integrywmsnative.core.model.dto.PickDataDTO; import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
@ -892,6 +892,13 @@ public class AccettazioneOrdiniPickingViewModel {
this.mPickingList.postValue(this.mPickingList.getValue()); this.mPickingList.postValue(this.mPickingList.getValue());
} }
public void updateTipoUl(ObservableMtbTcol newTipoUL, Runnable onComplete) {
mColliMagazzinoRESTConsumer.updateTipoUL(mCurrentMtbColt, newTipoUL.getCodTcol(), () -> {
mCurrentMtbColt.setCodTcol(newTipoUL.getCodTcol());
onComplete.run();
}, this::sendError);
}
private void addHistoryItem(@NonNull MtbColr mtbColr) { private void addHistoryItem(@NonNull MtbColr mtbColr) {
Optional<HistoryMtbAartDTO> optional = Stream.of(this.mHistoryUsedAarts) Optional<HistoryMtbAartDTO> optional = Stream.of(this.mHistoryUsedAarts)
.filter(x -> x.getCodMart().equalsIgnoreCase(mtbColr.getCodMart())) .filter(x -> x.getCodMart().equalsIgnoreCase(mtbColr.getCodMart()))
@ -945,7 +952,7 @@ public class AccettazioneOrdiniPickingViewModel {
if (this.mListener != null) this.mListener.onVersamentoAutomaticoULRequest(onComplete); if (this.mListener != null) this.mListener.onVersamentoAutomaticoULRequest(onComplete);
} }
private void sendOnInfoAggiuntiveRequest(RunnableArgss<String, MtbTCol> onComplete) { private void sendOnInfoAggiuntiveRequest(RunnableArgss<String, ObservableMtbTcol> onComplete) {
if (this.mListener != null) this.mListener.onInfoAggiuntiveRequest(onComplete); if (this.mListener != null) this.mListener.onInfoAggiuntiveRequest(onComplete);
} }
@ -1045,7 +1052,7 @@ public class AccettazioneOrdiniPickingViewModel {
void onVersamentoAutomaticoULRequest(RunnableArgs<Boolean> onComplete); void onVersamentoAutomaticoULRequest(RunnableArgs<Boolean> onComplete);
void onInfoAggiuntiveRequest(RunnableArgss<String, MtbTCol> onComplete); void onInfoAggiuntiveRequest(RunnableArgss<String, ObservableMtbTcol> onComplete);
void onError(Exception ex); void onError(Exception ex);

View File

@ -9,7 +9,6 @@ import android.view.ViewGroup;
import androidx.appcompat.widget.AppCompatTextView; import androidx.appcompat.widget.AppCompatTextView;
import androidx.core.content.res.ResourcesCompat; import androidx.core.content.res.ResourcesCompat;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableArrayList;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
@ -60,7 +59,6 @@ import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterAutom
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterClienteLayoutView; import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterClienteLayoutView;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterDepositoLayoutView; import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterDepositoLayoutView;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterGruppoMercLayoutView; import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterGruppoMercLayoutView;
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterNumeroOrdineLayoutView;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterPaeseLayoutView; import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterPaeseLayoutView;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterTermConsLayoutView; import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterTermConsLayoutView;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterVettoreLayoutView; import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterVettoreLayoutView;
@ -74,6 +72,7 @@ import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.BaseDialogRo
import it.integry.integrywmsnative.ui.ElevatedToolbar; import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO; import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
import it.integry.integrywmsnative.ui.filter_chips.FilterChipView; import it.integry.integrywmsnative.ui.filter_chips.FilterChipView;
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterNumeroOrdineLayoutView;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledFragment, IScrollableFragment, ISelectAllFragment, OrdiniUscitaElencoViewModel.Listener { public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledFragment, IScrollableFragment, ISelectAllFragment, OrdiniUscitaElencoViewModel.Listener {
@ -150,7 +149,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
Bundle savedInstanceState) { Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState); super.onCreateView(inflater, container, savedInstanceState);
mBindings = DataBindingUtil.inflate(inflater, R.layout.fragment_main_ordini_uscita, container, false); mBindings = FragmentMainOrdiniUscitaBinding.inflate(inflater, container, false);
MainApplication.appComponent MainApplication.appComponent
.prodOrdineLavorazioneElencoComponent() .prodOrdineLavorazioneElencoComponent()

View File

@ -33,7 +33,7 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO; import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
@ -270,13 +270,23 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
this.mViewmodel.deleteRow(mtbColr); this.mViewmodel.deleteRow(mtbColr);
} }
@Override
public void onRequestChangeMtbTcol(MtbColt mtbColt) {
DialogInfoAggiuntiveLUView.newInstance(mtbColt, false, true, (note, mtbTcol) -> {
onLoadingStarted();
mViewmodel.updateTipoUl(mtbTcol, this::onLoadingEnded);
}, () -> {
})
.show(getSupportFragmentManager(), "dialog-note-aggiuntive");
}
@Override @Override
public void onBottomSheetLUClose() { public void onBottomSheetLUClose() {
this.mViewmodel.closeLU(true); this.mViewmodel.closeLU(true);
} }
@Override @Override
public void onInfoAggiuntiveRequired(RunnableArgss<String, MtbTCol> onComplete) { public void onInfoAggiuntiveRequired(RunnableArgss<String, ObservableMtbTcol> onComplete) {
DialogInfoAggiuntiveLUView.newInstance(onComplete, this::onLoadingEnded) DialogInfoAggiuntiveLUView.newInstance(onComplete, this::onLoadingEnded)
.show(getSupportFragmentManager(), DialogInfoAggiuntiveLUView.class.getName()); .show(getSupportFragmentManager(), DialogInfoAggiuntiveLUView.class.getName());
} }

View File

@ -28,8 +28,8 @@ import it.integry.integrywmsnative.core.model.CommonModelConsts;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.dto.PickDataDTO; import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
@ -716,6 +716,13 @@ public class PickingResiViewModel {
}); });
} }
public void updateTipoUl(ObservableMtbTcol newTipoUL, Runnable onComplete) {
mColliMagazzinoRESTConsumer.updateTipoUL(mCurrentMtbColt, newTipoUL.getCodTcol(), () -> {
mCurrentMtbColt.setCodTcol(newTipoUL.getCodTcol());
onComplete.run();
}, this::sendError);
}
public void resetMatchedRows() { public void resetMatchedRows() {
for (WithdrawableDtbDocr pickingObjectDTO : this.mPickingList.getValue()) { for (WithdrawableDtbDocr pickingObjectDTO : this.mPickingList.getValue()) {
pickingObjectDTO pickingObjectDTO
@ -732,7 +739,7 @@ public class PickingResiViewModel {
return mPickingList; return mPickingList;
} }
private void sendOnInfoAggiuntiveRequired(RunnableArgss<String, MtbTCol> onComplete) { private void sendOnInfoAggiuntiveRequired(RunnableArgss<String, ObservableMtbTcol> onComplete) {
if (this.mListener != null) this.mListener.onInfoAggiuntiveRequired(onComplete); if (this.mListener != null) this.mListener.onInfoAggiuntiveRequired(onComplete);
} }
@ -808,9 +815,10 @@ public class PickingResiViewModel {
return this; return this;
} }
public interface Listener extends ILUPrintListener, ILoadingListener, ILUBaseOperationsListener { public interface Listener extends ILUPrintListener, ILoadingListener, ILUBaseOperationsListener {
void onInfoAggiuntiveRequired(RunnableArgss<String, MtbTCol> onComplete); void onInfoAggiuntiveRequired(RunnableArgss<String, ObservableMtbTcol> onComplete);
void onError(Exception ex); void onError(Exception ex);

View File

@ -17,7 +17,8 @@ public class ProdRientroMerceOrderDetailPickedQuantityDTO {
private BigDecimal pesoLordo; private BigDecimal pesoLordo;
private String codJfas; private String codJfas;
private MtbTCol mtbTCol; private ObservableMtbTcol mtbTCol;
private JtbFasi jtbFasi;
public BigDecimal getNumCnf() { public BigDecimal getNumCnf() {
return numCnf; return numCnf;
@ -100,11 +101,11 @@ public class ProdRientroMerceOrderDetailPickedQuantityDTO {
return this; return this;
} }
public MtbTCol getMtbTCol() { public ObservableMtbTcol getMtbTCol() {
return mtbTCol; return mtbTCol;
} }
public ProdRientroMerceOrderDetailPickedQuantityDTO setMtbTCol(MtbTCol mtbTCol) { public ProdRientroMerceOrderDetailPickedQuantityDTO setMtbTCol(ObservableMtbTcol mtbTCol) {
this.mtbTCol = mtbTCol; this.mtbTCol = mtbTCol;
return this; return this;
} }

View File

@ -47,7 +47,7 @@ import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import it.integry.integrywmsnative.core.model.MtbPartitaMag; import it.integry.integrywmsnative.core.model.MtbPartitaMag;
import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO; import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO; import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
@ -1058,6 +1058,16 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT); FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
} }
@Override
public void onRequestChangeMtbTcol(MtbColt mtbColt) {
DialogInfoAggiuntiveLUView.newInstance(mtbColt, false, true, (note, mtbTcol) -> {
onLoadingStarted();
mViewmodel.updateTipoUl(mtbTcol, this::onLoadingEnded);
}, () -> {
})
.show(getSupportFragmentManager(), "dialog-note-aggiuntive");
}
@Override @Override
public void onBottomSheetLUClose() { public void onBottomSheetLUClose() {
this.mViewmodel.requestCloseLU(true); this.mViewmodel.requestCloseLU(true);
@ -1090,8 +1100,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
} }
@Override @Override
public void onInfoAggiuntiveRequired(MtbColt mtbColt, RunnableArgss<String, MtbTCol> onComplete) { public void onInfoAggiuntiveRequired(MtbColt mtbColt, RunnableArgss<String, ObservableMtbTcol> onComplete) {
DialogInfoAggiuntiveLUView.newInstance(mtbColt, onComplete, this::onLoadingEnded) DialogInfoAggiuntiveLUView.newInstance(mtbColt, true, true, onComplete, this::onLoadingEnded)
.show(getSupportFragmentManager(), DialogInfoAggiuntiveLUView.class.getName()); .show(getSupportFragmentManager(), DialogInfoAggiuntiveLUView.class.getName());
} }

View File

@ -43,10 +43,10 @@ import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import it.integry.integrywmsnative.core.model.MtbPartitaMag; import it.integry.integrywmsnative.core.model.MtbPartitaMag;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.VtbVett; import it.integry.integrywmsnative.core.model.VtbVett;
import it.integry.integrywmsnative.core.model.dto.PickDataDTO; import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO; import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
@ -1514,14 +1514,28 @@ public class SpedizioneViewModel {
mCurrentMtbColt.getMtbColr().isEmpty(); mCurrentMtbColt.getMtbColr().isEmpty();
String newTipoUL = shouldChangeCodTcol ? refMtbColt.getCodTcol() : null; String newTipoUL = shouldChangeCodTcol ? refMtbColt.getCodTcol() : null;
if (shouldChangeCodTcol) { ObservableMtbTcol newMtbTcol = SettingsManager.iDB().getInternalImballi().stream().filter(x -> x.getCodTcol().equalsIgnoreCase(newTipoUL))
mColliMagazzinoRESTConsumer.updateTipoUL(mCurrentMtbColt, newTipoUL, () -> { .findFirst()
mCurrentMtbColt.setCodTcol(newTipoUL); .orElse(null);
onComplete.run();
}, this::sendError); if(!UtilityString.isNullOrEmpty(newTipoUL) && newMtbTcol == null) {
this.sendError(new Exception("Impossibile riconoscere il tipo UL " + newTipoUL));
onComplete.run();
return;
}
if (shouldChangeCodTcol && newMtbTcol != null) {
updateTipoUl(newMtbTcol, onComplete);
} else onComplete.run(); } else onComplete.run();
} }
public void updateTipoUl(ObservableMtbTcol newTipoUL, Runnable onComplete) {
mColliMagazzinoRESTConsumer.updateTipoUL(mCurrentMtbColt, newTipoUL.getCodTcol(), () -> {
mCurrentMtbColt.setCodTcol(newTipoUL.getCodTcol());
onComplete.run();
}, this::sendError);
}
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) { private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
this.sendOnLoadingStarted(); this.sendOnLoadingStarted();
@ -1797,7 +1811,7 @@ public class SpedizioneViewModel {
} }
private void askInfoAggiuntive(Runnable onComplete) { private void askInfoAggiuntive(Runnable onComplete) {
if (!SettingsManager.iDB().isFlagAskInfoAggiuntiveSpedizione()) { if (mDefaultSegnoCol != -1 || !SettingsManager.iDB().isFlagAskInfoAggiuntiveSpedizione()) {
onComplete.run(); onComplete.run();
return; return;
} }
@ -2128,7 +2142,7 @@ public class SpedizioneViewModel {
void onFullItemDispatched(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 canOverflowOrderQuantity, boolean canBatchLotBeChanged, RunnableArgss<PickedQuantityDTO, Boolean> onComplete); void onFullItemDispatched(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 canOverflowOrderQuantity, boolean canBatchLotBeChanged, RunnableArgss<PickedQuantityDTO, Boolean> onComplete);
void onInfoAggiuntiveRequired(MtbColt currentMtbColt, RunnableArgss<String, MtbTCol> onComplete); void onInfoAggiuntiveRequired(MtbColt currentMtbColt, RunnableArgss<String, ObservableMtbTcol> onComplete);
void onLUPositionChangeRequest(RunnableArgss<Boolean, MtbDepoPosizione> onComplete); void onLUPositionChangeRequest(RunnableArgss<Boolean, MtbDepoPosizione> onComplete);

View File

@ -5,7 +5,6 @@ import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableList; import androidx.databinding.ObservableList;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
@ -24,8 +23,8 @@ import it.integry.integrywmsnative.databinding.BottomSheetFragmentLuContentListI
public class BottomSheetFragmentLUContentListAdapter extends RecyclerView.Adapter<BottomSheetFragmentLUContentListAdapter.ViewHolder> { public class BottomSheetFragmentLUContentListAdapter extends RecyclerView.Adapter<BottomSheetFragmentLUContentListAdapter.ViewHolder> {
private Context mContext; private final Context mContext;
private ArrayList<MtbColr> mDataset; private final ArrayList<MtbColr> mDataset;
private OnItemClickListener mOnItemClickListener; private OnItemClickListener mOnItemClickListener;
@ -60,7 +59,7 @@ public class BottomSheetFragmentLUContentListAdapter extends RecyclerView.Adapte
@Override @Override
public BottomSheetFragmentLUContentListAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { public BottomSheetFragmentLUContentListAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
// create a new view // create a new view
BottomSheetFragmentLuContentListItemBinding viewDataBinding = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()), R.layout.bottom_sheet_fragment__lu_content__list_item, parent, false); BottomSheetFragmentLuContentListItemBinding viewDataBinding = BottomSheetFragmentLuContentListItemBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false);
return new BottomSheetFragmentLUContentListAdapter.ViewHolder(viewDataBinding); return new BottomSheetFragmentLUContentListAdapter.ViewHolder(viewDataBinding);
} }

View File

@ -8,10 +8,12 @@ import java.math.RoundingMode;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
public class BottomSheetFragmentLUContentViewModel { public class BottomSheetFragmentLUContentViewModel {
public ObservableField<MtbColt> mtbColt = new ObservableField<>(); public ObservableField<MtbColt> mtbColt = new ObservableField<>();
public ObservableField<String> pesoKg = new ObservableField<>(); public ObservableField<String> pesoKg = new ObservableField<>();
public ObservableField<String> pesoNettoKg = new ObservableField<>(); public ObservableField<String> pesoNettoKg = new ObservableField<>();
@ -22,6 +24,10 @@ public class BottomSheetFragmentLUContentViewModel {
if (this.mListener != null) this.mListener.onBottomSheetLUClose(); if (this.mListener != null) this.mListener.onBottomSheetLUClose();
} }
public void requestChangeMtbTcol() {
if (this.mListener != null) this.mListener.onRequestChangeMtbTcol(mtbColt.get());
}
public BottomSheetFragmentLUContentViewModel setMtbColt(MtbColt mtbColt) { public BottomSheetFragmentLUContentViewModel setMtbColt(MtbColt mtbColt) {
this.mtbColt.set(mtbColt); this.mtbColt.set(mtbColt);
return this; return this;
@ -45,7 +51,7 @@ public class BottomSheetFragmentLUContentViewModel {
MtbColt collo = this.mtbColt.get(); MtbColt collo = this.mtbColt.get();
if (collo == null) return; if (collo == null) return;
MtbTCol tipoPedana = collo.getMtbTCol(); ObservableMtbTcol tipoPedana = collo.getMtbTCol();
BigDecimal taraPedana = tipoPedana != null ? tipoPedana.getTaraKg() : BigDecimal.ZERO; BigDecimal taraPedana = tipoPedana != null ? tipoPedana.getTaraKg() : BigDecimal.ZERO;
BigDecimal pesoNetto = BigDecimal.ZERO; BigDecimal pesoNetto = BigDecimal.ZERO;
@ -67,6 +73,8 @@ public class BottomSheetFragmentLUContentViewModel {
} }
public interface Listener { public interface Listener {
void onRequestChangeMtbTcol(MtbColt mtbColt);
void onBottomSheetLUClose(); void onBottomSheetLUClose();
} }

View File

@ -155,7 +155,7 @@ public class DialogCreateNewArtViewModel {
barcodeProdotto.validate() barcodeProdotto.validate()
) { ) {
ArticoloDTO articoloToSave = new ArticoloDTO() ArticoloDTO articoloToSave = new ArticoloDTO()
.setDescrizione(descrizione.get()) .setDescrizione(descrizione.get() != null ? descrizione.get().substring(0, Math.min(40, descrizione.get().length())) : null)
.setDescrizioneEstesa(descrizione.get()) .setDescrizioneEstesa(descrizione.get())
.setNote(UtilityString.empty2null(noteAggiuntive.get())) .setNote(UtilityString.empty2null(noteAggiuntive.get()))
.setCodMgrp(selectedMtbGrup.get().getCodMgrp()) .setCodMgrp(selectedMtbGrup.get().getCodMgrp())

View File

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

View File

@ -24,7 +24,7 @@ import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment; import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
import it.integry.integrywmsnative.core.expansion.RunnableArgss; import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.utility.UtilityObservable; import it.integry.integrywmsnative.core.utility.UtilityObservable;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.DialogInfoAggiuntiveLuBinding; import it.integry.integrywmsnative.databinding.DialogInfoAggiuntiveLuBinding;
@ -46,26 +46,38 @@ public class DialogInfoAggiuntiveLUView extends BaseDialogFragment implements Di
private Context mContext; private Context mContext;
private final RunnableArgss<String, MtbTCol> mOnComplete; private final boolean askNotes;
private final boolean askTipoUl;
private final RunnableArgss<String, ObservableMtbTcol> mOnComplete;
private final Runnable mOnAbort; private final Runnable mOnAbort;
private final MtbColt currentMtbColt; private final MtbColt currentMtbColt;
public static DialogInfoAggiuntiveLUView newInstance(@NotNull RunnableArgss<String, MtbTCol> onComplete, @NotNull Runnable onAbort) { public static DialogInfoAggiuntiveLUView newInstance(@NotNull RunnableArgss<String, ObservableMtbTcol> onComplete, @NotNull Runnable onAbort) {
return new DialogInfoAggiuntiveLUView(null, onComplete, onAbort); return new DialogInfoAggiuntiveLUView(null, true, true, onComplete, onAbort);
} }
public static DialogInfoAggiuntiveLUView newInstance(MtbColt mtbColt, @NotNull RunnableArgss<String, MtbTCol> onComplete, @NotNull Runnable onAbort) { public static DialogInfoAggiuntiveLUView newInstance(MtbColt mtbColt, boolean askNotes, boolean askTipoUl, @NotNull RunnableArgss<String, ObservableMtbTcol> onComplete, @NotNull Runnable onAbort) {
return new DialogInfoAggiuntiveLUView(mtbColt, onComplete, onAbort); return new DialogInfoAggiuntiveLUView(mtbColt, askNotes, askTipoUl, onComplete, onAbort);
} }
private DialogInfoAggiuntiveLUView(MtbColt mtbColt, @NotNull RunnableArgss<String, MtbTCol> onComplete, @NotNull Runnable onAbort) { private DialogInfoAggiuntiveLUView(MtbColt mtbColt, boolean askNotes, boolean askTipoUl, @NotNull RunnableArgss<String, ObservableMtbTcol> onComplete, @NotNull Runnable onAbort) {
super(); super();
this.mOnComplete = onComplete; this.mOnComplete = onComplete;
this.mOnAbort = onAbort; this.mOnAbort = onAbort;
this.currentMtbColt = mtbColt; this.currentMtbColt = mtbColt;
this.askNotes = askNotes;
this.askTipoUl = askTipoUl;
} }
public boolean isAskNotes() {
return askNotes;
}
public boolean isAskTipoUl() {
return askTipoUl;
}
@NonNull @NonNull
@Override @Override
@ -109,8 +121,8 @@ public class DialogInfoAggiuntiveLUView extends BaseDialogFragment implements Di
public void onInit(DialogInterface dialogInterface) { public void onInit(DialogInterface dialogInterface) {
super.onInit(dialogInterface); super.onInit(dialogInterface);
this.init();
this.mViewModel.init(); this.mViewModel.init();
this.init();
} }
private void init() { private void init() {
@ -123,15 +135,12 @@ public class DialogInfoAggiuntiveLUView extends BaseDialogFragment implements Di
mBindings.filledExposedDropdownCodTcol.setAdapter(codTcolArrayAdapter); mBindings.filledExposedDropdownCodTcol.setAdapter(codTcolArrayAdapter);
this.mViewModel.getTipiCollo().observe(this, tipiCollo -> { if (currentMtbColt != null && !UtilityString.isNullOrEmpty(currentMtbColt.getCodTcol()) && UtilityString.isNullOrEmpty(this.selectedMtbTcol.get())) {
mViewModel.getTipiCollo().getValue().stream()
if (currentMtbColt != null && !UtilityString.isNullOrEmpty(currentMtbColt.getCodTcol()) && UtilityString.isNullOrEmpty(this.selectedMtbTcol.get())) { .filter(x -> x.getCodTcol().equalsIgnoreCase(currentMtbColt.getCodTcol()))
tipiCollo.stream() .findFirst()
.filter(x -> x.getCodTcol().equalsIgnoreCase(currentMtbColt.getCodTcol())) .ifPresent(tipoPedana -> this.selectedMtbTcol.set(tipoPedana.getCodTcol() + " - " + tipoPedana.getDescrizione()));
.findFirst() }
.ifPresent(tipoPedana -> this.selectedMtbTcol.set(tipoPedana.getCodTcol() + " - " + tipoPedana.getDescrizione()));
}
});
UtilityObservable.addPropertyChanged(this.selectedMtbTcol, (value) -> { UtilityObservable.addPropertyChanged(this.selectedMtbTcol, (value) -> {
@ -160,6 +169,5 @@ public class DialogInfoAggiuntiveLUView extends BaseDialogFragment implements Di
}); });
} }
} }

View File

@ -2,38 +2,35 @@ package it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import javax.inject.Inject; import javax.inject.Inject;
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.settings.SettingsManager;
public class DialogInfoAggiuntiveLUViewModel { public class DialogInfoAggiuntiveLUViewModel {
private final MutableLiveData<List<MtbTCol>> tipiCollo = new MutableLiveData<>(); private final MutableLiveData<List<ObservableMtbTcol>> tipiCollo = new MutableLiveData<>();
private Listener mListener; private Listener mListener;
private final ImballiRESTConsumer imballiRESTConsumer;
@Inject @Inject
public DialogInfoAggiuntiveLUViewModel(ImballiRESTConsumer imballiRESTConsumer) { public DialogInfoAggiuntiveLUViewModel() {
this.imballiRESTConsumer = imballiRESTConsumer;
} }
public void init() { public void init() {
this.sendOnLoadingStarted(); var imballiList = SettingsManager.iDB().getInternalImballi().stream()
.filter(x -> x.getFlagUIUL() == MtbTCol.FlagUiUlEnum.UL)
imballiRESTConsumer.retrieveTipiCollo(MtbTCol.FlagUiUlEnum.UL, tipiCollo -> { .collect(Collectors.toUnmodifiableList());
this.tipiCollo.postValue(tipiCollo == null ? new ArrayList<>() : tipiCollo); this.tipiCollo.setValue(imballiList);
this.sendOnLoadingEnded();
}, this::sendError);
} }
public MutableLiveData<List<MtbTCol>> getTipiCollo() { public MutableLiveData<List<ObservableMtbTcol>> getTipiCollo() {
return tipiCollo; return tipiCollo;
} }

View File

@ -3,7 +3,7 @@ package it.integry.integrywmsnative.view.dialogs.input_lu_prod;
import java.math.BigDecimal; import java.math.BigDecimal;
import it.integry.integrywmsnative.core.model.JtbFasi; import it.integry.integrywmsnative.core.model.JtbFasi;
import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
public class DialogInputLUProdResultDTO { public class DialogInputLUProdResultDTO {
@ -14,7 +14,7 @@ public class DialogInputLUProdResultDTO {
private BigDecimal taraCol; private BigDecimal taraCol;
private BigDecimal pesoLordo; private BigDecimal pesoLordo;
private MtbTCol mtbTCol; private ObservableMtbTcol mtbTCol;
private JtbFasi jtbFasi; private JtbFasi jtbFasi;
@ -72,11 +72,11 @@ public class DialogInputLUProdResultDTO {
return this; return this;
} }
public MtbTCol getMtbTCol() { public ObservableMtbTcol getMtbTCol() {
return mtbTCol; return mtbTCol;
} }
public DialogInputLUProdResultDTO setMtbTCol(MtbTCol mtbTCol) { public DialogInputLUProdResultDTO setMtbTCol(ObservableMtbTcol mtbTCol) {
this.mtbTCol = mtbTCol; this.mtbTCol = mtbTCol;
return this; return this;
} }

View File

@ -40,7 +40,7 @@ import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.JtbFasi; import it.integry.integrywmsnative.core.model.JtbFasi;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.utility.UtilityObservable; import it.integry.integrywmsnative.core.utility.UtilityObservable;
import it.integry.integrywmsnative.databinding.DialogInputLuProdBinding; import it.integry.integrywmsnative.databinding.DialogInputLuProdBinding;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
@ -335,7 +335,7 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI
if (mDialogInputLUProdDTO.getCodTcol() != null) { if (mDialogInputLUProdDTO.getCodTcol() != null) {
Optional<MtbTCol> optTCol = Stream.of(tipiCollo) java.util.Optional<ObservableMtbTcol> optTCol = tipiCollo.stream()
.filter(x -> x.getCodTcol().equalsIgnoreCase(mDialogInputLUProdDTO.getCodTcol())) .filter(x -> x.getCodTcol().equalsIgnoreCase(mDialogInputLUProdDTO.getCodTcol()))
.findFirst(); .findFirst();

View File

@ -12,6 +12,7 @@ import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingL
import it.integry.integrywmsnative.core.model.JtbFasi; import it.integry.integrywmsnative.core.model.JtbFasi;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.MesRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.MesRESTConsumer;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
@ -30,7 +31,7 @@ public class DialogInputLUProdViewModel {
public ObservableField<Boolean> blockedTaraCol = new ObservableField<>(false); public ObservableField<Boolean> blockedTaraCol = new ObservableField<>(false);
public ObservableField<Boolean> blockedPesoLordo = new ObservableField<>(false); public ObservableField<Boolean> blockedPesoLordo = new ObservableField<>(false);
private final MutableLiveData<List<MtbTCol>> mTipiColloLiveData = new MutableLiveData<>(); private final MutableLiveData<List<ObservableMtbTcol>> mTipiColloLiveData = new MutableLiveData<>();
private final MutableLiveData<List<JtbFasi>> mLineeProdLiveData = new MutableLiveData<>(); private final MutableLiveData<List<JtbFasi>> mLineeProdLiveData = new MutableLiveData<>();
private BigDecimal initialNumCnf; private BigDecimal initialNumCnf;
@ -43,7 +44,7 @@ public class DialogInputLUProdViewModel {
private BigDecimal internalTaraCol; private BigDecimal internalTaraCol;
private BigDecimal internalPesoLordo; private BigDecimal internalPesoLordo;
private MtbTCol internalTipoPed; private ObservableMtbTcol internalTipoPed;
private JtbFasi internalLineaProd; private JtbFasi internalLineaProd;
private boolean isLineeProdRequired; private boolean isLineeProdRequired;
@ -62,7 +63,7 @@ public class DialogInputLUProdViewModel {
public void init(String codJfasParent) { public void init(String codJfasParent) {
this.sendOnLoadingStarted(); this.sendOnLoadingStarted();
imballiRESTConsumer.retrieveTipiCollo(MtbTCol.FlagUiUlEnum.UL, tipiCollo -> { imballiRESTConsumer.retrieveImballi(MtbTCol.FlagUiUlEnum.UL, tipiCollo -> {
this.mTipiColloLiveData.postValue(tipiCollo); this.mTipiColloLiveData.postValue(tipiCollo);
mMesRESTConsumer.getLineeProduzione(codJfasParent, jtbFasi -> { mMesRESTConsumer.getLineeProduzione(codJfasParent, jtbFasi -> {
@ -76,7 +77,7 @@ public class DialogInputLUProdViewModel {
}, this::sendError); }, this::sendError);
} }
public MutableLiveData<List<MtbTCol>> getTipiCollo() { public MutableLiveData<List<ObservableMtbTcol>> getTipiCollo() {
return this.mTipiColloLiveData; return this.mTipiColloLiveData;
} }
@ -200,7 +201,7 @@ public class DialogInputLUProdViewModel {
this.mListener.onDataChanged(); this.mListener.onDataChanged();
} }
public DialogInputLUProdViewModel setInternalTipoPed(MtbTCol internalTipoPed) { public DialogInputLUProdViewModel setInternalTipoPed(ObservableMtbTcol internalTipoPed) {
this.internalTipoPed = internalTipoPed; this.internalTipoPed = internalTipoPed;
return this; return this;
} }

View File

@ -6,37 +6,40 @@ import android.widget.ArrayAdapter;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
public class DialogInputLUProdTipoColloAdapter extends ArrayAdapter<DialogInputLUProdTipoColloListModel> { public class DialogInputLUProdTipoColloAdapter extends ArrayAdapter<DialogInputLUProdTipoColloListModel> {
private List<DialogInputLUProdTipoColloListModel> mDataset; private List<DialogInputLUProdTipoColloListModel> mDataset;
public DialogInputLUProdTipoColloAdapter(@NonNull Context context, int resource, @NonNull MutableLiveData<List<MtbTCol>> inputData) { public DialogInputLUProdTipoColloAdapter(@NonNull Context context, int resource, @NonNull MutableLiveData<List<ObservableMtbTcol>> inputData) {
super(context, resource); super(context, resource);
inputData.observeForever(data -> { inputData.observeForever(data -> {
if (data != null) mDataset = data.stream()
mDataset = data.stream() .map(x -> new DialogInputLUProdTipoColloListModel()
.map(x -> new DialogInputLUProdTipoColloListModel() .setOriginalModel(x))
.setOriginalModel(x)) .collect(Collectors.toList());
.collect(Collectors.toList());
else mDataset = new ArrayList<>();
clear(); clear();
addAll(mDataset); addAll(mDataset);
}); });
if (inputData.getValue() != null)
mDataset = inputData.getValue().stream()
.map(x -> new DialogInputLUProdTipoColloListModel()
.setOriginalModel(x))
.collect(Collectors.toList());
} }
public List<DialogInputLUProdTipoColloListModel> getDataset() { public List<DialogInputLUProdTipoColloListModel> getDataset() {
return this.mDataset; return this.mDataset;
} }
public MtbTCol getOriginalModelItem(int position) { public ObservableMtbTcol getOriginalModelItem(int position) {
return mDataset.get(position).getOriginalModel(); return mDataset.get(position).getOriginalModel();
} }

View File

@ -2,17 +2,17 @@ package it.integry.integrywmsnative.view.dialogs.input_lu_prod.adapter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
public class DialogInputLUProdTipoColloListModel { public class DialogInputLUProdTipoColloListModel {
private MtbTCol originalModel; private ObservableMtbTcol originalModel;
public MtbTCol getOriginalModel() { public ObservableMtbTcol getOriginalModel() {
return originalModel; return originalModel;
} }
public DialogInputLUProdTipoColloListModel setOriginalModel(MtbTCol originalModel) { public DialogInputLUProdTipoColloListModel setOriginalModel(ObservableMtbTcol originalModel) {
this.originalModel = originalModel; this.originalModel = originalModel;
return this; return this;
} }

View File

@ -9,12 +9,13 @@ import android.widget.ArrayAdapter;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.annimon.stream.Optional;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import javax.inject.Inject; import javax.inject.Inject;
@ -24,7 +25,9 @@ import it.integry.integrywmsnative.core.di.BindableString;
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment; import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
import it.integry.integrywmsnative.core.expansion.RunnableArgsss; import it.integry.integrywmsnative.core.expansion.RunnableArgsss;
import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityNumber; import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.databinding.DialogInputPesoLuBinding; import it.integry.integrywmsnative.databinding.DialogInputPesoLuBinding;
@ -47,7 +50,7 @@ public class DialogInputPesoLUView extends BaseDialogFragment {
public BindableString grossWeight = new BindableString(); public BindableString grossWeight = new BindableString();
private List<MtbTCol> codTcolList = null; private List<ObservableMtbTcol> codTcolList = null;
private ArrayAdapter<String> codTcolArrayAdapter = null; private ArrayAdapter<String> codTcolArrayAdapter = null;
@ -95,34 +98,31 @@ public class DialogInputPesoLUView extends BaseDialogFragment {
} }
private void init() { private void init() {
imballiRESTConsumer.retrieveTipiCollo(MtbTCol.FlagUiUlEnum.UL, codTcols -> { this.codTcolList = SettingsManager.iDB().getInternalImballi().stream()
this.codTcolList = codTcols; .filter(x -> x.getFlagUIUL() == MtbTCol.FlagUiUlEnum.UL)
.collect(Collectors.toUnmodifiableList());
List<String> codTcolDescriptions = Stream.of(codTcols) List<String> codTcolDescriptions = codTcolList.stream()
.map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione())
.toList();
if (codTcol.get() != null) {
Optional<String> newCodTcol = this.codTcolList.stream()
.filter(x -> x.getCodTcol().equalsIgnoreCase(codTcol.get()))
.map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione()) .map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione())
.toList(); .findFirst();
if(codTcol.get() != null) { if (newCodTcol.isPresent()) codTcol.set(newCodTcol.get());
Optional<String> newCodTcol = Stream.of(codTcols) }
.filter(x -> x.getCodTcol().equalsIgnoreCase(codTcol.get()))
.map(codTcol -> codTcol.getCodTcol() + " - " + codTcol.getDescrizione())
.findSingle();
if(newCodTcol.isPresent()) codTcol.set(newCodTcol.get()); codTcolArrayAdapter = new ArrayAdapter<>(requireContext(), R.layout.array_adapter_single_item);
} codTcolArrayAdapter.addAll(codTcolDescriptions);
mBindings.filledExposedDropdownCodTcol.setAdapter(codTcolArrayAdapter);
codTcolArrayAdapter = new ArrayAdapter(requireContext(), R.layout.array_adapter_single_item);
codTcolArrayAdapter.addAll(codTcolDescriptions);
mBindings.filledExposedDropdownCodTcol.setAdapter(codTcolArrayAdapter);
// progressDialog.dismiss(); // progressDialog.dismiss();
}, ex -> {
UtilityExceptions.defaultException(requireContext(), ex);
});
} }

View File

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

View File

@ -7,33 +7,29 @@ import androidx.lifecycle.MutableLiveData;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.settings.SettingsManager;
public class DialogTracciamentoImballiViewModel { public class DialogTracciamentoImballiViewModel {
private final ImballiRESTConsumer imballiRESTConsumer;
private final MutableLiveData<List<TracciamentoImballoDTO>> imballiRegistrati = new MutableLiveData<>(new ArrayList<>()); private final MutableLiveData<List<TracciamentoImballoDTO>> imballiRegistrati = new MutableLiveData<>(new ArrayList<>());
private final ObservableArrayList<MtbTCol> imballiDisponibili = new ObservableArrayList<>(); private final ObservableArrayList<ObservableMtbTcol> imballiDisponibili = new ObservableArrayList<>();
private Listener mListener; private Listener mListener;
public DialogTracciamentoImballiViewModel(ImballiRESTConsumer imballiRESTConsumer) { public DialogTracciamentoImballiViewModel() {
this.imballiRESTConsumer = imballiRESTConsumer;
} }
public void init() { public void init() {
this.imballiRESTConsumer.retrieveTipiCollo(MtbTCol.FlagUiUlEnum.UI, tipiCollo -> { imballiDisponibili.addAll(SettingsManager.iDB().getInternalImballi().stream()
.filter(x -> x.getFlagUIUL() == MtbTCol.FlagUiUlEnum.UI)
.collect(Collectors.toUnmodifiableList()));
if (tipiCollo == null || tipiCollo.isEmpty())
return;
imballiDisponibili.addAll(tipiCollo);
}, this::sendError);
} }
@ -41,7 +37,7 @@ public class DialogTracciamentoImballiViewModel {
return imballiRegistrati; return imballiRegistrati;
} }
public ObservableArrayList<MtbTCol> getImballiDisponibili() { public ObservableArrayList<ObservableMtbTcol> getImballiDisponibili() {
return imballiDisponibili; return imballiDisponibili;
} }

View File

@ -9,11 +9,11 @@ import com.annimon.stream.Stream;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
public class DialogTracciamentoImballi_TipoColloAdapter extends ArrayAdapter<DialogTracciamentoImballi_TipoColloAdapter.ListModel> { public class DialogTracciamentoImballi_TipoColloAdapter extends ArrayAdapter<DialogTracciamentoImballi_TipoColloAdapter.ListModel> {
public DialogTracciamentoImballi_TipoColloAdapter(@NonNull Context context, int resource, List<MtbTCol> inputData) { public DialogTracciamentoImballi_TipoColloAdapter(@NonNull Context context, int resource, List<ObservableMtbTcol> inputData) {
super(context, resource); super(context, resource);
if(inputData == null) return; if(inputData == null) return;
@ -28,12 +28,12 @@ public class DialogTracciamentoImballi_TipoColloAdapter extends ArrayAdapter<Dia
public static class ListModel { public static class ListModel {
private MtbTCol originalModel; private ObservableMtbTcol originalModel;
public MtbTCol getOriginalModel() { public ObservableMtbTcol getOriginalModel() {
return originalModel; return originalModel;
} }
public ListModel setOriginalModel(MtbTCol originalModel) { public ListModel setOriginalModel(ObservableMtbTcol originalModel) {
this.originalModel = originalModel; this.originalModel = originalModel;
return this; return this;
} }

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="?attr/colorPrimaryContainer"/>
</shape>

View File

@ -0,0 +1,5 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
<path android:fillColor="@android:color/white" android:pathData="M12,7L12,5c0,-1.1 -0.9,-2 -2,-2L4,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,9c0,-1.1 -0.9,-2 -2,-2h-8zM6,19L4,19v-2h2v2zM6,15L4,15v-2h2v2zM6,11L4,11L4,9h2v2zM6,7L4,7L4,5h2v2zM10,19L8,19v-2h2v2zM10,15L8,15v-2h2v2zM10,11L8,11L8,9h2v2zM10,7L8,7L8,5h2v2zM19,19h-7v-2h2v-2h-2v-2h2v-2h-2L12,9h7c0.55,0 1,0.45 1,1v8c0,0.55 -0.45,1 -1,1zM18,11h-2v2h2v-2zM18,15h-2v2h2v-2z"/>
</vector>

File diff suppressed because it is too large Load Diff

View File

@ -7,6 +7,8 @@
<import type="android.view.View" /> <import type="android.view.View" />
<import type="it.integry.integrywmsnative.core.helper.GestioneToTextConverter" />
<import type="it.integry.integrywmsnative.core.utility.UtilityDate.COMMONS_DATE_FORMATS" /> <import type="it.integry.integrywmsnative.core.utility.UtilityDate.COMMONS_DATE_FORMATS" />
<import type="it.integry.integrywmsnative.core.utility.UtilityDate" /> <import type="it.integry.integrywmsnative.core.utility.UtilityDate" />
@ -137,187 +139,73 @@
</RelativeLayout> </RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<com.google.android.material.card.MaterialCardView
<RelativeLayout android:id="@+id/new_card"
android:layout_width="match_parent" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="10dp" android:layout_marginTop="8dp"
android:visibility="@{mtbColr.numColloRif != null ? View.VISIBLE : View.GONE}" android:visibility="@{mtbColr.numColloRif != null ? View.VISIBLE : View.GONE}"
android:focusable="false"
android:clickable="false"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/art_detail"> app:layout_constraintTop_toBottomOf="@id/art_detail"
app:cardElevation="0dp"
app:strokeWidth="0dp">
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:background="@drawable/badge_round_corner"
android:backgroundTint="@color/green_600"
android:orientation="horizontal" android:orientation="horizontal"
android:padding="2dp"> android:padding="12dp">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/circle_background"
android:padding="10dp"
android:src="@drawable/ic_box"
app:tint="?attr/colorPrimary" />
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/badge_round_corner" android:layout_gravity="center_vertical"
android:backgroundTint="@android:color/white" android:layout_marginStart="12dp"
android:orientation="horizontal" android:layout_weight="1"
android:padding="0dp"> android:orientation="vertical">
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:text="@{&quot;#&quot; + mtbColr.numColloRif + &quot; (&quot; + mtbColr.serCollo + &quot;)&quot;}"
android:paddingStart="2dp" android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
android:paddingEnd="4dp"> android:singleLine="true"
android:ellipsize="end"
tools:text="#5230 (/)" />
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/image" android:layout_width="wrap_content"
android:layout_width="24dp" android:layout_height="wrap_content"
android:layout_height="24dp" android:text="@{GestioneToTextConverter.convert(mtbColr.gestioneEnum)}"
android:layout_gravity="center_horizontal" android:textAppearance="@style/TextAppearance.Material3.BodySmall"
android:layout_marginStart="8dp" android:textColor="?attr/colorOutline"
android:layout_marginTop="8dp" tools:text="Lavorazione"/>
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:src="@drawable/ic_box"
android:tint="@color/green_600" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/refs_title"
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Prelevato da"
android:textColor="@color/green_600"
android:textStyle="bold" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="2dp"
android:layout_height="match_parent"
android:background="@color/green_600" />
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:padding="10dp"
android:weightSum="2">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Num: "
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.numColloRif.toString()}"
android:textColor="@android:color/black"
android:textStyle="bold"
tools:text="5230" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Gest: "
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.gestioneRif}"
android:textColor="@android:color/black"
android:textStyle="bold"
tools:text="V" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:orientation="vertical">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Data: "
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{UtilityDate.formatDate(mtbColr.dataColloRifD, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)}"
android:textColor="@android:color/black"
android:textStyle="bold"
tools:text="02 mar 2020" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Serie: "
android:textColor="@android:color/black" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/AppTheme.NewMaterial.Text.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mtbColr.serColloRif}"
android:textColor="@android:color/black"
android:textStyle="bold"
tools:text="UL" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{UtilityDate.formatDate(mtbColr.dataColloRifD, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)}"
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
android:singleLine="true"
android:ellipsize="end"
tools:text="20 gennaio 2025" />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
</com.google.android.material.card.MaterialCardView>
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</layout> </layout>

View File

@ -1,177 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
<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="12dp"
app:cardElevation="0dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/light_blue_300"
android:gravity="center_horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="24dp"
android:src="@drawable/ic_error_white_24dp" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="24dp"
android:paddingTop="24dp"
android:paddingRight="24dp">
<TextView
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/action_print" />
<TextView
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/message_print_packing_list" />
<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="?colorPrimary" />
<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" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
<!--<androidx.appcompat.widget.AppCompatTextView-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--android:text="@string/action_print"-->
<!--style="@style/TextViewMaterial.Dialog.HeadlineText"-->
<!--android:gravity="center_horizontal"/>-->
<!--<LinearLayout-->
<!--android:orientation="vertical"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="match_parent"-->
<!--android:padding="16dp">-->
<!--<LinearLayout-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="match_parent"-->
<!--android:orientation="horizontal"-->
<!--android:gravity="center_horizontal">-->
<!--<androidx.appcompat.widget.AppCompatTextView-->
<!--android:id="@+id/print_message"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_margin="16dp"-->
<!--style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"-->
<!--android:textColor="#5F6368"-->
<!--android:textSize="16sp"-->
<!--android:layout_gravity="center"-->
<!--android:gravity="center_horizontal"-->
<!--tools:text="La procedura stamperà una packing list"/>-->
<!--</LinearLayout>-->
<!--<LinearLayout-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="match_parent"-->
<!--android:orientation="horizontal"-->
<!--android:paddingTop="8dp"-->
<!--android:gravity="bottom|center_horizontal">-->
<!--<com.google.android.material.button.MaterialButton-->
<!--android:id="@+id/button_abort"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--style="@style/Button.PrimaryOutline"-->
<!--app:icon="@drawable/ic_clear_24dp"-->
<!--android:layout_marginEnd="8dp"-->
<!--android:text="@android:string/no"/>-->
<!--<com.google.android.material.button.MaterialButton-->
<!--android:id="@+id/button_confirm"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--style="@style/Button.PrimaryFull"-->
<!--app:icon="@drawable/ic_print_24dp"-->
<!--android:text="@android:string/yes"/>-->
<!--</LinearLayout>-->
<!--</LinearLayout>-->
<!--</LinearLayout>-->
<!--</androidx.cardview.widget.CardView>-->
</layout>

View File

@ -53,7 +53,7 @@
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@id/title_text" app:layout_constraintTop_toBottomOf="@id/title_text"
app:layout_constraintBottom_toTopOf="@id/level_number_layout" app:layout_constraintBottom_toTopOf="@id/level_number_layout"
android:visibility="@{viewModel.tipiCollo == null || viewModel.tipiCollo.empty ? View.GONE : View.VISIBLE}" app:visibility="@{view.askTipoUl}"
android:hint="@string/lu_type"> android:hint="@string/lu_type">
<androidx.appcompat.widget.AppCompatAutoCompleteTextView <androidx.appcompat.widget.AppCompatAutoCompleteTextView
@ -76,6 +76,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
app:visibility="@{view.askNotes}"
app:layout_constraintTop_toBottomOf="@id/input_cod_tcol"> app:layout_constraintTop_toBottomOf="@id/input_cod_tcol">
<com.google.android.material.textfield.TextInputEditText <com.google.android.material.textfield.TextInputEditText

View File

@ -21,8 +21,7 @@
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@android:color/white" android:background="@android:color/white">
tools:context=".gest.vendita.MainVenditaFragment">
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
@ -33,8 +32,7 @@
android:id="@+id/filter_chips" android:id="@+id/filter_chips"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:scrollbars="none" android:scrollbars="none">
android:background="@color/gray_050">
<com.google.android.material.chip.ChipGroup <com.google.android.material.chip.ChipGroup
android:id="@+id/filter_chips_group" android:id="@+id/filter_chips_group"

View File

@ -2,6 +2,7 @@
<resources> <resources>
<item name="bound_observable" type="id" /> <item name="bound_observable" type="id" />
<item name="bound_observable_visibility" type="id" />
<item name="bound_reverse_visibility" type="id" /> <item name="bound_reverse_visibility" type="id" />

View File

@ -1,13 +1,12 @@
apply plugin: 'com.android.library' apply plugin: 'com.android.library'
android { android {
compileSdk 34 compileSdk 35
defaultConfig { defaultConfig {
minSdkVersion 21 minSdkVersion 21
targetSdk 34 targetSdk 35
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro' consumerProguardFiles 'consumer-rules.pro'
} }
@ -19,7 +18,7 @@ android {
compileOptions { compileOptions {
sourceCompatibility JavaVersion.VERSION_17 sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17
} }
lint { lint {
abortOnError false abortOnError false
@ -29,6 +28,11 @@ android {
} }
configurations {
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk7'
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
}
dependencies { dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])

View File

@ -2,8 +2,8 @@
buildscript { buildscript {
ext { ext {
kotlin_version = '1.9.20' kotlin_version = '2.1.0'
agp_version = '8.7.3' agp_version = '8.8.0'
} }
repositories { repositories {
@ -12,7 +12,7 @@ buildscript {
} }
dependencies { dependencies {
classpath "com.android.tools.build:gradle:$agp_version" classpath "com.android.tools.build:gradle:$agp_version"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" //classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.4.2' classpath 'com.google.gms:google-services:4.4.2'
classpath 'com.google.firebase:perf-plugin:1.4.2' classpath 'com.google.firebase:perf-plugin:1.4.2'

View File

@ -1,6 +1,6 @@
#Mon Feb 13 15:14:43 CET 2023 #Mon Feb 13 15:14:43 CET 2023
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME

View File

@ -1,11 +1,11 @@
apply plugin: 'com.android.library' apply plugin: 'com.android.library'
android { android {
compileSdk 34 compileSdk 35
defaultConfig { defaultConfig {
minSdkVersion 21 minSdkVersion 21
targetSdk 34 targetSdk 35
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@ -29,6 +29,11 @@ android {
} }
configurations {
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk7'
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
}
dependencies { dependencies {
// implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) // implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])

View File

@ -1,13 +1,13 @@
apply plugin: 'com.android.library' apply plugin: 'com.android.library'
android { android {
compileSdk 34 compileSdk 35
defaultConfig { defaultConfig {
minSdkVersion 21 minSdkVersion 21
targetSdk 34 targetSdk 35
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" // testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro' consumerProguardFiles 'consumer-rules.pro'
} }
@ -29,6 +29,11 @@ android {
} }
configurations {
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk7'
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
}
dependencies { dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])

View File

@ -1,13 +1,13 @@
apply plugin: 'com.android.library' apply plugin: 'com.android.library'
android { android {
compileSdk 34 compileSdk 35
defaultConfig { defaultConfig {
minSdkVersion 21 minSdkVersion 21
targetSdk 34 targetSdk 35
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" // testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }
buildTypes { buildTypes {
@ -19,7 +19,7 @@ android {
compileOptions { compileOptions {
sourceCompatibility JavaVersion.VERSION_17 sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17
} }
lint { lint {
abortOnError false abortOnError false
@ -28,6 +28,11 @@ android {
} }
configurations {
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk7'
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
}
dependencies { dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs') implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.7.0' implementation 'androidx.appcompat:appcompat:1.7.0'

View File

@ -1,13 +1,13 @@
apply plugin: 'com.android.library' apply plugin: 'com.android.library'
android { android {
compileSdk 34 compileSdk 35
defaultConfig { defaultConfig {
minSdkVersion 21 minSdkVersion 21
targetSdk 34 targetSdk 35
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" // testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }
buildTypes { buildTypes {
@ -28,6 +28,11 @@ android {
} }
configurations {
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk7'
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
}
dependencies { dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])