Finish v1.35.00(391)

This commit is contained in:
Giuseppe Scorrano 2023-09-20 17:11:11 +02:00
commit 42b16975d6
160 changed files with 6088 additions and 1284 deletions

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetDropDown">
<runningDeviceTargetSelectedWithDropDown>
<Target>
<type value="RUNNING_DEVICE_TARGET" />
<deviceKey>
<Key>
<type value="SERIAL_NUMBER" />
<value value="20119B1E55" />
</Key>
</deviceKey>
</Target>
</runningDeviceTargetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2023-07-21T16:48:48.955374400Z" />
</component>
</project>

2
.idea/kotlinc.xml generated
View File

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

View File

@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
android {
def appVersionCode = 390
def appVersionName = '1.34.06'
def appVersionCode = 391
def appVersionName = '1.35.00'
signingConfigs {
release {
@ -92,7 +92,7 @@ android {
}
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.2'
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {
exclude group: 'com.android.support', module: 'support-annotations'
@ -108,32 +108,32 @@ dependencies {
implementation 'com.google.firebase:firebase-core'
implementation 'com.google.firebase:firebase-crashlytics'
implementation 'com.google.firebase:firebase-perf'
implementation 'com.google.android.gms:play-services-basement:18.1.0'
implementation 'com.google.android.gms:play-services-basement:18.2.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.8.0'
implementation 'com.google.android.material:material:1.9.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.recyclerview:recyclerview:1.3.1'
implementation('androidx.preference:preference-ktx:1.2.0') {
implementation('androidx.preference:preference-ktx:1.2.1') {
exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel'
exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
}
implementation "androidx.slidingpanelayout:slidingpanelayout:1.2.0"
implementation 'com.squareup.okhttp3:okhttp:4.9.1'
implementation 'com.squareup.okhttp3:okhttp:4.10.0'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.annimon:stream:1.2.2'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.2'
// implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation 'org.apache.commons:commons-text:1.9'
//MVVM
def dagger2_version = '2.40.1'
def dagger2_version = '2.46.1'
api "com.google.dagger:dagger:$dagger2_version"
annotationProcessor "com.google.dagger:dagger-compiler:$dagger2_version"
api "com.google.dagger:dagger-android:$dagger2_version"
@ -152,12 +152,11 @@ dependencies {
implementation 'com.github.pedromassango:doubleClick:3.0'
//SQLite ROOM
def room_version = "2.5.0"
def room_version = "2.5.2"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
implementation "androidx.room:room-rxjava3:$room_version"
androidTestImplementation "androidx.room:room-testing:2.5.0"
//AppUpdate
implementation 'com.github.javiersantos:AppUpdater:2.7'

View File

@ -71,7 +71,7 @@
android:theme="@style/Light"
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.accettazione_picking.AccettazionePickingActivity"
android:name=".gest.accettazione_ordini_picking.AccettazioneOrdiniPickingActivity"
android:theme="@style/Light"
android:windowSoftInputMode="adjustNothing"
android:configChanges="orientation|screenSize|keyboardHidden" />
@ -108,6 +108,11 @@
</intent-filter>
</activity>
<activity
android:name=".gest.accettazione_bolla_picking.AccettazioneBollaPickingActivity"
android:screenOrientation="portrait"
android:theme="@style/Light" />
<provider
android:name=".core.update.GenericFileProvider"
android:authorities="${applicationId}.core.update.GenericFileProvider"

View File

@ -11,10 +11,14 @@ import it.integry.integrywmsnative.core.expansion.BaseDialogFragmentComponent;
import it.integry.integrywmsnative.core.expansion.BaseDialogFragmentModule;
import it.integry.integrywmsnative.core.expansion.BaseFragmentComponent;
import it.integry.integrywmsnative.core.expansion.BaseFragmentModule;
import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneComponent;
import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneModule;
import it.integry.integrywmsnative.gest.accettazione_picking.AccettazionePickingComponent;
import it.integry.integrywmsnative.gest.accettazione_picking.AccettazionePickingModule;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.MainAccettazioneBollaElencoComponent;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.MainAccettazioneBollaElencoModule;
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.AccettazioneBollaPickingComponent;
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.AccettazioneBollaPickingModule;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoComponent;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoModule;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingComponent;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingModule;
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniComponent;
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniModule;
import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectDocInfoComponent;
@ -98,6 +102,10 @@ import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetM
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalModule;
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskClienteComponent;
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskClienteModule;
import it.integry.integrywmsnative.view.dialogs.ask_unknown_barcode_notes.DialogAskUnknownBarcodeNotesComponent;
import it.integry.integrywmsnative.view.dialogs.ask_unknown_barcode_notes.DialogAskUnknownBarcodeNotesModule;
import it.integry.integrywmsnative.view.dialogs.bind_product_barcode_with_package.DialogBindProductBarcodeWithPackageComponent;
import it.integry.integrywmsnative.view.dialogs.bind_product_barcode_with_package.DialogBindProductBarcodeWithPackageModule;
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromMtbAartListComponent;
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromMtbAartListModule;
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_mtbcolr_list.DialogChooseArtsFromMtbColrListComponent;
@ -130,7 +138,7 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr
LoginModule.class,
MainActivityModule.class,
MainFragmentModule.class,
MainAccettazioneModule.class,
MainAccettazioneOrdiniElencoModule.class,
ListaBancaliModule.class,
ContenutoBancaleModule.class,
PVOrdiniAcquistoGrigliaModule.class,
@ -139,7 +147,7 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr
RettificaGiacenzeModule.class,
ElencoInventariModule.class,
SpedizioneModule.class,
AccettazionePickingModule.class,
AccettazioneOrdiniPickingModule.class,
UltimeConsegneClienteModule.class,
UltimiArriviFornitoreModule.class,
PickingResiModule.class,
@ -177,7 +185,11 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr
DialogChooseArtsFromMtbAartListModule.class,
MainSettingsModule.class,
DialogInfoSituazioneArticoloModule.class,
DialogSelectArtToOrderModule.class
DialogSelectArtToOrderModule.class,
MainAccettazioneBollaElencoModule.class,
AccettazioneBollaPickingModule.class,
DialogBindProductBarcodeWithPackageModule.class,
DialogAskUnknownBarcodeNotesModule.class
})
public interface MainApplicationComponent {
@ -195,7 +207,7 @@ public interface MainApplicationComponent {
MainFragmentComponent.Factory mainFragmentComponent();
MainAccettazioneComponent.Factory mainAccettazioneComponent();
MainAccettazioneOrdiniElencoComponent.Factory mainAccettazioneOrdiniComponent();
ListaBancaliComponent.Factory listaBancaliComponent();
@ -213,7 +225,7 @@ public interface MainApplicationComponent {
SpedizioneComponent.Factory spedizioneComponent();
AccettazionePickingComponent.Factory accettazionePickingComponent();
AccettazioneOrdiniPickingComponent.Factory accettazionePickingComponent();
UltimeConsegneClienteComponent.Factory ultimeConsegneClienteComponent();
@ -299,6 +311,13 @@ public interface MainApplicationComponent {
DialogSelectArtToOrderComponent.Factory dialogSelectArtToOrderNewComponent();
MainAccettazioneBollaElencoComponent.Factory mainAccettazioneBollaElencoComponent();
AccettazioneBollaPickingComponent.Factory accettazioneBollaPickingComponent();
DialogBindProductBarcodeWithPackageComponent.Factory dialogBindProductBarcodeWithPackageComponent();
DialogAskUnknownBarcodeNotesComponent.Factory dialogAskUnknownBarcodeNotesComponent();
void inject(MainApplication mainApplication);
void inject(AppContext mainApplication);

View File

@ -2,7 +2,8 @@ package it.integry.integrywmsnative.core.class_router.configs;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneFragment;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoFragment;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.MainAccettazioneBollaElencoFragment;
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniFragment;
import it.integry.integrywmsnative.gest.inventario.ElencoInventariFragment;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoFragment;
@ -35,10 +36,18 @@ public class MenuConfiguration extends BaseMenuConfiguration {
.addItem(new MenuItem()
.setID(R.id.nav_accettazione)
.setCodMenu("MG044")
.setTitleText(R.string.accettazione_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_accettazione)
.setTitleText(R.string.accettazione_ordine_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_accettazione_ordini)
.setDrawerIcon(R.drawable.ic_black_download)
.setFragmentFactory(MainAccettazioneFragment::newInstance))
.setFragmentFactory(MainAccettazioneOrdiniElencoFragment::newInstance))
.addItem(new MenuItem()
.setID(R.id.nav_accettazione_bolle)
.setCodMenu("MG065")
.setTitleText(R.string.accettazione_bolle_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_accettazione_bolle)
.setDrawerIcon(R.drawable.ic_black_download)
.setFragmentFactory(MainAccettazioneBollaElencoFragment::newInstance))
.addItem(new MenuItem()
.setID(R.id.nav_resi_fornitore)

View File

@ -6,7 +6,7 @@ import androidx.room.ForeignKey;
import androidx.room.Index;
import androidx.room.PrimaryKey;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
@Entity(
@ -138,7 +138,7 @@ public class SqlMtbColr {
@ColumnInfo(name = "unt_mis")
private String untMis;
@ColumnInfo(name = "data_scad")
private Date dataScad;
private LocalDate dataScad;
public int getId() {
return id;
@ -428,11 +428,11 @@ public class SqlMtbColr {
this.descrizione = descrizione;
}
public Date getDataScad() {
public LocalDate getDataScad() {
return dataScad;
}
public void setDataScad(Date dataScad) {
public void setDataScad(LocalDate dataScad) {
this.dataScad = dataScad;
}
}

View File

@ -24,7 +24,6 @@ import androidx.databinding.BindingAdapter;
import androidx.databinding.BindingConversion;
import androidx.databinding.Observable;
import androidx.databinding.ObservableField;
import androidx.lifecycle.MutableLiveData;
import com.google.android.material.datepicker.MaterialDatePicker;
import com.google.android.material.textfield.TextInputEditText;
@ -33,6 +32,7 @@ import com.google.android.material.textfield.TextInputLayout;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.time.LocalDate;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
@ -457,8 +457,8 @@ public class Converters {
}
@BindingAdapter(value = {"binding", "parentView", "warningOnOldDates"}, requireAll = false)
public static void bindEditTextDate(EditText view, final ObservableField<Date> observableDate, BaseDialogFragment parentFragment, boolean warningOnOldDates) {
Pair<ObservableField<Date>, TextWatcherAdapter> pair = (Pair) view.getTag(R.id.bound_observable);
public static void bindEditTextDate(EditText view, final ObservableField<LocalDate> observableDate, BaseDialogFragment parentFragment, boolean warningOnOldDates) {
Pair<ObservableField<LocalDate>, TextWatcherAdapter> pair = (Pair) view.getTag(R.id.bound_observable);
if (pair == null || pair.first != observableDate) {
if (pair != null) {
view.removeTextChangedListener(pair.second);
@ -473,37 +473,33 @@ public class Converters {
RunnableArgs<View> onClick = v -> {
// Get Current Date
Calendar c = UtilityDate.getCalendarInstance();
if (observableDate.get() != null) {
c.setTime(observableDate.get());
}
LocalDate selectedDate = observableDate.get() != null ? observableDate.get() : UtilityDate.getNow();
var datePicker =
MaterialDatePicker.Builder.datePicker()
.setSelection(c.getTimeInMillis())
.setSelection(UtilityDate.localDateToMillisTime(selectedDate))
.build();
datePicker.addOnDismissListener(dialog -> {
if(datePicker.getSelection() != null) {
var timeInMillis = datePicker.getSelection();
var selectedTimeInMillis = datePicker.getSelection();
var nowTime = UtilityDate.millisTimeToLocalDate(selectedTimeInMillis, null);
var calendar = UtilityDate.getCalendarInstance();
calendar.setTimeInMillis(timeInMillis);
if (parentFragment != null && warningOnOldDates && calendar.before(UtilityDate.getCalendarInstance())) {
if (parentFragment != null && warningOnOldDates && nowTime.isBefore(UtilityDate.getNow())) {
DialogSimpleMessageView
.makeWarningDialog(new SpannableString("Hai scelto una data precedente a quella odierna. Continuare?"), null, () -> {
view.setText(UtilityDate.formatDate(calendar.getTime(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
observableDate.set(calendar.getTime());
view.setText(UtilityDate.formatDate(nowTime, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
observableDate.set(nowTime);
}, () -> {
})
.show(parentFragment.requireActivity().getSupportFragmentManager(), "tag");
} else {
view.setText(UtilityDate.formatDate(calendar.getTime(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
observableDate.set(calendar.getTime());
view.setText(UtilityDate.formatDate(nowTime, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
observableDate.set(nowTime);
}
}
else {
@ -522,7 +518,7 @@ public class Converters {
((TextInputLayout) view.getParent().getParent()).setOnClickListener(onClick::run);
}
}
Date newValue = observableDate.get();
var newValue = observableDate.get();
view.setText(UtilityDate.formatDate(newValue, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
}

View File

@ -1,6 +1,7 @@
package it.integry.integrywmsnative.core.model;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import it.integry.integrywmsnative.core.utility.UtilityDate;
@ -141,7 +142,7 @@ public class DtbDocr {
private MtbAart mtbAart;
private String dataScadPartitaMag;
private LocalDate dataScadPartitaMag;
public String getCodAnag() {
return codAnag;
@ -741,15 +742,12 @@ public class DtbDocr {
return this;
}
public String getDataScadPartitaMag() {
public LocalDate getDataScadPartitaMag() {
return dataScadPartitaMag;
}
public Date getDataScadPartitaMagD() {
return UtilityDate.recognizeDateWithExceptionHandler(getDataScadPartitaMag());
}
public DtbDocr setDataScadPartitaMag(String dataScadPartitaMag) {
public DtbDocr setDataScadPartitaMag(LocalDate dataScadPartitaMag) {
this.dataScadPartitaMag = dataScadPartitaMag;
return this;
}

View File

@ -1,6 +1,7 @@
package it.integry.integrywmsnative.core.model;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
@ -36,7 +37,7 @@ public class MtbColr extends EntityBase {
private BigDecimal numCnf;
private String insPartitaMag;
private String mtbPartitaMag_descrizione;
private String dataScadPartita;
private LocalDate dataScadPartita;
private String descrizione;
private String untMis;
private Integer causale;
@ -361,25 +362,15 @@ public class MtbColr extends EntityBase {
}
public String getDataScadPartitaS() {
public LocalDate getDataScadPartita() {
return dataScadPartita;
}
public Date getDataScadPartitaD() {
return UtilityDate.recognizeDateWithExceptionHandler(getDataScadPartitaS());
}
public MtbColr setDataScadPartita(String dataScadPartita) {
public MtbColr setDataScadPartita(LocalDate dataScadPartita) {
this.dataScadPartita = dataScadPartita;
return this;
}
public MtbColr setDataScadPartita(Date dataScadPartita) {
this.dataScadPartita = UtilityDate.formatDate(dataScadPartita, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
return this;
}
public String getDescrizione() {
return descrizione;
}

View File

@ -1,17 +1,16 @@
package it.integry.integrywmsnative.core.model;
import java.math.BigDecimal;
import java.util.Date;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import java.time.LocalDate;
import java.time.LocalDateTime;
public class MtbPartitaMag extends EntityBase{
private String codMart;
private String partitaMag;
private String descrizione;
private String dataIns;
private String dataScad;
private LocalDateTime dataIns;
private LocalDate dataScad;
private Integer scelta;
private BigDecimal costoUntUmMag;
private BigDecimal valUntUmMag;
@ -62,33 +61,24 @@ public class MtbPartitaMag extends EntityBase{
return this;
}
public String getDataIns() {
public LocalDateTime getDataIns() {
return dataIns;
}
public MtbPartitaMag setDataIns(String dataIns) {
public MtbPartitaMag setDataIns(LocalDateTime dataIns) {
this.dataIns = dataIns;
return this;
}
public String getDataScadS() {
public LocalDate getDataScad() {
return dataScad;
}
public Date getDataScadD() {
return UtilityDate.recognizeDateWithExceptionHandler(getDataScadS());
}
public MtbPartitaMag setDataScad(String dataScad) {
public MtbPartitaMag setDataScad(LocalDate dataScad) {
this.dataScad = dataScad;
return this;
}
public MtbPartitaMag setDataScad(Date dataScad) {
this.dataScad = UtilityDate.formatDate(dataScad, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
return this;
}
public Integer getScelta() {
return scelta;
}

View File

@ -0,0 +1,29 @@
package it.integry.integrywmsnative.core.model.dto;
import it.integry.integrywmsnative.core.model.MtbColt;
public class AlreadyRegisteredUDCDTO {
private MtbColt mtbColt;
private boolean canBeRecovered;
public MtbColt getMtbColt() {
return mtbColt;
}
public AlreadyRegisteredUDCDTO setMtbColt(MtbColt mtbColt) {
this.mtbColt = mtbColt;
return this;
}
public boolean isCanBeRecovered() {
return canBeRecovered;
}
public AlreadyRegisteredUDCDTO setCanBeRecovered(boolean canBeRecovered) {
this.canBeRecovered = canBeRecovered;
return this;
}
}

View File

@ -54,7 +54,7 @@ public class PickDataDTO {
if (!UtilityString.isNullOrEmpty(partitaMag)) {
MtbPartitaMag mtbPartitaMag = new MtbPartitaMag()
.setPartitaMag(partitaMag)
.setDataScad(UtilityDate.recognizeDateWithExceptionHandler(dataScad));
.setDataScad(UtilityDate.recognizeLocalDateWithExceptionHandler(dataScad));
manualPickDTO.setMtbPartitaMag(mtbPartitaMag);
}

View File

@ -19,6 +19,9 @@ import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.model.articolo.RetrieveArticoloByCodMartRequestDTO;
import it.integry.integrywmsnative.core.rest.model.articolo.SearchArticoloByBarcodeRequestDTO;
import it.integry.integrywmsnative.core.rest.model.articolo.SearchArticoloByBarcodeResponseDTO;
import it.integry.integrywmsnative.core.rest.model.articolo.UpdateBarcodeImballoRequestDTO;
import it.integry.integrywmsnative.core.utility.UtilityQuery;
import retrofit2.Call;
import retrofit2.Callback;
@ -33,23 +36,28 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer {
this.systemRESTConsumer = systemRESTConsumer;
}
public void getByBarcodeProd(String barcodeProd, RunnableArgs<List<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) {
public void searchByBarcode(String barcodeProd, RunnableArgs<List<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) {
ArticoloRESTConsumerService articoloRESTConsumerService = RESTBuilder.getService(ArticoloRESTConsumerService.class);
articoloRESTConsumerService.getByBarcodeProd(barcodeProd).enqueue(new Callback<>() {
@Override
public void onResponse(Call<ServiceRESTResponse<MtbAart>> call, Response<ServiceRESTResponse<MtbAart>> response) {
analyzeAnswer(response, "getByBarcodeProd", (m) -> {
List<MtbAart> aartList = response.body().getEntityList();
aartList = aartList != null ? Stream.of(aartList).filter(x -> x.getFlagStato().equalsIgnoreCase("A")).toList() : null;
onComplete.run(aartList);
}, onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<MtbAart>> call, Throwable t) {
onFailed.run(new Exception(t));
}
});
var request = new SearchArticoloByBarcodeRequestDTO()
.setBarcode(barcodeProd)
.setOnlyActive(true);
articoloRESTConsumerService
.searchByBarcode(request)
.enqueue(new Callback<>() {
@Override
public void onResponse(Call<ServiceRESTResponse<SearchArticoloByBarcodeResponseDTO>> call, Response<ServiceRESTResponse<SearchArticoloByBarcodeResponseDTO>> response) {
analyzeAnswer(response, "searchByBarcode", (m) -> {
onComplete.run(response.body().getDto().getArts());
}, onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<SearchArticoloByBarcodeResponseDTO>> call, Throwable t) {
onFailed.run(new Exception(t));
}
});
}
@ -191,4 +199,29 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer {
onComplete.run(inputMtbAart);
}, onFailed);
}
public void updateBarcodeImballo(String codMart, String newBarcodeImballo, Runnable onComplete, RunnableArgs<Exception> onFailed) {
ArticoloRESTConsumerService articoloRESTConsumerService = RESTBuilder.getService(ArticoloRESTConsumerService.class);
var request = new UpdateBarcodeImballoRequestDTO()
.setCodMart(codMart)
.setNewBarcodeImballo(newBarcodeImballo);
articoloRESTConsumerService
.updateBarcodeImballo(request)
.enqueue(new Callback<>() {
@Override
public void onResponse(Call<ServiceRESTResponse<Void>> call, Response<ServiceRESTResponse<Void>> response) {
analyzeAnswer(response, "updateBarcodeImballo", m -> {
onComplete.run();
}, onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<Void>> call, Throwable t) {
onFailed.run(new Exception(t));
}
});
}
}

View File

@ -6,6 +6,9 @@ import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.model.articolo.RetrieveArticoloByCodMartRequestDTO;
import it.integry.integrywmsnative.core.rest.model.articolo.SearchArticoloByBarcodeRequestDTO;
import it.integry.integrywmsnative.core.rest.model.articolo.SearchArticoloByBarcodeResponseDTO;
import it.integry.integrywmsnative.core.rest.model.articolo.UpdateBarcodeImballoRequestDTO;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
@ -14,13 +17,15 @@ import retrofit2.http.Query;
public interface ArticoloRESTConsumerService {
@POST("SM2getArticoloByBarcode")
Call<ServiceRESTResponse<MtbAart>> getByBarcodeProd(@Query("barcode") String barcodeProd);
@POST("wms/articolo/searchByBarcode")
Call<ServiceRESTResponse<SearchArticoloByBarcodeResponseDTO>> searchByBarcode(@Body() SearchArticoloByBarcodeRequestDTO searchArticoloByBarcodeRequest);
@POST("wms/articolo/retrieveByCodMart")
Call<ServiceRESTResponse<MtbAart>> getByCodMart(@Body RetrieveArticoloByCodMartRequestDTO retrieveArticoloByCodMartRequest);
@POST("wms/articolo/updateBarcodeImballo")
Call<ServiceRESTResponse<Void>> updateBarcodeImballo(@Body UpdateBarcodeImballoRequestDTO updateBarcodeImballoRequest);
@GET("getProductLotStatus")
Call<ServiceRESTResponse<List<StatoArticoloDTO>>> getStatoPartita(@Query("codMart") String codMart, @Query("partitaMag") String partitaMag);

View File

@ -3,6 +3,7 @@ package it.integry.integrywmsnative.core.rest.consumers;
import android.util.Log;
import java.util.List;
import java.util.stream.Collectors;
import javax.inject.Singleton;
@ -11,6 +12,7 @@ import it.integry.integrywmsnative.core.model.StbGestSetup;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.GestSetupDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.settings.StbGestSetupReader;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
import retrofit2.Call;
import retrofit2.Callback;
@ -24,18 +26,18 @@ public class GestSetupRESTConsumer extends _BaseRESTConsumer {
service.getGestSetupValue(gestName, sectionName, keySection)
.enqueue(new Callback<>() {
@Override
public void onResponse(Call<ServiceRESTResponse<GestSetupDTO>> call, Response<ServiceRESTResponse<GestSetupDTO>> response) {
analyzeAnswer(response, "GestSetup", onComplete, onFailed);
}
@Override
public void onResponse(Call<ServiceRESTResponse<GestSetupDTO>> call, Response<ServiceRESTResponse<GestSetupDTO>> response) {
analyzeAnswer(response, "GestSetup", onComplete, onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<GestSetupDTO>> call, Throwable t) {
Log.e("GestSetup", t.toString());
// UtilityLogger.errorMe(new Exception(t));
if (onFailed != null) onFailed.run(new Exception(t));
}
});
@Override
public void onFailure(Call<ServiceRESTResponse<GestSetupDTO>> call, Throwable t) {
Log.e("GestSetup", t.toString());
// UtilityLogger.errorMe(new Exception(t));
if (onFailed != null) onFailed.run(new Exception(t));
}
});
}
public void getBooleanValue(String gestName, String sectionName, String keySection, RunnableArgs<Boolean> onComplete, RunnableArgs<Exception> onFailed) {
@ -76,12 +78,25 @@ public class GestSetupRESTConsumer extends _BaseRESTConsumer {
}
public void getValues(String codMdep, List<StbGestSetup> stbGestSetupList, RunnableArgs<List<StbGestSetup>> onComplete, RunnableArgs<Exception> onFailed) {
public void getValues(String codMdep, List<StbGestSetupReader> stbGestSetupList, RunnableArgs<List<StbGestSetupReader>> onComplete, RunnableArgs<Exception> onFailed) {
var stbGestSetups = stbGestSetupList.stream().map(x -> (StbGestSetup) x).collect(Collectors.toList());
GestSetupRESTConsumerService service = RESTBuilder.getService(GestSetupRESTConsumerService.class);
service.getGestSetupValues(codMdep, stbGestSetupList).enqueue(new Callback<>() {
service.getGestSetupValues(codMdep, stbGestSetups).enqueue(new Callback<>() {
@Override
public void onResponse(Call<ServiceRESTResponse<List<StbGestSetup>>> call, Response<ServiceRESTResponse<List<StbGestSetup>>> response) {
analyzeAnswer(response, "GestSetup", onComplete, onFailed);
analyzeAnswer(response, "GestSetup", data -> {
for (StbGestSetup stbGestSetup : data) {
stbGestSetupList.stream().filter(x -> stbGestSetup.getGestName().equalsIgnoreCase(x.getGestName()) &&
stbGestSetup.getSection().equalsIgnoreCase(x.getSection()) &&
stbGestSetup.getKeySection().equalsIgnoreCase(x.getKeySection()))
.findFirst()
.ifPresent(x -> x.setValue(stbGestSetup.getValue()));
}
onComplete.run(stbGestSetupList);
}, onFailed);
}
@Override

View File

@ -0,0 +1,25 @@
package it.integry.integrywmsnative.core.rest.model.articolo;
public class SearchArticoloByBarcodeRequestDTO {
private String barcode;
private boolean onlyActive;
public String getBarcode() {
return barcode;
}
public SearchArticoloByBarcodeRequestDTO setBarcode(String barcode) {
this.barcode = barcode;
return this;
}
public boolean isOnlyActive() {
return onlyActive;
}
public SearchArticoloByBarcodeRequestDTO setOnlyActive(boolean onlyActive) {
this.onlyActive = onlyActive;
return this;
}
}

View File

@ -0,0 +1,20 @@
package it.integry.integrywmsnative.core.rest.model.articolo;
import java.util.List;
import it.integry.integrywmsnative.core.model.MtbAart;
public class SearchArticoloByBarcodeResponseDTO {
private List<MtbAart> arts;
public List<MtbAart> getArts() {
return arts;
}
public SearchArticoloByBarcodeResponseDTO setArts(List<MtbAart> arts) {
this.arts = arts;
return this;
}
}

View File

@ -0,0 +1,26 @@
package it.integry.integrywmsnative.core.rest.model.articolo;
public class UpdateBarcodeImballoRequestDTO {
private String codMart;
private String newBarcodeImballo;
public String getCodMart() {
return codMart;
}
public UpdateBarcodeImballoRequestDTO setCodMart(String codMart) {
this.codMart = codMart;
return this;
}
public String getNewBarcodeImballo() {
return newBarcodeImballo;
}
public UpdateBarcodeImballoRequestDTO setNewBarcodeImballo(String newBarcodeImballo) {
this.newBarcodeImballo = newBarcodeImballo;
return this;
}
}

View File

@ -7,6 +7,7 @@ public class CreateUDCRequestDTO {
private String codMdep;
private Integer numCollo;
private String serCollo;
private String codAnag;
private String codTcol;
private String annotazioni;
@ -41,6 +42,15 @@ public class CreateUDCRequestDTO {
return this;
}
public String getCodAnag() {
return codAnag;
}
public CreateUDCRequestDTO setCodAnag(String codAnag) {
this.codAnag = codAnag;
return this;
}
public String getCodTcol() {
return codTcol;
}

View File

@ -9,6 +9,8 @@ public class InsertUDCRowRequestDTO {
private MtbColt targetMtbColt;
private String codMart;
private String descrizione;
private String barcode;
private BigDecimal qtaTot;
private BigDecimal qtaCnf;
private BigDecimal numCnf;
@ -21,6 +23,11 @@ public class InsertUDCRowRequestDTO {
private Integer numOrd;
private Integer rigaOrd;
private LocalDate dataDoc;
private Integer numDoc;
private String serDoc;
private String codDtip;
public MtbColt getTargetMtbColt() {
return targetMtbColt;
@ -40,6 +47,24 @@ public class InsertUDCRowRequestDTO {
return this;
}
public String getDescrizione() {
return descrizione;
}
public InsertUDCRowRequestDTO setDescrizione(String descrizione) {
this.descrizione = descrizione;
return this;
}
public String getBarcode() {
return barcode;
}
public InsertUDCRowRequestDTO setBarcode(String barcode) {
this.barcode = barcode;
return this;
}
public BigDecimal getQtaTot() {
return qtaTot;
}
@ -129,4 +154,40 @@ public class InsertUDCRowRequestDTO {
this.rigaOrd = rigaOrd;
return this;
}
public LocalDate getDataDoc() {
return dataDoc;
}
public InsertUDCRowRequestDTO setDataDoc(LocalDate dataDoc) {
this.dataDoc = dataDoc;
return this;
}
public Integer getNumDoc() {
return numDoc;
}
public InsertUDCRowRequestDTO setNumDoc(Integer numDoc) {
this.numDoc = numDoc;
return this;
}
public String getSerDoc() {
return serDoc;
}
public InsertUDCRowRequestDTO setSerDoc(String serDoc) {
this.serDoc = serDoc;
return this;
}
public String getCodDtip() {
return codDtip;
}
public InsertUDCRowRequestDTO setCodDtip(String codDtip) {
this.codDtip = codDtip;
return this;
}
}

View File

@ -62,6 +62,13 @@ public class DBSettingsModel {
private String commessaMagazzino;
private boolean flagGeneraDocumentoSpedizione = false;
private boolean flagIsInventarioCacheEnabled = false;
private boolean flagAskPrintUlAccettazioneBolla = false;
private boolean flagAskTipoColloAccettazioneBolla = false;
private boolean flagAskVersamentoAutomaticoAccettazioneBolla = false;
private boolean flagCanAddUnknownItemsAccettazioneBolla = false;
private boolean flagCanAddUnknownBarcodesAccettazioneBolla = false;
private boolean flagEnableFastPickAccettazioneBolla = false;
private boolean flagDisableMandatoryTracciabilitaAccettazioneBolla = false;
public boolean isFlagSpedizioneEnableFakeGiacenza() {
return flagSpedizioneEnableFakeGiacenza;
@ -486,4 +493,67 @@ public class DBSettingsModel {
this.flagIsInventarioCacheEnabled = flagIsInventarioCacheEnabled;
return this;
}
public boolean isFlagAskPrintUlAccettazioneBolla() {
return flagAskPrintUlAccettazioneBolla;
}
public DBSettingsModel setFlagAskPrintUlAccettazioneBolla(boolean flagAskPrintUlAccettazioneBolla) {
this.flagAskPrintUlAccettazioneBolla = flagAskPrintUlAccettazioneBolla;
return this;
}
public boolean isFlagAskTipoColloAccettazioneBolla() {
return flagAskTipoColloAccettazioneBolla;
}
public DBSettingsModel setFlagAskTipoColloAccettazioneBolla(boolean flagAskTipoColloAccettazioneBolla) {
this.flagAskTipoColloAccettazioneBolla = flagAskTipoColloAccettazioneBolla;
return this;
}
public boolean isFlagAskVersamentoAutomaticoAccettazioneBolla() {
return flagAskVersamentoAutomaticoAccettazioneBolla;
}
public DBSettingsModel setFlagAskVersamentoAutomaticoAccettazioneBolla(boolean flagAskVersamentoAutomaticoAccettazioneBolla) {
this.flagAskVersamentoAutomaticoAccettazioneBolla = flagAskVersamentoAutomaticoAccettazioneBolla;
return this;
}
public boolean isFlagCanAddUnknownItemsAccettazioneBolla() {
return flagCanAddUnknownItemsAccettazioneBolla;
}
public DBSettingsModel setFlagCanAddUnknownItemsAccettazioneBolla(boolean flagCanAddUnknownItemsAccettazioneBolla) {
this.flagCanAddUnknownItemsAccettazioneBolla = flagCanAddUnknownItemsAccettazioneBolla;
return this;
}
public boolean isFlagCanAddUnknownBarcodesAccettazioneBolla() {
return flagCanAddUnknownBarcodesAccettazioneBolla;
}
public DBSettingsModel setFlagCanAddUnknownBarcodesAccettazioneBolla(boolean flagCanAddUnknownBarcodesAccettazioneBolla) {
this.flagCanAddUnknownBarcodesAccettazioneBolla = flagCanAddUnknownBarcodesAccettazioneBolla;
return this;
}
public boolean isFlagEnableFastPickAccettazioneBolla() {
return flagEnableFastPickAccettazioneBolla;
}
public DBSettingsModel setFlagEnableFastPickAccettazioneBolla(boolean flagEnableFastPickAccettazioneBolla) {
this.flagEnableFastPickAccettazioneBolla = flagEnableFastPickAccettazioneBolla;
return this;
}
public boolean isFlagDisableMandatoryTracciabilitaAccettazioneBolla() {
return flagDisableMandatoryTracciabilitaAccettazioneBolla;
}
public DBSettingsModel setFlagDisableMandatoryTracciabilitaAccettazioneBolla(boolean flagDisableMandatoryTracciabilitaAccettazioneBolla) {
this.flagDisableMandatoryTracciabilitaAccettazioneBolla = flagDisableMandatoryTracciabilitaAccettazioneBolla;
return this;
}
}

View File

@ -2,7 +2,6 @@ package it.integry.integrywmsnative.core.settings;
import android.content.Context;
import com.annimon.stream.Stream;
import com.google.firebase.perf.metrics.Trace;
import com.google.gson.reflect.TypeToken;
@ -17,7 +16,6 @@ import javax.inject.Singleton;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.StbGestSetup;
import it.integry.integrywmsnative.core.model.dto.InternalCodAnagsDTO;
import it.integry.integrywmsnative.core.rest.consumers.AziendaRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer;
@ -62,9 +60,6 @@ public class SettingsManager {
settingsModelIstance = new SettingsModel();
settingsModelIstance.setServer(new SettingsModel.Server());
//settingsModelIstance.user = new SettingsModel.User();
//settingsModelIstance.userSession = new SettingsModel.UserSession();
firstStart = true;
}
@ -210,271 +205,304 @@ public class SettingsManager {
private static void loadGestSetupValues(Runnable onComplete, RunnableArgs<Exception> onFailed) {
List<StbGestSetup> stbGestSetupList = new ArrayList<>();
List<StbGestSetupReader> stbGestSetupReaderList = new ArrayList<>();
stbGestSetupList.add(new StbGestSetup()
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SETUP")
.setKeySection("ENABLE_CHECK_PARTITA_MAG_PICKING_V"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("ENABLE_CHECK_PARTITA_MAG_PICKING_V")
.setSetter(dbSettingsModelIstance::setEnableCheckPartitaMagCheckPickingV));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SETUP")
.setKeySection("FLAG_MULTI_CLIENTE_ORD_VENDITA"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_MULTI_CLIENTE_ORD_VENDITA")
.setSetter(dbSettingsModelIstance::setFlagMultiClienteOrdV));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SETUP")
.setKeySection("FLAG_USE_COD_ANAG_AZIENDALE"));
stbGestSetupList.add(new StbGestSetup()
.setGestName("PICKING")
.setSection("SETUP")
.setKeySection("DEFAULT_CRITERIO_DISTRIBUZIONE"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_USE_COD_ANAG_AZIENDALE")
.setSetter(dbSettingsModelIstance::setFlagUseCodAnagAziendale));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("PICKING_LIBERO")
.setKeySection("FLAG_ASK_CLIENTE"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_ASK_CLIENTE")
.setSetter(dbSettingsModelIstance::setFlagAskClienteInPickingLibero));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("PICKING_LIBERO")
.setKeySection("FLAG_ALLOW_EMPTY_CLIENTE"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_ALLOW_EMPTY_CLIENTE")
.setSetter(dbSettingsModelIstance::setFlagPickLiberoAllowEmptyCliente));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("FLAG_CAN_ADD_EXTRA_ITEMS"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_CAN_ADD_EXTRA_ITEMS")
.setSetter(dbSettingsModelIstance::setFlagCanAddExtraItemSpedizione));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("ACCETTAZIONE")
.setKeySection("FLAG_AUTO_OPEN_NEW_UL"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_AUTO_OPEN_NEW_UL")
.setSetter(dbSettingsModelIstance::setFlagCanAutoOpenNewULAccettazione));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("FLAG_CAN_ADD_EXTRA_QUANTITY"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_CAN_ADD_EXTRA_QUANTITY")
.setSetter(dbSettingsModelIstance::setFlagCanAddExtraQuantitySpedizione));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("ENABLE_CHECK_DEPOSITO"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("ENABLE_CHECK_DEPOSITO")
.setSetter(dbSettingsModelIstance::setFlagEnableCheckDepositoSpedizione));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SETUP")
.setKeySection("FLAG_FORCE_ALL_TO_COLLI"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_FORCE_ALL_TO_COLLI")
.setSetter(dbSettingsModelIstance::setFlagForceAllToColli));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SETUP")
.setKeySection("FLAG_ASK_PESO_COLLO"));
stbGestSetupList.add(new StbGestSetup()
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("FLAG_USE_NEW_PICKING_LIST"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_ASK_PESO_COLLO")
.setSetter(dbSettingsModelIstance::setFlagAskPesoColloSpedizione));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("PRODUZIONE")
.setKeySection("FLAG_VERSAMENTO_DIRETTO"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_VERSAMENTO_DIRETTO")
.setSetter(dbSettingsModelIstance::setFlagVersamentoDirettoProduzione));
stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class)
.setGestName("PICKING")
.setSection("PRODUZIONE")
.setKeySection("FILTER_FORNTIORE_PROD"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FILTER_FORNTIORE_PROD")
.setSetter(dbSettingsModelIstance::setFilterFornitoreProd));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("ENABLE_MANUAL_PICK"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("ENABLE_MANUAL_PICK")
.setSetter(dbSettingsModelIstance::setFlagSpedizioneEnableManualPick));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("ENABLE_FAKE_GIACENZA"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("ENABLE_FAKE_GIACENZA")
.setSetter(dbSettingsModelIstance::setFlagSpedizioneEnableFakeGiacenza));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("FLAG_CAN_SELECT_MULTIPLE_ORDERS"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_CAN_SELECT_MULTIPLE_ORDERS")
.setSetter(dbSettingsModelIstance::setFlagSpedizioneCanSelectMultipleOrders));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("FLAG_USE_QTA_ORD"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_USE_QTA_ORD")
.setSetter(dbSettingsModelIstance::setFlagSpedizioneUseQtaOrd));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Integer.class)
.setGestName("PICKING")
.setSection("SETUP")
.setKeySection("ON_NUM_CNF_INPUT_CHANGED"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("ON_NUM_CNF_INPUT_CHANGED")
.setSetter(data -> {
if (data != null) dbSettingsModelIstance.setOnNumCnfInputChanged(data);
}));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Integer.class)
.setGestName("PICKING")
.setSection("SETUP")
.setKeySection("ON_QTA_TOT_INPUT_CHANGED"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("ON_QTA_TOT_INPUT_CHANGED")
.setSetter(data -> {
if (data != null) dbSettingsModelIstance.setOnQtaTotInputChanged(data);
}));
stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class)
.setGestName("PVM")
.setSection("DOC_INTERNI")
.setKeySection("NOTE_PERDITA"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("NOTE_PERDITA")
.setSetter(data -> {
if (data != null)
dbSettingsModelIstance.setNotePerditaDocInterni(Arrays.asList(data.split("\\|")));
}));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PVM")
.setSection("ORDINI_A")
.setKeySection("ORDINA_NUOVI_ARTICOLI"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("ORDINA_NUOVI_ARTICOLI")
.setSetter(dbSettingsModelIstance::setFlagOrdinaNuoviArticoliInGriglia));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PVM")
.setSection("ORDINI_A")
.setKeySection("ORDINA_ARTICOLI_ON_SCAN"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("ORDINA_ARTICOLI_ON_SCAN")
.setSetter(dbSettingsModelIstance::setFlagOrdinaArticoliOnScan));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PVM")
.setSection("ORDINI_A")
.setKeySection("FLAG_CONSENTI_ORDINE_DA_GRIGLIA"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_CONSENTI_ORDINE_DA_GRIGLIA")
.setSetter(dbSettingsModelIstance::setFlagConsentiFuoriPianoLogistico));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PVM")
.setSection("ORDINI_A")
.setKeySection("FLAG_CONSENTI_ORDINE_SENZA_GRIGLIA"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_CONSENTI_ORDINE_SENZA_GRIGLIA")
.setSetter(dbSettingsModelIstance::setFlagConsentiOrdineSenzaGriglia));
stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class)
.setGestName("PVM")
.setSection("DOC_INTERNI")
.setKeySection("CHECK_FORNITORE"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("CHECK_FORNITORE")
.setSetter(dbSettingsModelIstance::setDocInterniCheckFornitore));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("ACCETTAZIONE")
.setKeySection("FLAG_USE_QTA_ORD"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_USE_QTA_ORD")
.setSetter(dbSettingsModelIstance::setFlagAccettazioneUseQtaOrd));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("PICKING_LIBERO")
.setKeySection("FLAG_ALLOW_EMPTY_DEST"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_ALLOW_EMPTY_DEST")
.setSetter(dbSettingsModelIstance::setFlagPickLiberoAllowEmptyDest));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("FLAG_PRINT_PACKING_LIST_ON_CLOSE"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_PRINT_PACKING_LIST_ON_CLOSE")
.setSetter(dbSettingsModelIstance::setFlagPrintPackingListOnOrderClose));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("FLAG_PRINT_ETICHETTE_ON_CLOSE"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_PRINT_ETICHETTE_ON_CLOSE")
.setSetter(dbSettingsModelIstance::setFlagPrintEtichetteOnOrderClose));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("FLAG_PRINT_ETICHETTE_ON_LU_CLOSE"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_PRINT_ETICHETTE_ON_LU_CLOSE")
.setSetter(dbSettingsModelIstance::setFlagPrintEtichetteOnLUClose)
.setDefaultValue(true));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("FLAG_ALLOW_EMPTY_DEST"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_ASK_INFO_AGGIUNTIVE")
.setSetter(dbSettingsModelIstance::setFlagAskInfoAggiuntiveSpedizione));
stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class)
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("FLAG_ASK_INFO_AGGIUNTIVE"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("COD_DTIP_ORD_TRASF")
.setSetter(dbSettingsModelIstance::setCodDtipOrdTrasfV));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("COD_DTIP_ORD_TRASF"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_NOTIFICA_STATO_PARTITA")
.setSetter(dbSettingsModelIstance::setNotifyLotStatus));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("FLAG_NOTIFICA_STATO_PARTITA"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_SHOW_COD_FORN")
.setSetter(dbSettingsModelIstance::setShowCodFornSpedizione)
.setDefaultValue(true));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("FLAG_SHOW_COD_FORN"));
stbGestSetupList.add(new StbGestSetup()
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("FLAG_GROUP_BY_GRP_MERC"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_GROUP_BY_GRP_MERC")
.setSetter(dbSettingsModelIstance::setGroupShippingByCommodityGroup)
.setDefaultValue(false));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("INVENTARIO")
.setKeySection("FLAG_CAN_CREATE_INVENTARIO"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_CAN_CREATE_INVENTARIO")
.setSetter(dbSettingsModelIstance::setFlagCanCreateInventario)
.setDefaultValue(true));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("INVENTARIO")
.setKeySection("FLAG_CAN_ADD_UNKNOWN_ITEMS"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_CAN_ADD_UNKNOWN_ITEMS")
.setSetter(dbSettingsModelIstance::setFlagCanAddUnknownItemsInventario)
.setDefaultValue(true));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("INVENTARIO")
.setKeySection("FLAG_SHOULD_ASK_TO_CREATE_OR_UPDATE_ROW"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("FLAG_SHOULD_ASK_TO_CREATE_OR_UPDATE_ROW")
.setSetter(dbSettingsModelIstance::setFlagShouldAskToCreateOrUpdateRowInventario)
.setDefaultValue(false));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("INVENTARIO")
.setKeySection("ENABLE_OFFLINE_CACHE"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("ENABLE_OFFLINE_CACHE")
.setSetter(dbSettingsModelIstance::setFlagIsInventarioCacheEnabled)
.setDefaultValue(false));
stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class)
.setGestName("PICKING")
.setSection("SETUP")
.setKeySection("COMMESSA_MAGAZZINO"));
stbGestSetupList.add(new StbGestSetup()
.setKeySection("COMMESSA_MAGAZZINO")
.setSetter(dbSettingsModelIstance::setCommessaMagazzino)
.setDefaultValue(CommonConst.Config.COMMESSA_MAG));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("SPEDIZIONE")
.setKeySection("GENERA_DOC"));
.setKeySection("GENERA_DOC")
.setSetter(dbSettingsModelIstance::setFlagGeneraDocumentoSpedizione)
.setDefaultValue(false));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("ACCETTAZIONE_BOLLA")
.setKeySection("FLAG_ASK_PRINT_UL")
.setSetter(dbSettingsModelIstance::setFlagAskPrintUlAccettazioneBolla)
.setDefaultValue(false));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("ACCETTAZIONE_BOLLA")
.setKeySection("FLAG_ASK_TIPO_COLLO")
.setSetter(dbSettingsModelIstance::setFlagAskTipoColloAccettazioneBolla)
.setDefaultValue(false));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("ACCETTAZIONE_BOLLA")
.setKeySection("FLAG_ASK_VERSAMENTO_AUTOMATICO")
.setSetter(dbSettingsModelIstance::setFlagAskVersamentoAutomaticoAccettazioneBolla)
.setDefaultValue(false));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("ACCETTAZIONE_BOLLA")
.setKeySection("FLAG_CAN_ADD_UNKNOWN_ITEMS")
.setSetter(dbSettingsModelIstance::setFlagCanAddUnknownItemsAccettazioneBolla)
.setDefaultValue(false));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("ACCETTAZIONE_BOLLA")
.setKeySection("FLAG_CAN_ADD_UNKNOWN_BARCODES")
.setSetter(dbSettingsModelIstance::setFlagCanAddUnknownBarcodesAccettazioneBolla)
.setDefaultValue(false));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("ACCETTAZIONE_BOLLA")
.setKeySection("FLAG_ENABLE_FAST_PICK")
.setSetter(dbSettingsModelIstance::setFlagEnableFastPickAccettazioneBolla)
.setDefaultValue(false));
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
.setGestName("PICKING")
.setSection("ACCETTAZIONE_BOLLA")
.setKeySection("FLAG_DISABLE_MANDATORY_TRACCIABILITA")
.setSetter(dbSettingsModelIstance::setFlagDisableMandatoryTracciabilitaAccettazioneBolla)
.setDefaultValue(false));
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
mGestSetupRESTConsumer.getValues(codMdep, stbGestSetupList, list -> {
dbSettingsModelIstance.setEnableCheckPartitaMagCheckPickingV(getValueFromList(list, "SETUP", "ENABLE_CHECK_PARTITA_MAG_PICKING_V", Boolean.class));
dbSettingsModelIstance.setFlagMultiClienteOrdV(getValueFromList(list, "SETUP", "FLAG_MULTI_CLIENTE_ORD_VENDITA", Boolean.class));
dbSettingsModelIstance.setFlagUseCodAnagAziendale(getValueFromList(list, "SETUP", "FLAG_USE_COD_ANAG_AZIENDALE", Boolean.class));
dbSettingsModelIstance.setFlagAskClienteInPickingLibero(getValueFromList(list, "PICKING_LIBERO", "FLAG_ASK_CLIENTE", Boolean.class));
dbSettingsModelIstance.setFlagPickLiberoAllowEmptyCliente(getValueFromList(list, "PICKING_LIBERO", "FLAG_ALLOW_EMPTY_CLIENTE", Boolean.class));
dbSettingsModelIstance.setFlagCanAddExtraItemSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_CAN_ADD_EXTRA_ITEMS", Boolean.class));
dbSettingsModelIstance.setFlagCanAutoOpenNewULAccettazione(getValueFromList(list, "ACCETTAZIONE", "FLAG_AUTO_OPEN_NEW_UL", Boolean.class));
dbSettingsModelIstance.setFlagCanAddExtraQuantitySpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_CAN_ADD_EXTRA_QUANTITY", Boolean.class));
dbSettingsModelIstance.setFlagEnableCheckDepositoSpedizione(getValueFromList(list, "SPEDIZIONE", "ENABLE_CHECK_DEPOSITO", Boolean.class));
dbSettingsModelIstance.setFlagForceAllToColli(getValueFromList(list, "SETUP", "FLAG_FORCE_ALL_TO_COLLI", Boolean.class));
dbSettingsModelIstance.setFlagAskPesoColloSpedizione(getValueFromList(list, "SETUP", "FLAG_ASK_PESO_COLLO", Boolean.class));
dbSettingsModelIstance.setFlagVersamentoDirettoProduzione(getValueFromList(list, "PRODUZIONE", "FLAG_VERSAMENTO_DIRETTO", Boolean.class));
dbSettingsModelIstance.setFlagSpedizioneEnableManualPick(getValueFromList(list, "SPEDIZIONE", "ENABLE_MANUAL_PICK", Boolean.class));
dbSettingsModelIstance.setFlagSpedizioneEnableFakeGiacenza(getValueFromList(list, "SPEDIZIONE", "ENABLE_FAKE_GIACENZA", Boolean.class));
dbSettingsModelIstance.setFlagSpedizioneCanSelectMultipleOrders(getValueFromList(list, "SPEDIZIONE", "FLAG_CAN_SELECT_MULTIPLE_ORDERS", Boolean.class));
dbSettingsModelIstance.setFlagSpedizioneUseQtaOrd(getValueFromList(list, "SPEDIZIONE", "FLAG_USE_QTA_ORD", Boolean.class));
dbSettingsModelIstance.setFlagOrdinaNuoviArticoliInGriglia(getValueFromList(list, "ORDINI_A", "ORDINA_NUOVI_ARTICOLI", Boolean.class));
dbSettingsModelIstance.setDocInterniCheckFornitore(getValueFromList(list, "DOC_INTERNI", "CHECK_FORNITORE", String.class));
dbSettingsModelIstance.setFlagAccettazioneUseQtaOrd(getValueFromList(list, "ACCETTAZIONE", "FLAG_USE_QTA_ORD", Boolean.class));
dbSettingsModelIstance.setFlagPickLiberoAllowEmptyDest(getValueFromList(list, "PICKING_LIBERO", "FLAG_ALLOW_EMPTY_DEST", Boolean.class));
dbSettingsModelIstance.setFlagOrdinaArticoliOnScan(getValueFromList(list, "ORDINI_A", "ORDINA_ARTICOLI_ON_SCAN", Boolean.class));
dbSettingsModelIstance.setFlagConsentiFuoriPianoLogistico(getValueFromList(list, "ORDINI_A", "FLAG_CONSENTI_ORDINE_DA_GRIGLIA", Boolean.class));
dbSettingsModelIstance.setFlagConsentiOrdineSenzaGriglia(getValueFromList(list, "ORDINI_A", "FLAG_CONSENTI_ORDINE_SENZA_GRIGLIA", Boolean.class));
dbSettingsModelIstance.setFlagPrintPackingListOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_PACKING_LIST_ON_CLOSE", Boolean.class));
dbSettingsModelIstance.setFlagPrintEtichetteOnOrderClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_CLOSE", Boolean.class));
dbSettingsModelIstance.setFlagPrintEtichetteOnLUClose(getValueFromList(list, "SPEDIZIONE", "FLAG_PRINT_ETICHETTE_ON_LU_CLOSE", Boolean.class, true));
dbSettingsModelIstance.setFlagAskInfoAggiuntiveSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_ASK_INFO_AGGIUNTIVE", Boolean.class));
dbSettingsModelIstance.setFilterFornitoreProd(getValueFromList(list, "PRODUZIONE", "FILTER_FORNTIORE_PROD", String.class));
dbSettingsModelIstance.setCodDtipOrdTrasfV(getValueFromList(list, "SPEDIZIONE", "COD_DTIP_ORD_TRASF", String.class));
dbSettingsModelIstance.setNotifyLotStatus(getValueFromList(list, "SPEDIZIONE", "FLAG_NOTIFICA_STATO_PARTITA", Boolean.class));
dbSettingsModelIstance.setShowCodFornSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_SHOW_COD_FORN", Boolean.class, Boolean.TRUE));
dbSettingsModelIstance.setGroupShippingByCommodityGroup(getValueFromList(list, "SPEDIZIONE", "FLAG_GROUP_BY_GRP_MERC", Boolean.class, Boolean.FALSE));
dbSettingsModelIstance.setFlagCanCreateInventario(getValueFromList(list, "INVENTARIO", "FLAG_CAN_CREATE_INVENTARIO", Boolean.class, Boolean.TRUE));
dbSettingsModelIstance.setFlagCanAddUnknownItemsInventario(getValueFromList(list, "INVENTARIO", "FLAG_CAN_ADD_UNKNOWN_ITEMS", Boolean.class, Boolean.TRUE));
dbSettingsModelIstance.setFlagShouldAskToCreateOrUpdateRowInventario(getValueFromList(list, "INVENTARIO", "FLAG_SHOULD_ASK_TO_CREATE_OR_UPDATE_ROW", Boolean.class, Boolean.FALSE));
dbSettingsModelIstance.setCommessaMagazzino(getValueFromList(list, "SETUP", "COMMESSA_MAGAZZINO", String.class, CommonConst.Config.COMMESSA_MAG));
dbSettingsModelIstance.setFlagGeneraDocumentoSpedizione(getValueFromList(list, "SPEDIZIONE", "GENERA_DOC", Boolean.class, Boolean.FALSE));
dbSettingsModelIstance.setFlagIsInventarioCacheEnabled(getValueFromList(list, "INVENTARIO", "ENABLE_OFFLINE_CACHE", Boolean.class, Boolean.FALSE));
String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class);
if (notePerdita != null)
dbSettingsModelIstance.setNotePerditaDocInterni(Arrays.asList(notePerdita.split("\\|")));
mGestSetupRESTConsumer.getValues(codMdep, stbGestSetupReaderList, list -> {
Integer onNumCnfInputChanged = getValueFromList(list, "SETUP", "ON_NUM_CNF_INPUT_CHANGED", Integer.class);
if (onNumCnfInputChanged != null)
dbSettingsModelIstance.setOnNumCnfInputChanged(onNumCnfInputChanged);
for (var stbGestSetupReader : list) {
var value = stbGestSetupReader.getValue();
var clazz = stbGestSetupReader.getClazz();
Integer onQtaTotInputChanged = getValueFromList(list, "SETUP", "ON_QTA_TOT_INPUT_CHANGED", Integer.class);
if (onQtaTotInputChanged != null)
dbSettingsModelIstance.setOnQtaTotInputChanged(onQtaTotInputChanged);
Object finalValue = null;
if (value != null) {
if (clazz == String.class) {
finalValue = clazz.cast(value);
} else if (clazz == Boolean.class) {
finalValue = clazz.cast("S".equalsIgnoreCase(value));
} else if (clazz == Integer.class && value != null) {
finalValue = clazz.cast(Integer.parseInt(value));
}
} else if (stbGestSetupReader.getDefaultValue() == null) {
if (clazz == Boolean.class) {
finalValue = clazz.cast(Boolean.FALSE);
} else if (clazz == Integer.class) {
finalValue = clazz.cast(0);
}
} else finalValue = stbGestSetupReader.getDefaultValue();
stbGestSetupReader.getSetter().run(finalValue);
}
if (onComplete != null) onComplete.run();
}, onFailed);
}
public static <T> T getValueFromList(List<StbGestSetup> stbGestSetupList, String section, String keySectionName, Class<T> clazz) {
return getValueFromList(stbGestSetupList, section, keySectionName, clazz, null);
}
public static <T> T getValueFromList(List<StbGestSetup> stbGestSetupList, String section, String keySectionName, Class<T> clazz, T defaultValue) {
StbGestSetup value = Stream.of(stbGestSetupList)
.filter(x -> x.getSection().equalsIgnoreCase(section) && x.getKeySection().equalsIgnoreCase(keySectionName))
.findFirstOrElse(null);
if (value != null) {
if (clazz == String.class) {
return clazz.cast(value.getValue());
} else if (clazz == Boolean.class) {
return clazz.cast("S".equalsIgnoreCase(value.getValue()));
} else if (clazz == Integer.class && value.getValue() != null) {
return clazz.cast(Integer.parseInt(value.getValue()));
}
} else if (defaultValue == null) {
if (clazz == Boolean.class) {
return clazz.cast(Boolean.FALSE);
} else if (clazz == Integer.class) {
return clazz.cast(0);
}
}
return defaultValue;
}
}

View File

@ -99,6 +99,7 @@ public class SettingsModel {
private String profileDB;
private AvailableCodMdepsDTO depo;
private Integer defaultOrdinamentoPickingAccettazione = 0;
private Integer defaultOrdinamentoPickingAccettazioneBolle = 0;
public String getDeviceId() {
return deviceId;
@ -134,6 +135,15 @@ public class SettingsModel {
this.defaultOrdinamentoPickingAccettazione = defaultOrdinamentoPickingAccettazione;
return this;
}
public Integer getDefaultOrdinamentoPickingAccettazioneBolle() {
return defaultOrdinamentoPickingAccettazioneBolle;
}
public UserSession setDefaultOrdinamentoPickingAccettazioneBolle(Integer defaultOrdinamentoPickingAccettazioneBolle) {
this.defaultOrdinamentoPickingAccettazioneBolle = defaultOrdinamentoPickingAccettazioneBolle;
return this;
}
}
public Server getServer() {

View File

@ -0,0 +1,58 @@
package it.integry.integrywmsnative.core.settings;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.StbGestSetup;
public class StbGestSetupReader<T> extends StbGestSetup {
private RunnableArgs<T> setter;
private T defaultValue;
private transient Class<T> clazz;
public StbGestSetupReader(Class<T> clazz) {
this.clazz = clazz;
}
public StbGestSetupReader<T> setGestName(String gestName) {
super.setGestName(gestName);
return this;
}
public StbGestSetupReader<T> setSection(String section) {
super.setSection(section);
return this;
}
public StbGestSetupReader<T> setKeySection(String keySection) {
super.setKeySection(keySection);
return this;
}
public RunnableArgs<T> getSetter() {
return setter;
}
public StbGestSetupReader<T> setSetter(RunnableArgs<T> setter) {
this.setter = setter;
return this;
}
public T getDefaultValue() {
return defaultValue;
}
public StbGestSetupReader<T> setDefaultValue(T defaultValue) {
this.defaultValue = defaultValue;
return this;
}
public Class<T> getClazz() {
return clazz;
}
// public Class<T> reflectClassType() {
// return ((Class<T>) ((ParameterizedType) getClass()
// .getGenericSuperclass()).getActualTypeArguments()[0]);
// }
}

View File

@ -53,14 +53,57 @@ public class UtilityDate {
}
public static Date recognizeDate(String dateString) throws ParseException, DateNotRecognizedException, TimeNotRecognizedException {
if(dateString == null) return null;
final String format = recognizeDateFormat(dateString);
if(format == null) return null;
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.parse(dateString);
}
public static LocalDate recognizeLocalDateWithExceptionHandler(String dateString) {
try {
return UtilityDate.recognizeLocalDate(dateString);
} catch (DateNotRecognizedException | TimeNotRecognizedException pex) {
UtilityLogger.error(pex);
return null;
}
}
public static LocalDate recognizeLocalDate(String dateString) throws DateNotRecognizedException, TimeNotRecognizedException {
final String format = recognizeDateFormat(dateString);
if(format == null) return null;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
return LocalDate.parse(dateString, formatter);
}
public static LocalDateTime recognizeLocalDateTimeWithExceptionHandler(String dateString) {
try {
return UtilityDate.recognizeLocalDateTime(dateString);
} catch (DateNotRecognizedException | TimeNotRecognizedException pex) {
UtilityLogger.error(pex);
return null;
}
}
public static LocalDateTime recognizeLocalDateTime(String dateString) throws DateNotRecognizedException, TimeNotRecognizedException {
final String format = recognizeDateFormat(dateString);
if(format == null) return null;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
return LocalDateTime.parse(dateString, formatter);
}
private static String recognizeDateFormat(String dateString) throws DateNotRecognizedException, TimeNotRecognizedException {
if (dateString == null) {
return null;
}
//SE SONO PIU' DI 10 caratteri allora c'è anche l'ora
SimpleDateFormat format = null;
char dateSeparator;
String onlyDateSubstring = dateString.substring(0, 10);
@ -85,16 +128,12 @@ public class UtilityDate {
String timeFormatString = "HH" + timeSeparator + "mm" + timeSeparator + "ss";
format = new SimpleDateFormat(dateFormatString + " " + timeFormatString);
return dateFormatString + " " + timeFormatString;
} else {
format = new SimpleDateFormat(dateFormatString);
return dateFormatString;
}
//format.setTimeZone(TimeZone.getTimeZone("GMT"));
return format.parse(dateString);
}
@ -170,27 +209,27 @@ public class UtilityDate {
}
public static LocalDate toLocalDate(Date dateToConvert) {
return dateToConvert.toInstant()
return dateToConvert != null ? dateToConvert.toInstant()
.atZone(currentZone)
.toLocalDate();
.toLocalDate() : null;
}
public static LocalDateTime toLocalDateTime(Date dateToConvert) {
return dateToConvert.toInstant()
return dateToConvert != null ? dateToConvert.toInstant()
.atZone(currentZone)
.toLocalDateTime();
.toLocalDateTime() : null;
}
public static Date toDate(LocalDate dateToConvert) {
return Date.from(dateToConvert.atStartOfDay()
return dateToConvert != null ? Date.from(dateToConvert.atStartOfDay()
.atZone(currentZone)
.toInstant());
.toInstant()) : null;
}
public static Date toDateTime(LocalDateTime dateToConvert) {
return Date.from(dateToConvert
return dateToConvert != null ? Date.from(dateToConvert
.atZone(currentZone)
.toInstant());
.toInstant()) : null;
}
@ -206,6 +245,12 @@ public class UtilityDate {
.toLocalDateTime();
}
public static LocalDate millisTimeToLocalDate(long time, @Nullable String timezone) {
return Instant.ofEpochMilli(time)
.atZone(timezone == null ? currentZone : ZoneId.of(timezone))
.toLocalDate();
}
public static LocalDate timeToLocalDate(long time, @Nullable String timezone) {
return Instant.ofEpochSecond(time)
.atZone(timezone == null ? currentZone : ZoneId.of(timezone))
@ -229,5 +274,9 @@ public class UtilityDate {
return TimeUnit.DAYS.toSeconds(localDate.toEpochDay());
}
public static long localDateToMillisTime(LocalDate localDate) {
return TimeUnit.DAYS.toMillis(localDate.toEpochDay());
}
}

View File

@ -31,9 +31,9 @@ public class UtilityExceptions {
public static void defaultException(Context context, Exception ex, boolean sendEmail) {
if (ex.getMessage() != null) {
Logger.e(ex, Html.fromHtml(ex.getMessage()).toString(), ex.getStackTrace());
Logger.e(ex, Html.fromHtml(ex.getMessage()).toString(), (Object) ex.getStackTrace());
} else {
Logger.e(ex, "Errore", ex.getStackTrace());
Logger.e(ex, "Errore", (Object) ex.getStackTrace());
}
String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex);

View File

@ -1,15 +0,0 @@
package it.integry.integrywmsnative.gest.accettazione;
import dagger.Subcomponent;
@Subcomponent
public interface MainAccettazioneComponent {
@Subcomponent.Factory
interface Factory {
MainAccettazioneComponent create();
}
void inject(MainAccettazioneFragment mainAccettazioneFragment);
}

View File

@ -1,20 +0,0 @@
package it.integry.integrywmsnative.gest.accettazione;
import dagger.Module;
import dagger.Provides;
import it.integry.integrywmsnative.gest.accettazione.rest.OrdiniAccettazioneRESTConsumer;
@Module(subcomponents = {MainAccettazioneComponent.class})
public class MainAccettazioneModule {
@Provides
OrdiniAccettazioneRESTConsumer providesOrdiniAccettazioneRESTConsumer() {
return new OrdiniAccettazioneRESTConsumer();
}
@Provides
MainAccettazioneViewModel providesMainAccettazioneViewModel(OrdiniAccettazioneRESTConsumer ordiniAccettazioneRESTConsumer) {
return new MainAccettazioneViewModel(ordiniAccettazioneRESTConsumer);
}
}

View File

@ -0,0 +1,15 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco;
import dagger.Subcomponent;
@Subcomponent
public interface MainAccettazioneBollaElencoComponent {
@Subcomponent.Factory
interface Factory {
MainAccettazioneBollaElencoComponent create();
}
void inject(MainAccettazioneBollaElencoFragment mainAccettazioneBollaElencoFragment);
}

View File

@ -0,0 +1,225 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.databinding.ObservableArrayList;
import com.annimon.stream.Stream;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import javax.inject.Inject;
import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.core.expansion.BaseFragment;
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneBollaBinding;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.ui.MainAccettazioneBolleElencoAdapter;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.ui.MainAccettazioneBolleElencoListModel;
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.AccettazioneBollaPickingActivity;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
public class MainAccettazioneBollaElencoFragment extends BaseFragment implements ITitledFragment, IScrollableFragment, MainAccettazioneBollaElencoViewModel.Listener {
@Inject
MainAccettazioneBollaElencoViewModel mViewModel;
private final ObservableArrayList<MainAccettazioneBolleElencoListModel> mBolleInevaseMutableData = new ObservableArrayList<>();
private FragmentMainAccettazioneBollaBinding mBinding;
private ElevatedToolbar mToolbar;
private AppCompatTextView mAppBarTitle;
public BindableBoolean fabVisible = new BindableBoolean(false);
private String mTextFilter;
private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
public MainAccettazioneBollaElencoFragment() {
}
public static MainAccettazioneBollaElencoFragment newInstance() {
return new MainAccettazioneBollaElencoFragment();
}
@Override
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
mAppBarTitle = titleText;
mAppBarTitle.setText(context.getText(R.string.accettazione_ordine_title_fragment).toString());
}
@Override
public void onSaveInstanceState(@NonNull Bundle outState) {
onLoadingEnded();
outState.putString("mToolbar", DataCache.addItem(mToolbar));
super.onSaveInstanceState(outState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
setRetainInstance(true);
if (savedInstanceState != null && savedInstanceState.containsKey("mToolbar"))
mToolbar = DataCache.retrieveItem(savedInstanceState.getString("mToolbar"));
mBinding = FragmentMainAccettazioneBollaBinding.inflate(inflater, container, false);
MainApplication.appComponent
.mainAccettazioneBollaElencoComponent()
.create()
.inject(this);
mViewModel.setListener(this);
mBinding.setLifecycleOwner(this);
mBinding.setView(this);
this.initRecyclerView();
mToolbar.setRecyclerView(mBinding.accettazioneMainList);
return mBinding.getRoot();
}
@Override
public void onStart() {
super.onStart();
this.fabVisible.set(false);
mViewModel.init();
}
@Override
public void onDestroy() {
for (Runnable onPreDestroy : mOnPreDestroyList) {
onPreDestroy.run();
}
super.onDestroy();
}
private void initRecyclerView() {
this.mViewModel.getBolleList().observe(getViewLifecycleOwner(), x -> {
this.refreshList();
});
MainAccettazioneBolleElencoAdapter adapter = new MainAccettazioneBolleElencoAdapter(getActivity(), mBolleInevaseMutableData)
.setOnGroupItemClicked(x -> {
Stream.of(mBolleInevaseMutableData)
.filter(y -> !y.getGroupTitle().equalsIgnoreCase(x) && y.getSelectedObservable().get())
.forEach(y -> y.getSelectedObservable().set(false));
boolean allSelected = Stream.of(mBolleInevaseMutableData)
.filter(y -> y.getGroupTitle().equalsIgnoreCase(x))
.allMatch(y -> y.getSelectedObservable().get());
Stream.of(mBolleInevaseMutableData)
.filter(y -> y.getGroupTitle().equalsIgnoreCase(x))
.forEach(y -> y.getSelectedObservable().set(!allSelected));
})
.setOnItemChecked(x -> {
Stream.of(mBolleInevaseMutableData)
.filter(y -> !y.getGroupTitle().equalsIgnoreCase(x.getGroupTitle()) && y.getSelectedObservable().get())
.forEach(y -> y.getSelectedObservable().set(false));
fabVisible.set(Stream.of(mBolleInevaseMutableData)
.anyMatch(y -> y.getSelectedObservable().get()));
});
adapter.setEmptyView(this.mBinding.bolleAccettazioneEmptyView);
this.mBinding.accettazioneMainList.setAdapter(adapter);
if (mToolbar != null)
mToolbar.setRecyclerView(this.mBinding.accettazioneMainList);
}
private void refreshList() {
List<TestataBollaAccettazioneDTO> tmpList = mViewModel.getBolleList().getValue();
//TODO: Filter here
this.mBolleInevaseMutableData.clear();
this.mBolleInevaseMutableData.addAll(convertDataModelToListModel(tmpList));
}
@Override
public void setScrollToolbar(ElevatedToolbar toolbar) {
mToolbar = toolbar;
}
@Override
public void addOnPreDestroy(Runnable onPreDestroy) {
this.mOnPreDestroyList.add(onPreDestroy);
}
private List<MainAccettazioneBolleElencoListModel> convertDataModelToListModel(List<TestataBollaAccettazioneDTO> dataList) {
final Comparator<TestataBollaAccettazioneDTO> comparer = Comparator.comparing(TestataBollaAccettazioneDTO::getListino)
.thenComparing(TestataBollaAccettazioneDTO::getRagSoc)
.thenComparing(TestataBollaAccettazioneDTO::getNumDoc);
return Stream.of(dataList)
.sorted(comparer)
.map(x -> {
MainAccettazioneBolleElencoListModel listModel = new MainAccettazioneBolleElencoListModel();
listModel.setOriginalModel(x);
listModel.setGroupTitle(x.getListino() + " - " + x.getRagSoc());
listModel.setDescription(String.format(getString(R.string.ord_acq_testata), x.getNumDoc(), UtilityDate.formatDate(x.getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)));
listModel.setSubDescription(x.getDescrizioneListino());
listModel.setRightDescription(x.getCodAnag());
listModel.setRightSubDescription(x.getCodJcom());
return listModel;
})
.toList();
}
public void dispatchBolle() {
List<TestataBollaAccettazioneDTO> selectedBolle = Stream.of(this.mBolleInevaseMutableData)
.filter(x -> x.getSelectedObservable().get())
.map(MainAccettazioneBolleElencoListModel::getOriginalModel)
.toList();
this.mViewModel.loadPicking(selectedBolle);
}
@Override
public void onPickingReady(List<TestataBollaAccettazioneDTO> bolle, List<SitBollaAccettazioneDTO> sitArts) {
AccettazioneBollaPickingActivity.startActivity(requireContext(), bolle, sitArts);
}
}

View File

@ -0,0 +1,21 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco;
import dagger.Module;
import dagger.Provides;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.BolleAccettazioneRESTConsumer;
@Module(subcomponents = {MainAccettazioneBollaElencoComponent.class})
public class MainAccettazioneBollaElencoModule {
@Provides
BolleAccettazioneRESTConsumer providesBolleAccettazioneRESTConsumer() {
return new BolleAccettazioneRESTConsumer();
}
@Provides
MainAccettazioneBollaElencoViewModel providesMainAccettazioneBollaViewModel(BolleAccettazioneRESTConsumer bolleAccettazioneRESTConsumer) {
return new MainAccettazioneBollaElencoViewModel(bolleAccettazioneRESTConsumer);
}
}

View File

@ -0,0 +1,100 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco;
import androidx.lifecycle.MutableLiveData;
import java.util.List;
import javax.inject.Inject;
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.BolleAccettazioneRESTConsumer;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
public class MainAccettazioneBollaElencoViewModel {
private final BolleAccettazioneRESTConsumer bolleAccettazioneRESTConsumer;
private final MutableLiveData<List<TestataBollaAccettazioneDTO>> bolleList = new MutableLiveData<>();
private Listener listener;
@Inject
public MainAccettazioneBollaElencoViewModel(BolleAccettazioneRESTConsumer bolleAccettazioneRESTConsumer) {
this.bolleAccettazioneRESTConsumer = bolleAccettazioneRESTConsumer;
}
public void init() {
this.sendOnLoadingStarted();
bolleAccettazioneRESTConsumer.retrieveBolleDaAccettare(bolleList -> {
this.bolleList.postValue(bolleList);
this.sendOnLoadingEnded();
}, this::sendError);
}
public MutableLiveData<List<TestataBollaAccettazioneDTO>> getBolleList() {
return bolleList;
}
public void loadPicking(List<TestataBollaAccettazioneDTO> selectedBolle) {
this.sendOnLoadingStarted();
this.bolleAccettazioneRESTConsumer.retrievePickingListBolle(selectedBolle, sitArts -> {
this.sendOnLoadingEnded();
this.sendOnPickingReady(selectedBolle, sitArts);
}, this::sendError);
}
public MainAccettazioneBollaElencoViewModel setListener(MainAccettazioneBollaElencoViewModel.Listener listener) {
this.listener = listener;
return this;
}
private void sendOnLoadingStarted() {
if (this.listener != null) listener.onLoadingStarted();
}
private void sendOnLoadingEnded() {
if (this.listener != null) listener.onLoadingEnded();
}
private void sendError(Exception ex) {
if (this.listener != null) listener.onError(ex);
}
private void sendOnPickingReady(List<TestataBollaAccettazioneDTO> bolle, List<SitBollaAccettazioneDTO> sitArts) {
if(this.listener != null) listener.onPickingReady(bolle, sitArts);
}
public interface Listener extends ILoadingListener {
void onError(Exception ex);
void onPickingReady(List<TestataBollaAccettazioneDTO> bolle, List<SitBollaAccettazioneDTO> sitArts);
}
}

View File

@ -0,0 +1,60 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest;
import java.util.List;
import javax.inject.Singleton;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.RetrieveElencoArticoliAccettazioneBollaRequestDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.RetrieveElencoArticoliAccettazioneBollaResponseDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.RetrieveElencoBolleAccettazioneResponseDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
@Singleton
public class BolleAccettazioneRESTConsumer extends _BaseRESTConsumer {
public void retrieveBolleDaAccettare(RunnableArgs<List<TestataBollaAccettazioneDTO>> onComplete, RunnableArgs<Exception> onFailed) {
BolleAccettazioneRESTConsumerService service = RESTBuilder.getService(BolleAccettazioneRESTConsumerService.class);
service.retrieveElencoBolle()
.enqueue(new Callback<>() {
@Override
public void onResponse(Call<ServiceRESTResponse<RetrieveElencoBolleAccettazioneResponseDTO>> call, Response<ServiceRESTResponse<RetrieveElencoBolleAccettazioneResponseDTO>> response) {
analyzeAnswer(response, "retrieveBolleDaAccettare", data -> onComplete.run(data.getBolleDaAccettare()), onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<RetrieveElencoBolleAccettazioneResponseDTO>> call, Throwable t) {
onFailed.run(new Exception(t));
}
});
}
public void retrievePickingListBolle(List<TestataBollaAccettazioneDTO> bolle, RunnableArgs<List<SitBollaAccettazioneDTO>> onComplete, RunnableArgs<Exception> onFailed) {
BolleAccettazioneRESTConsumerService service = RESTBuilder.getService(BolleAccettazioneRESTConsumerService.class);
var request = new RetrieveElencoArticoliAccettazioneBollaRequestDTO()
.setBolle(bolle);
service.retrievePickingListBolle(request)
.enqueue(new Callback<>() {
@Override
public void onResponse(Call<ServiceRESTResponse<RetrieveElencoArticoliAccettazioneBollaResponseDTO>> call, Response<ServiceRESTResponse<RetrieveElencoArticoliAccettazioneBollaResponseDTO>> response) {
analyzeAnswer(response, "retrievePickingListBolle", data -> onComplete.run(data.getSitArticoli()), onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<RetrieveElencoArticoliAccettazioneBollaResponseDTO>> call, Throwable t) {
onFailed.run(new Exception(t));
}
});
}
}

View File

@ -0,0 +1,20 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.RetrieveElencoArticoliAccettazioneBollaRequestDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.RetrieveElencoArticoliAccettazioneBollaResponseDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.RetrieveElencoBolleAccettazioneResponseDTO;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
public interface BolleAccettazioneRESTConsumerService {
@GET("wms/accettazione-bolla/retrieveElencoBolle")
Call<ServiceRESTResponse<RetrieveElencoBolleAccettazioneResponseDTO>> retrieveElencoBolle();
@POST("wms/accettazione-bolla/retrievePickingList")
Call<ServiceRESTResponse<RetrieveElencoArticoliAccettazioneBollaResponseDTO>> retrievePickingListBolle(@Body RetrieveElencoArticoliAccettazioneBollaRequestDTO retrieveElencoArticoliAccettazioneBollaReques);
}

View File

@ -0,0 +1,17 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto;
import java.util.List;
public class RetrieveElencoArticoliAccettazioneBollaRequestDTO {
private List<TestataBollaAccettazioneDTO> bolle;
public List<TestataBollaAccettazioneDTO> getBolle() {
return bolle;
}
public RetrieveElencoArticoliAccettazioneBollaRequestDTO setBolle(List<TestataBollaAccettazioneDTO> bolle) {
this.bolle = bolle;
return this;
}
}

View File

@ -0,0 +1,17 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto;
import java.util.List;
public class RetrieveElencoArticoliAccettazioneBollaResponseDTO {
private List<SitBollaAccettazioneDTO> sitArticoli;
public List<SitBollaAccettazioneDTO> getSitArticoli() {
return sitArticoli;
}
public RetrieveElencoArticoliAccettazioneBollaResponseDTO setSitArticoli(List<SitBollaAccettazioneDTO> sitArticoli) {
this.sitArticoli = sitArticoli;
return this;
}
}

View File

@ -0,0 +1,12 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto;
import java.util.List;
public class RetrieveElencoBolleAccettazioneResponseDTO {
private List<TestataBollaAccettazioneDTO> bolleDaAccettare;
public List<TestataBollaAccettazioneDTO> getBolleDaAccettare() {
return bolleDaAccettare;
}
}

View File

@ -0,0 +1,149 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto;
import java.math.BigDecimal;
import java.time.LocalDate;
public class SitBollaAccettazioneDTO {
private int numDoc;
private LocalDate dataDoc;
private String serDoc;
private String codDtip;
private String codMart;
private String codArtFor;
private String partitaMag;
private BigDecimal qtaDoc;
private BigDecimal qtaCnfDoc;
private BigDecimal numCnfDoc;
private BigDecimal qtaAccettata;
private BigDecimal numCnfAccettata;
private BigDecimal qtaDaAccettare;
private BigDecimal numCnfDaAccettare;
public int getNumDoc() {
return numDoc;
}
public SitBollaAccettazioneDTO setNumDoc(int numDoc) {
this.numDoc = numDoc;
return this;
}
public LocalDate getDataDoc() {
return dataDoc;
}
public SitBollaAccettazioneDTO setDataDoc(LocalDate dataDoc) {
this.dataDoc = dataDoc;
return this;
}
public String getSerDoc() {
return serDoc;
}
public SitBollaAccettazioneDTO setSerDoc(String serDoc) {
this.serDoc = serDoc;
return this;
}
public String getCodDtip() {
return codDtip;
}
public SitBollaAccettazioneDTO setCodDtip(String codDtip) {
this.codDtip = codDtip;
return this;
}
public String getCodMart() {
return codMart;
}
public SitBollaAccettazioneDTO setCodMart(String codMart) {
this.codMart = codMart;
return this;
}
public String getCodArtFor() {
return codArtFor;
}
public SitBollaAccettazioneDTO setCodArtFor(String codArtFor) {
this.codArtFor = codArtFor;
return this;
}
public String getPartitaMag() {
return partitaMag;
}
public SitBollaAccettazioneDTO setPartitaMag(String partitaMag) {
this.partitaMag = partitaMag;
return this;
}
public BigDecimal getQtaDoc() {
return qtaDoc;
}
public SitBollaAccettazioneDTO setQtaDoc(BigDecimal qtaDoc) {
this.qtaDoc = qtaDoc;
return this;
}
public BigDecimal getQtaCnfDoc() {
return qtaCnfDoc;
}
public SitBollaAccettazioneDTO setQtaCnfDoc(BigDecimal qtaCnfDoc) {
this.qtaCnfDoc = qtaCnfDoc;
return this;
}
public BigDecimal getNumCnfDoc() {
return numCnfDoc;
}
public SitBollaAccettazioneDTO setNumCnfDoc(BigDecimal numCnfDoc) {
this.numCnfDoc = numCnfDoc;
return this;
}
public BigDecimal getQtaAccettata() {
return qtaAccettata;
}
public SitBollaAccettazioneDTO setQtaAccettata(BigDecimal qtaAccettata) {
this.qtaAccettata = qtaAccettata;
return this;
}
public BigDecimal getNumCnfAccettata() {
return numCnfAccettata;
}
public SitBollaAccettazioneDTO setNumCnfAccettata(BigDecimal numCnfAccettata) {
this.numCnfAccettata = numCnfAccettata;
return this;
}
public BigDecimal getQtaDaAccettare() {
return qtaDaAccettare;
}
public SitBollaAccettazioneDTO setQtaDaAccettare(BigDecimal qtaDaAccettare) {
this.qtaDaAccettare = qtaDaAccettare;
return this;
}
public BigDecimal getNumCnfDaAccettare() {
return numCnfDaAccettare;
}
public SitBollaAccettazioneDTO setNumCnfDaAccettare(BigDecimal numCnfDaAccettare) {
this.numCnfDaAccettare = numCnfDaAccettare;
return this;
}
}

View File

@ -0,0 +1,51 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto;
import java.time.LocalDate;
public class TestataBollaAccettazioneDTO {
private String codAnag;
private String ragSoc;
private String codDtip;
private LocalDate dataDoc;
private String serDoc;
private int numDoc;
private String listino;
private String descrizioneListino;
private String codJcom;
public String getCodAnag() {
return codAnag;
}
public String getRagSoc() {
return ragSoc;
}
public String getCodDtip() {
return codDtip;
}
public LocalDate getDataDoc() {
return dataDoc;
}
public String getSerDoc() {
return serDoc;
}
public int getNumDoc() {
return numDoc;
}
public String getListino() {
return listino;
}
public String getDescrizioneListino() {
return descrizioneListino;
}
public String getCodJcom() {
return codJcom;
}
}

View File

@ -0,0 +1,143 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.ui;
import android.content.Context;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.core.content.res.ResourcesCompat;
import androidx.databinding.ObservableArrayList;
import androidx.recyclerview.widget.RecyclerView;
import it.integry.integrywmsnative.core.expansion.OnSingleClickListener;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.expansion.view.ExtendedSectionedRecyclerView;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneBollaListGroupModelBinding;
import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneBollaListModelBinding;
public class MainAccettazioneBolleElencoAdapter extends ExtendedSectionedRecyclerView<MainAccettazioneBolleElencoListModel, MainAccettazioneBolleElencoAdapter.SubheaderHolder, MainAccettazioneBolleElencoAdapter.SingleItemViewHolder> {
private final Context mContext;
private RunnableArgs<String> mOnGroupItemClicked;
private RunnableArgs<MainAccettazioneBolleElencoListModel> mOnItemChecked;
static class SubheaderHolder extends RecyclerView.ViewHolder {
FragmentMainAccettazioneBollaListModelBinding mBinding;
SubheaderHolder(FragmentMainAccettazioneBollaListModelBinding binding) {
super(binding.getRoot());
this.mBinding = binding;
}
}
static class SingleItemViewHolder extends RecyclerView.ViewHolder {
FragmentMainAccettazioneBollaListGroupModelBinding mBinding;
SingleItemViewHolder(FragmentMainAccettazioneBollaListGroupModelBinding binding) {
super(binding.getRoot());
this.mBinding = binding;
}
}
public MainAccettazioneBolleElencoAdapter(Context context, ObservableArrayList<MainAccettazioneBolleElencoListModel> mutableDataSet) {
super(mutableDataSet);
mContext = context;
}
public MainAccettazioneBolleElencoAdapter setOnGroupItemClicked(RunnableArgs<String> mOnGroupItemClicked) {
this.mOnGroupItemClicked = mOnGroupItemClicked;
return this;
}
public MainAccettazioneBolleElencoAdapter setOnItemChecked(RunnableArgs<MainAccettazioneBolleElencoListModel> mOnItemChecked) {
this.mOnItemChecked = mOnItemChecked;
return this;
}
@Override
public MainAccettazioneBolleElencoAdapter.SubheaderHolder onCreateSubheaderViewHolder(ViewGroup parent, int viewType) {
FragmentMainAccettazioneBollaListModelBinding binding = FragmentMainAccettazioneBollaListModelBinding.inflate(LayoutInflater.from(mContext), parent, false);
return new MainAccettazioneBolleElencoAdapter.SubheaderHolder(binding);
}
@Override
public MainAccettazioneBolleElencoAdapter.SingleItemViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) {
FragmentMainAccettazioneBollaListGroupModelBinding binding = FragmentMainAccettazioneBollaListGroupModelBinding.inflate(LayoutInflater.from(mContext), parent, false);
return new MainAccettazioneBolleElencoAdapter.SingleItemViewHolder(binding);
}
@Override
public void onBindSubheaderViewHolder(MainAccettazioneBolleElencoAdapter.SubheaderHolder subheaderHolder, int nextItemPosition) {
MainAccettazioneBolleElencoListModel pickingObjectDTO = this.mDataset.get(nextItemPosition);
subheaderHolder.mBinding.groupTitle.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getGroupTitle()) ? View.GONE : View.VISIBLE);
subheaderHolder.mBinding.groupTitle.setText(Html.fromHtml(pickingObjectDTO.getGroupTitle()));
subheaderHolder.mBinding.getRoot().setOnClickListener(new OnSingleClickListener() {
@Override
public void onSingleClick(View v) {
if(mOnGroupItemClicked != null) mOnGroupItemClicked.run(pickingObjectDTO.getGroupTitle());
}
});
}
@Override
public void onBindItemViewHolder(final MainAccettazioneBolleElencoAdapter.SingleItemViewHolder holder, final int position) {
MainAccettazioneBolleElencoListModel listModel = this.mDataset.get(position);
listModel.getSelectedObservable().resetOnPropertyChangedCallback();
if(listModel.getEtichettaColor() != null)
holder.mBinding.emptyView.setBackgroundColor(listModel.getEtichettaColor());
else holder.mBinding.emptyView.setBackgroundColor(ResourcesCompat.getColor(mContext.getResources(), android.R.color.transparent, null));
if(!UtilityString.isNullOrEmpty(listModel.getDescription())) {
holder.mBinding.descrizione.setText(Html.fromHtml(listModel.getDescription()));
holder.mBinding.descrizione.setVisibility(View.VISIBLE);
} else holder.mBinding.descrizione.setVisibility(View.GONE);
if(!UtilityString.isNullOrEmpty(listModel.getSubDescription())) {
holder.mBinding.subDescrizione.setText(Html.fromHtml(listModel.getSubDescription()));
holder.mBinding.subDescrizione.setVisibility(View.VISIBLE);
} else holder.mBinding.subDescrizione.setVisibility(View.GONE);
if(!UtilityString.isNullOrEmpty(listModel.getRightDescription())) {
holder.mBinding.rightDescrizione.setText(Html.fromHtml(listModel.getRightDescription()));
holder.mBinding.rightDescrizione.setVisibility(View.VISIBLE);
} else holder.mBinding.rightDescrizione.setVisibility(View.GONE);
if(!UtilityString.isNullOrEmpty(listModel.getRightSubDescription())) {
holder.mBinding.rightSubDescrizione.setText(Html.fromHtml(listModel.getRightSubDescription()));
holder.mBinding.rightSubDescrizione.setVisibility(View.VISIBLE);
} else holder.mBinding.rightSubDescrizione.setVisibility(View.GONE);
holder.mBinding.setSelected(listModel.getSelectedObservable());
holder.mBinding.executePendingBindings();
holder.mBinding.checkbox.jumpDrawablesToCurrentState();
listModel.getSelectedObservable().addOnPropertyChangedCallback(() -> {
if(this.mOnItemChecked != null) this.mOnItemChecked.run(listModel);
});
holder.mBinding.getRoot().setOnClickListener(v -> {
listModel.getSelectedObservable().set(!listModel.getSelectedObservable().get());
});
}
@Override
public boolean onPlaceSubheaderBetweenItems(int position) {
if (getItemSize() == 1) return true;
else if (getItemSize() > 1) {
MainAccettazioneBolleElencoListModel compare1 = this.mDataset.get(position);
MainAccettazioneBolleElencoListModel compare2 = this.mDataset.get(position + 1);
return !UtilityString.equalsIgnoreCase(compare1.getGroupTitle(), compare2.getGroupTitle());
}
return true;
}
}

View File

@ -0,0 +1,99 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.ui;
import androidx.annotation.ColorInt;
import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
public class MainAccettazioneBolleElencoListModel implements Cloneable {
private String groupTitle;
private String description;
private String subDescription;
private String rightDescription;
private String rightSubDescription;
private @ColorInt Integer etichettaColor;
private boolean hidden;
private BindableBoolean selected = new BindableBoolean();
private TestataBollaAccettazioneDTO originalModel;
public String getGroupTitle() {
return groupTitle;
}
public MainAccettazioneBolleElencoListModel setGroupTitle(String groupTitle) {
this.groupTitle = groupTitle;
return this;
}
public String getDescription() {
return description;
}
public MainAccettazioneBolleElencoListModel setDescription(String description) {
this.description = description;
return this;
}
public String getSubDescription() {
return subDescription;
}
public MainAccettazioneBolleElencoListModel setSubDescription(String subDescription) {
this.subDescription = subDescription;
return this;
}
public String getRightDescription() {
return rightDescription;
}
public MainAccettazioneBolleElencoListModel setRightDescription(String rightDescription) {
this.rightDescription = rightDescription;
return this;
}
public String getRightSubDescription() {
return rightSubDescription;
}
public MainAccettazioneBolleElencoListModel setRightSubDescription(String rightSubDescription) {
this.rightSubDescription = rightSubDescription;
return this;
}
public @ColorInt Integer getEtichettaColor() {
return etichettaColor;
}
public MainAccettazioneBolleElencoListModel setEtichettaColor(@ColorInt Integer etichettaColor) {
this.etichettaColor = etichettaColor;
return this;
}
public boolean isHidden() {
return hidden;
}
public MainAccettazioneBolleElencoListModel setHidden(boolean hidden) {
this.hidden = hidden;
return this;
}
public BindableBoolean getSelectedObservable() {
return selected;
}
public TestataBollaAccettazioneDTO getOriginalModel() {
return originalModel;
}
public void setOriginalModel(TestataBollaAccettazioneDTO originalModel) {
this.originalModel = originalModel;
}
}

View File

@ -0,0 +1,565 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_picking;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.os.Bundle;
import android.text.SpannableString;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.databinding.ObservableArrayList;
import androidx.preference.PreferenceManager;
import com.annimon.stream.ComparatorCompat;
import com.annimon.stream.Stream;
import com.tfb.fbtoast.FBToast;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.core.expansion.BaseActivity;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbTCol;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.report.ReportManager;
import it.integry.integrywmsnative.core.rest.model.VersamentoAutomaticoULResponseDTO;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityResources;
import it.integry.integrywmsnative.core.utility.UtilityToast;
import it.integry.integrywmsnative.databinding.ActivityAccettazioneBollaPickingBinding;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.AccettazioneBollaPickingOrderBy;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.ui.AccettazioneBollaPickingListAdapter;
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.ui.AccettazioneBollaPickingListModel;
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView;
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
import it.integry.integrywmsnative.view.dialogs.ask_should_versamento_automatico_ul.DialogAskShouldVersamentoAutomaticoULView;
import it.integry.integrywmsnative.view.dialogs.ask_unknown_barcode_notes.DialogAskUnknownBarcodeNotesView;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
import it.integry.integrywmsnative.view.dialogs.bind_product_barcode_with_package.DialogBindProductBarcodeWithPackageView;
import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.DialogInfoAggiuntiveLU;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
import it.integry.integrywmsnative.view.dialogs.versamento_automatico_ul_done.DialogVersamentoAutomaticoULDoneView;
public class AccettazioneBollaPickingActivity extends BaseActivity implements AccettazioneBollaPickingViewModel.Listener, BottomSheetFragmentLUContentViewModel.Listener, BottomSheetFragmentLUContentView.Listener {
@Inject
AccettazioneBollaPickingViewModel mViewModel;
@Inject
DialogInputQuantityV2View mDialogInputQuantityV2View;
private ActivityAccettazioneBollaPickingBinding mBindings;
private BottomSheetFragmentLUContentViewModel mBottomSheetFragmentLUContentViewModel;
private final ObservableArrayList<AccettazioneBollaPickingListModel> mAccettazioneMutableData = new ObservableArrayList<>();
public BindableBoolean noItemsToPick = new BindableBoolean(false);
public BindableBoolean noLUPresent = new BindableBoolean(true);
public BindableBoolean bottomSheetEnabled = new BindableBoolean(false);
private int barcodeScannerIstanceID = -1;
private boolean mShowSecondaryUntMis = true;
private boolean mShouldCloseActivity;
private AccettazioneBollaPickingOrderBy.Enum mCurrentOrderBy;
private final int PICK_UL_REQUEST = 1;
private List<TestataBollaAccettazioneDTO> testataBolle;
private List<SitBollaAccettazioneDTO> sitArts;
//Pass here all external parameters
public static void startActivity(Context context, List<TestataBollaAccettazioneDTO> testataBolle, List<SitBollaAccettazioneDTO> sitArts) {
Intent myIntent = new Intent(context, AccettazioneBollaPickingActivity.class);
String keyBolle = DataCache.addItem(testataBolle);
myIntent.putExtra("keyBolle", keyBolle);
String keySitArts = DataCache.addItem(sitArts);
myIntent.putExtra("keySitArts", keySitArts);
context.startActivity(myIntent);
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
testataBolle = DataCache.retrieveItem(getIntent().getStringExtra("keyBolle"));
sitArts = DataCache.retrieveItem(getIntent().getStringExtra("keySitArts"));
mBindings = ActivityAccettazioneBollaPickingBinding.inflate(getLayoutInflater());
mBindings.setLifecycleOwner(this);
mBindings.setAccettazioneView(this);
setContentView(mBindings.getRoot());
MainApplication.appComponent
.accettazioneBollaPickingComponent()
.create()
.inject(this);
setSupportActionBar(mBindings.toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mBottomSheetFragmentLUContentViewModel = mBindings.bottomSheetLuContent.getViewModelInstance();
mBindings.bottomSheetLuContent.setListener(this);
mBottomSheetFragmentLUContentViewModel.setListener(this);
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
mShowSecondaryUntMis = sharedPreferences.getBoolean("picking_ingresso_enable_sec_unt_mis", true);
this.initVars();
this.initBarcodeReader();
this.initRecyclerView();
// this.initFilters();
boolean useQtaBolla = SettingsManager.iDB().isFlagAccettazioneUseQtaOrd();
mViewModel.setListeners(this);
mViewModel.init(
testataBolle,
sitArts,
useQtaBolla);
}
@Override
public boolean onSupportNavigateUp() {
onBackPressed();
return true;
}
@Override
public void onBackPressed() {
if (this.mBindings.bottomSheetLuContent.isExpanded()) {
this.mBindings.bottomSheetLuContent.collapse();
} else if (!noLUPresent.get()) {
this.mShouldCloseActivity = true;
BarcodeManager.removeCallback(barcodeScannerIstanceID);
this.mViewModel.closeLU();
} else {
BarcodeManager.removeCallback(barcodeScannerIstanceID);
super.onBackPressed();
}
}
private void initVars() {
this.noLUPresent.addOnPropertyChangedCallback(() -> {
this.bottomSheetEnabled.set(!this.noLUPresent.get());
});
mCurrentOrderBy = AccettazioneBollaPickingOrderBy.Enum.fromInt(SettingsManager.i().getUserSession().getDefaultOrdinamentoPickingAccettazioneBolle());
}
private void initBarcodeReader() {
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
.setOnScanSuccessful(onScanSuccessful)
.setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false)));
}
private void initRecyclerView() {
AccettazioneBollaPickingListAdapter adapter = new AccettazioneBollaPickingListAdapter(this, mAccettazioneMutableData, mShowSecondaryUntMis);
this.mBindings.accettazionePickingList.setAdapter(adapter);
this.mViewModel.getPickingList().observe(this, updatedData -> {
// mAppliedFilterViewModel.init(updatedData);
refreshList();
});
adapter.setOnItemClicked(clickedItem -> {
this.mViewModel.manageDispatchBollaRow(clickedItem);
});
}
private void refreshList() {
runOnUiThread(() -> {
List<PickingObjectDTO> tmpList;
// if (mAppliedFilterViewModel != null) {
// mAppliedFilterViewModel.applyAllTests();
// tmpList = mAppliedFilterViewModel.getMutableFilteredOrderList().getValue();
// } else {
tmpList = mViewModel.getPickingList().getValue();
// }
//
var list = convertDataModelToListModel(tmpList);
this.mAccettazioneMutableData.clear();
this.mAccettazioneMutableData.addAll(list);
this.noItemsToPick.set(!isThereAnyItemToPick(tmpList));
});
}
private boolean isThereAnyItemToPick(List<PickingObjectDTO> dataList) {
return Stream.of(dataList)
.anyMatch(x -> !x.isHidden());
}
private List<AccettazioneBollaPickingListModel> convertDataModelToListModel(List<PickingObjectDTO> dataList) {
List<PickingObjectDTO> tmpList = Stream.of(dataList)
.filter(x -> !x.isHidden() && UtilityBigDecimal.greaterThan(x.getSitBollaAccettazione().getQtaDaAccettare(), BigDecimal.ZERO))
.toList();
return switch (mCurrentOrderBy) {
case COD_ART_FOR -> convertDataModelToListModel__NormalView(
tmpList,
ComparatorCompat
.comparing(x -> x.getSitBollaAccettazione().getCodArtFor()));
case DESCR_ART -> //convertDataModelToListModel__DescrArt(tmpList);
new ArrayList<>();
};
}
private List<AccettazioneBollaPickingListModel> convertDataModelToListModel__NormalView(List<PickingObjectDTO> dataList, ComparatorCompat<PickingObjectDTO> comparator) {
ArrayList<AccettazioneBollaPickingListModel> list = new ArrayList<>();
Stream.of(dataList)
.sorted(comparator)
.forEach(x -> {
AccettazioneBollaPickingListModel accettazioneBollaPickingListModel = new AccettazioneBollaPickingListModel();
accettazioneBollaPickingListModel.setActive(true);
accettazioneBollaPickingListModel.setTitolo(x.getMtbAart().getCodMart());
accettazioneBollaPickingListModel.setBadge2Icon(R.drawable.ic_document_outline);
accettazioneBollaPickingListModel.setBadge2(x.getSitBollaAccettazione().getNumDoc() + " del " + UtilityDate.formatDate(x.getSitBollaAccettazione().getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
accettazioneBollaPickingListModel.setDescrizione(x.getMtbAart().getDescrizione());
//Calc Num CNF
BigDecimal numCnfEvasa = BigDecimal.ZERO;
if (x.getWithdrawMtbColrs().size() > 0) {
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getNumCnf)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
//Calc qta col
BigDecimal qtaEvasa = BigDecimal.ZERO;
if (x.getWithdrawMtbColrs().size() > 0) {
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
.map(MtbColr::getQtaCol)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
accettazioneBollaPickingListModel.setQtaEvasa(numCnfEvasa);
accettazioneBollaPickingListModel.setQtaTot(x.getSitBollaAccettazione().getNumCnfDaAccettare());
accettazioneBollaPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneBollaPickingListModel.setSecQtaEvasa(qtaEvasa);
accettazioneBollaPickingListModel.setSecQtaTot(x.getSitBollaAccettazione().getQtaDaAccettare());
if (x.getMtbAart() != null)
accettazioneBollaPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
} else {
accettazioneBollaPickingListModel.setQtaEvasa(qtaEvasa);
accettazioneBollaPickingListModel.setQtaTot(x.getSitBollaAccettazione().getQtaDaAccettare());
if (x.getMtbAart() != null)
accettazioneBollaPickingListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneBollaPickingListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneBollaPickingListModel.setSecQtaTot(x.getSitBollaAccettazione().getNumCnfDaAccettare());
accettazioneBollaPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
}
accettazioneBollaPickingListModel.setOriginalModel(x);
list.add(accettazioneBollaPickingListModel);
});
return list;
}
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
this.onLoadingStarted();
this.mViewModel.processBarcodeDTO(data, this::onLoadingEnded);
};
public void createNewLU() {
this.mBindings.accettazioneOrdineInevasoFab.close(true);
this.onLoadingStarted();
this.mViewModel.createNewLU(null, null, false, this::onLoadingEnded);
}
public void showCreatedUL() {
this.mBindings.accettazioneOrdineInevasoFab.close(true);
this.mViewModel.retrieveExistentLU(this::startListaBancaliRegistratiActivity);
}
private void showOrderByDialog() {
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle(this.getText(R.string.action_orderBy))
.setSingleChoiceItems(AccettazioneBollaPickingOrderBy.descriptions, mCurrentOrderBy.getVal(), (dialog12, which) -> {
mCurrentOrderBy = AccettazioneBollaPickingOrderBy.Enum.fromInt(which);
SettingsManager.i().getUserSession().setDefaultOrdinamentoPickingAccettazione(which);
})
.setPositiveButton(getText(R.string.ok), (dialog1, which) -> this.refreshList())
.create();
dialog.show();
}
public void startListaBancaliRegistratiActivity(List<AlreadyRegisteredUDCDTO> mtbColts) {
Intent myIntent = ListaBancaliActivity.createIntent(this,
Stream.of(mtbColts)
.map(AlreadyRegisteredUDCDTO::getMtbColt)
.toList(),
input -> Stream.of(mtbColts)
.filter(x -> x.getMtbColt() == input)
.findFirstOrElse(null)
.isCanBeRecovered(),
ReportManager.getReportNameLUFromGestione(GestioneEnum.ACQUISTO));
this.startActivityForResult(myIntent, PICK_UL_REQUEST);
}
@Override
public void onMtbColrDeleteRequest(RunnableArgs<Boolean> onComplete) {
runOnUiThread(() -> {
String text = getResources().getString(R.string.alert_delete_mtb_colr);
DialogSimpleMessageView.makeWarningDialog(new SpannableString(text),
null,
() -> onComplete.run(true),
() -> onComplete.run(false)
).show(getSupportFragmentManager(), "tag");
});
}
@Override
public void onLUOpened(MtbColt mtbColt) {
runOnUiThread(() -> {
noLUPresent.set(false);
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
this.mBottomSheetFragmentLUContentViewModel.setMtbColt(mtbColt);
});
}
@Override
public void onLUClosed() {
runOnUiThread(() -> {
noLUPresent.set(true);
this.mBottomSheetFragmentLUContentViewModel.setMtbColt(null);
if (this.mShouldCloseActivity) super.onBackPressed();
});
}
@Override
public void onRowSaved() {
runOnUiThread(() -> {
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
});
}
@Override
public void onLUSuccessullyPrinted() {
Resources res = getResources();
String errorMessage = res.getText(R.string.alert_print_completed_message).toString();
DialogSimpleMessageView
.makeSuccessDialog(res.getText(R.string.completed).toString(), new SpannableString(errorMessage), null, null)
.show(getSupportFragmentManager(), "tag");
}
@Override
public void onLUPrintRequest(RunnableArgs<Boolean> onComplete) {
}
@Override
public void onLUPrintError(Exception ex, Runnable onComplete) {
this.onLoadingEnded();
DialogSimpleMessageView.makeErrorDialog(
new SpannableString(ex.getMessage()),
null,
null,
R.string.button_ignore_print,
onComplete)
.show(getSupportFragmentManager(), "tag");
}
@Override
public void onMtbColrEdit(MtbColr mtbColr) {
this.mViewModel.dispatchRowEdit(mtbColr);
}
@Override
public void onMtbColrDelete(MtbColr mtbColr) {
this.mViewModel.deleteRow(mtbColr);
}
@Override
public void onBottomSheetLUClose() {
this.mViewModel.closeLU();
}
@Override
public void onVersamentoAutomaticoULRequest(RunnableArgs<Boolean> onComplete) {
runOnUiThread(() -> {
DialogAskShouldVersamentoAutomaticoULView.newInstance(onComplete)
.show(getSupportFragmentManager(), "tag");
});
}
@Override
public void onInfoAggiuntiveRequest(RunnableArgss<String, MtbTCol> onComplete) {
runOnUiThread(() -> {
DialogInfoAggiuntiveLU.newInstance(onComplete).show(getSupportFragmentManager(), "InfoAggiuntiveLUDialog");
});
}
@Override
public void onError(Exception ex) {
this.onLoadingEnded();
if (ex instanceof InvalidPesoKGException) {
UtilityToast.showToast(ex.getMessage());
} else {
UtilityExceptions.defaultException(this, ex);
}
BarcodeManager.enable();
}
@Override
public void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal
initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal
totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal
totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal
totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String
partitaMag, LocalDate dataScad, boolean canPartitaMagBeChanged,
boolean canOverflowQuantity, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
.setMtbAart(mtbAart)
.setInitialNumCnf(initialNumCnf)
.setInitialQtaCnf(initialQtaCnf)
.setInitialQtaTot(initialQtaTot)
.setTotalQtaOrd(totalQtaOrd)
.setTotalNumCnfOrd(totalNumCnfOrd)
.setQtaCnfOrd(qtaCnfOrd)
.setTotalQtaToBeTaken(totalQtaToBeTaken)
.setTotalNumCnfToBeTaken(totalNumCnfToBeTaken)
.setQtaCnfToBeTaken(qtaCnfToBeTaken)
.setTotalQtaAvailable(totalQtaAvailable)
.setTotalNumCnfAvailable(totalNumCnfAvailable)
.setQtaCnfAvailable(qtaCnfAvailable)
.setPartitaMag(partitaMag)
.setDataScad(dataScad)
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
.setCanLUBeClosed(true)
.setCanOverflowOrderQuantity(canOverflowQuantity)
.setDisableTracciabilitaCheck(SettingsManager.iDB().isFlagDisableMandatoryTracciabilitaAccettazioneBolla());
if (!mDialogInputQuantityV2View.isVisible())
mDialogInputQuantityV2View
.setDialogInputQuantityV2DTO(dialogInputQuantityV2DTO)
.setOnComplete((resultDTO, shouldCloseLU) -> {
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
.setNumCnf(resultDTO.getNumCnf())
.setQtaCnf(resultDTO.getQtaCnf())
.setQtaTot(resultDTO.getQtaTot())
.setPartitaMag(resultDTO.getPartitaMag())
.setDataScad(resultDTO.getDataScad());
onComplete.run(pickedQuantityDTO, shouldCloseLU);
})
.setOnAbort(() -> this.mViewModel.resetMatchedRows())
.show(getSupportFragmentManager(), "tag");
}
@Override
public void onFilterCodMartApplied(String codMartToFilter) {
runOnUiThread(() -> {
var codMarts = new ArrayList<String>();
codMarts.add(codMartToFilter);
// this.mAppliedFilterViewModel.setCodArtFilter(codMarts);
});
}
@Override
public void onFilterPosizioneApplied(String posizioneToFilter) {
runOnUiThread(() -> {
var posizioni = new ArrayList<String>();
posizioni.add(posizioneToFilter);
// this.mAppliedFilterViewModel.setPosFilter(posizioni);
});
}
@Override
public void onULVersata(VersamentoAutomaticoULResponseDTO
versamentoAutomaticoULResponseDTO, Runnable onComplete) {
runOnUiThread(() -> {
DialogVersamentoAutomaticoULDoneView
.newInstance(versamentoAutomaticoULResponseDTO, onComplete)
.show(getSupportFragmentManager(), "tag");
});
}
@Override
public void onUnknownBarcodeScanned(String barcode, RunnableArgs<String> done, Runnable abort) {
DialogAskUnknownBarcodeNotesView
.newInstance(barcode, done, abort)
.show(getSupportFragmentManager(), DialogBindProductBarcodeWithPackageView.class.getName());
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Check which request we're responding to
if (requestCode == PICK_UL_REQUEST) {
// Make sure the request was successful
if (resultCode == RESULT_OK) {
MtbColt recoveredMtbColt = DataCache.retrieveItem(data.getStringExtra("key"));
this.mViewModel.recoverLU(recoveredMtbColt);
}
}
}
}

View File

@ -0,0 +1,14 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_picking;
import dagger.Subcomponent;
@Subcomponent
public interface AccettazioneBollaPickingComponent {
@Subcomponent.Factory
interface Factory {
AccettazioneBollaPickingComponent create();
}
void inject(AccettazioneBollaPickingActivity AccettazioneBollaPickingActivity);
}

View File

@ -0,0 +1,33 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_picking;
import dagger.Module;
import dagger.Provides;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.rest.AccettazioneBollaPickingRESTConsumer;
@Module(subcomponents = AccettazioneBollaPickingComponent.class)
public class AccettazioneBollaPickingModule {
@Provides
AccettazioneBollaPickingViewModel providesAccettazioneBollaPickingViewModel(ArticoloRESTConsumer articoloRESTConsumer,
BarcodeRESTConsumer barcodeRESTConsumer,
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
PrinterRESTConsumer printerRESTConsumer,
AccettazioneBollaPickingRESTConsumer accettazioneBollaPickingRESTConsumer,
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer) {
return new AccettazioneBollaPickingViewModel(articoloRESTConsumer,
barcodeRESTConsumer,
colliMagazzinoRESTConsumer,
printerRESTConsumer,
accettazioneBollaPickingRESTConsumer,
colliAccettazioneRESTConsumer,
colliLavorazioneRESTConsumer);
}
}

View File

@ -0,0 +1,30 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto;
public class AccettazioneBollaPickingOrderBy {
public static String[] descriptions = new String[] {
"Cod articolo fornitore",
"Descrizione articolo",
};
public enum Enum {
COD_ART_FOR(0),
DESCR_ART(1);
private int val;
Enum(int val) {
this.val = val;
}
public int getVal() {
return this.val;
}
public static AccettazioneBollaPickingOrderBy.Enum fromInt(int val) {
for (AccettazioneBollaPickingOrderBy.Enum b : AccettazioneBollaPickingOrderBy.Enum.values()) {
if (b.val == val) return b;
}
return null;
}
}
}

View File

@ -0,0 +1,64 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
public class PickingObjectDTO {
private SitBollaAccettazioneDTO sitBollaAccettazione;
private MtbAart mtbAart;
private PickDataDTO tempPickData;
private List<MtbColr> withdrawMtbColrs = new ArrayList<>();
private boolean hidden = false;
public SitBollaAccettazioneDTO getSitBollaAccettazione() {
return sitBollaAccettazione;
}
public PickingObjectDTO setSitBollaAccettazione(SitBollaAccettazioneDTO sitBollaAccettazione) {
this.sitBollaAccettazione = sitBollaAccettazione;
return this;
}
public MtbAart getMtbAart() {
return mtbAart;
}
public PickingObjectDTO setMtbAart(MtbAart mtbAart) {
this.mtbAart = mtbAart;
return this;
}
public PickDataDTO getTempPickData() {
return tempPickData;
}
public PickingObjectDTO setTempPickData(PickDataDTO tempPickData) {
this.tempPickData = tempPickData;
return this;
}
public List<MtbColr> getWithdrawMtbColrs() {
return withdrawMtbColrs;
}
public PickingObjectDTO setWithdrawMtbColrs(List<MtbColr> withdrawMtbColrs) {
this.withdrawMtbColrs = withdrawMtbColrs;
return this;
}
public boolean isHidden() {
return hidden;
}
public PickingObjectDTO setHidden(boolean hidden) {
this.hidden = hidden;
return this;
}
}

View File

@ -0,0 +1,19 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto;
import java.util.List;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
public class RetrieveAlreadyRegisteredULAccettazioneBollaRequestDTO {
private List<TestataBollaAccettazioneDTO> bolle;
public List<TestataBollaAccettazioneDTO> getBolle() {
return bolle;
}
public RetrieveAlreadyRegisteredULAccettazioneBollaRequestDTO setBolle(List<TestataBollaAccettazioneDTO> bolle) {
this.bolle = bolle;
return this;
}
}

View File

@ -0,0 +1,19 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto;
import java.util.List;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
public class RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO {
private List<AlreadyRegisteredUDCDTO> udcList;
public List<AlreadyRegisteredUDCDTO> getUdcList() {
return udcList;
}
public RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO setUdcList(List<AlreadyRegisteredUDCDTO> udcList) {
this.udcList = udcList;
return this;
}
}

View File

@ -0,0 +1,50 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_picking.rest;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Singleton;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.RetrieveAlreadyRegisteredULAccettazioneBollaRequestDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
@Singleton
public class AccettazioneBollaPickingRESTConsumer extends _BaseRESTConsumer {
@Inject
public AccettazioneBollaPickingRESTConsumer() {
}
public void retrieveAlreadyRegisteredUDC(List<TestataBollaAccettazioneDTO> bolle, RunnableArgs<List<AlreadyRegisteredUDCDTO>> onComplete, RunnableArgs<Exception> onFailed) {
AccettazioneBollaPickingRESTConsumerService service = RESTBuilder.getService(AccettazioneBollaPickingRESTConsumerService.class);
var request = new RetrieveAlreadyRegisteredULAccettazioneBollaRequestDTO()
.setBolle(bolle);
service.retrieveAlreadyRegisteredUDC(request)
.enqueue(new Callback<>() {
@Override
public void onResponse(Call<ServiceRESTResponse<RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO>> call, Response<ServiceRESTResponse<RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO>> response) {
analyzeAnswer(response, "retrieveAlreadyRegisteredUDC",
data -> onComplete.run(data.getUdcList() == null ? new ArrayList<>() : data.getUdcList()),
onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO>> call, Throwable t) {
onFailed.run(new Exception(t));
}
});
}
}

View File

@ -0,0 +1,15 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_picking.rest;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.RetrieveAlreadyRegisteredULAccettazioneBollaRequestDTO;
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.POST;
public interface AccettazioneBollaPickingRESTConsumerService {
@POST("wms/accettazione-bolla/retrieveAlreadyRegisteredUDC")
Call<ServiceRESTResponse<RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO>> retrieveAlreadyRegisteredUDC(@Body RetrieveAlreadyRegisteredULAccettazioneBollaRequestDTO RetrieveAlreadyRegisteredULAccettazioneBollaRequest);
}

View File

@ -0,0 +1,184 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_picking.ui;
import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.res.ResourcesCompat;
import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableList;
import androidx.recyclerview.widget.RecyclerView;
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.AccettazioneBollaPickingMainListGroupHeaderBinding;
import it.integry.integrywmsnative.databinding.AccettazioneBollaPickingMainListGroupItemBinding;
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.PickingObjectDTO;
public class AccettazioneBollaPickingListAdapter extends SectionedRecyclerViewAdapter<AccettazioneBollaPickingListAdapter.SubheaderHolder, AccettazioneBollaPickingListAdapter.SingleItemViewHolder> {
private final Context mContext;
private final boolean mShowSecondaryUntMis;
private final List<AccettazioneBollaPickingListModel> mDataset = new ArrayList<>();
private RunnableArgs<PickingObjectDTO> mOnItemClicked;
static class SubheaderHolder extends RecyclerView.ViewHolder {
AccettazioneBollaPickingMainListGroupHeaderBinding mBinding;
SubheaderHolder(AccettazioneBollaPickingMainListGroupHeaderBinding binding) {
super(binding.getRoot());
this.mBinding = binding;
}
}
static class SingleItemViewHolder extends RecyclerView.ViewHolder {
AccettazioneBollaPickingMainListGroupItemBinding mBinding;
SingleItemViewHolder(AccettazioneBollaPickingMainListGroupItemBinding binding) {
super(binding.getRoot());
this.mBinding = binding;
}
}
public AccettazioneBollaPickingListAdapter(AppCompatActivity context, ObservableArrayList<AccettazioneBollaPickingListModel> mutableDataSet, boolean showSecondaryUntMis) {
this.mContext = context;
this.mShowSecondaryUntMis = showSecondaryUntMis;
mutableDataSet.addOnListChangedCallback(new OnListGeneralChangedCallback() {
@Override
public void onChanged(ObservableList sender) {
mDataset.clear();
mDataset.addAll(sender);
notifyDataSetChanged();
notifyDataChanged();
}
});
}
public void setOnItemClicked(RunnableArgs<PickingObjectDTO> onItemClicked) {
this.mOnItemClicked = onItemClicked;
}
@Override
public AccettazioneBollaPickingListAdapter.SubheaderHolder onCreateSubheaderViewHolder(ViewGroup parent, int viewType) {
AccettazioneBollaPickingMainListGroupHeaderBinding binding = AccettazioneBollaPickingMainListGroupHeaderBinding.inflate(LayoutInflater.from(mContext), parent, false);
return new AccettazioneBollaPickingListAdapter.SubheaderHolder(binding);
}
@Override
public AccettazioneBollaPickingListAdapter.SingleItemViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) {
AccettazioneBollaPickingMainListGroupItemBinding binding = AccettazioneBollaPickingMainListGroupItemBinding.inflate(LayoutInflater.from(mContext), parent, false);
return new AccettazioneBollaPickingListAdapter.SingleItemViewHolder(binding);
}
@Override
public void onBindSubheaderViewHolder(AccettazioneBollaPickingListAdapter.SubheaderHolder subheaderHolder, int nextItemPosition) {
AccettazioneBollaPickingListModel pickingObjectDTO = this.mDataset.get(nextItemPosition);
subheaderHolder.mBinding.groupTitle.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getGroupTitle()) ? View.GONE : View.VISIBLE);
subheaderHolder.mBinding.groupTitle.setText(pickingObjectDTO.getGroupTitle());
}
@Override
public void onBindItemViewHolder(final AccettazioneBollaPickingListAdapter.SingleItemViewHolder holder, final int position) {
AccettazioneBollaPickingListModel pickingObjectDTO = this.mDataset.get(position);
if (pickingObjectDTO.getQtaEvasa().subtract(pickingObjectDTO.getQtaTot()).floatValue() >= 0) {
holder.mBinding.getRoot().setBackgroundColor(mContext.getResources().getColor(R.color.green_500_with_alpha));
} else if (pickingObjectDTO.getQtaEvasa().floatValue() > 0) {
holder.mBinding.getRoot().setBackgroundColor(mContext.getResources().getColor(R.color.orange_600_with_alpha));
} else if (position % 2 == 1) {
holder.mBinding.getRoot().setBackgroundColor(Color.WHITE);
} else {
holder.mBinding.getRoot().setBackgroundColor(mContext.getResources().getColor(R.color.letturaFacilitataBG));
}
holder.mBinding.deactivatedOverBg.setVisibility(!pickingObjectDTO.isActive() ? View.VISIBLE : View.GONE);
holder.mBinding.getRoot().setAlpha(!pickingObjectDTO.isActive() ? 0.8f : 1);
holder.mBinding.qtaEvasa.setTextColor(ResourcesCompat.getColor(mContext.getResources(), !pickingObjectDTO.isActive() ? R.color.gray_600 : R.color.green_700, null));
holder.mBinding.titolo.setText(pickingObjectDTO.getTitolo());
holder.mBinding.titolo.setVisibility(pickingObjectDTO.isTitoloPresente() ? View.VISIBLE : View.GONE);
holder.mBinding.descrizione.setText(pickingObjectDTO.getDescrizione());
holder.mBinding.descrizione.setTextColor(pickingObjectDTO.isDescrizionePresente() ? Color.BLACK : Color.GRAY);
holder.mBinding.badge1.setBackground(ResourcesCompat.getDrawable(mContext.getResources(), !pickingObjectDTO.isActive() ? R.drawable.badge_round_corner : R.drawable.badge1_round_corner, null));
holder.mBinding.badge1.setText(pickingObjectDTO.getBadge1());
holder.mBinding.badge1.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getBadge1()) ? View.GONE : View.VISIBLE);
holder.mBinding.badge2.setText(pickingObjectDTO.getBadge2());
holder.mBinding.badge2.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getBadge2()) ? View.GONE : View.VISIBLE);
holder.mBinding.badge2Icon.setVisibility(pickingObjectDTO.getBadge2Icon() == null ? View.GONE : View.VISIBLE);
if(pickingObjectDTO.getBadge2Icon() != null) holder.mBinding.badge2Icon.setImageResource(pickingObjectDTO.getBadge2Icon());
holder.mBinding.badge3.setText(pickingObjectDTO.getPosizione());
holder.mBinding.badge3Layout.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getPosizione()) ? View.GONE : View.VISIBLE);
holder.mBinding.qtaEvasa.setText(UtilityNumber.decimalToString(pickingObjectDTO.getQtaEvasa()));
holder.mBinding.qtaTot.setText(UtilityNumber.decimalToString(pickingObjectDTO.getQtaTot()));
holder.mBinding.untMis.setText(pickingObjectDTO.getUntMis());
holder.mBinding.untMis.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getUntMis()) ? View.GONE : View.VISIBLE);
//Secondary Unt Mis
holder.mBinding.secondaryUntMis.setVisibility(mShowSecondaryUntMis ? View.VISIBLE : View.GONE);
if(mShowSecondaryUntMis) {
holder.mBinding.secQtaEvasa.setText(UtilityNumber.decimalToString(pickingObjectDTO.getSecQtaEvasa()));
holder.mBinding.secQtaTot.setText(UtilityNumber.decimalToString(pickingObjectDTO.getSecQtaTot()));
holder.mBinding.secUntMis.setText(pickingObjectDTO.getSecUntMis());
holder.mBinding.secUntMis.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getSecUntMis()) ? View.GONE : View.VISIBLE);
}
holder.mBinding.getRoot().setOnClickListener(v -> {
if (this.mOnItemClicked != null)
this.mOnItemClicked.run(pickingObjectDTO.getOriginalModel());
});
}
@Override
public boolean onPlaceSubheaderBetweenItems(int position) {
if (getItemSize() == 1) return true;
else if (getItemSize() > 1) {
AccettazioneBollaPickingListModel compare1 = this.mDataset.get(position);
AccettazioneBollaPickingListModel compare2 = this.mDataset.get(position + 1);
if (UtilityString.equalsIgnoreCase(compare1.getGroupTitle(), compare2.getGroupTitle())) {
return false;
}
}
return true;
}
@Override
public int getItemSize() {
return mDataset.size();
}
}

View File

@ -0,0 +1,210 @@
package it.integry.integrywmsnative.gest.accettazione_bolla_picking.ui;
import androidx.annotation.DrawableRes;
import org.jetbrains.annotations.NotNull;
import java.math.BigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.PickingObjectDTO;
public class AccettazioneBollaPickingListModel implements Cloneable {
private String groupTitle;
private String titolo;
private String badge1;
private @DrawableRes Integer badge2Icon;
private String badge2;
private String descrizione;
private String subDescrizione1;
private String subDescrizione2;
private BigDecimal qtaEvasa;
private BigDecimal qtaTot;
private String untMis;
private BigDecimal secQtaEvasa;
private BigDecimal secQtaTot;
private String secUntMis;
private String posizione;
private boolean active;
private PickingObjectDTO mOriginalModel;
@NotNull
@Override
public Object clone() {
try {
return super.clone();
} catch (Exception ex) {
return null;
}
}
public String getGroupTitle() {
return groupTitle;
}
public AccettazioneBollaPickingListModel setGroupTitle(String groupTitle) {
this.groupTitle = groupTitle;
return this;
}
public boolean isTitoloPresente() {
return !UtilityString.isNullOrEmpty(titolo);
}
public String getTitolo() {
return titolo;
}
public AccettazioneBollaPickingListModel setTitolo(String titolo) {
this.titolo = titolo;
return this;
}
public String getBadge1() {
return badge1;
}
public AccettazioneBollaPickingListModel setBadge1(String badge1) {
this.badge1 = badge1;
return this;
}
public @DrawableRes Integer getBadge2Icon() {
return badge2Icon;
}
public AccettazioneBollaPickingListModel setBadge2Icon(@DrawableRes Integer badge2Icon) {
this.badge2Icon = badge2Icon;
return this;
}
public String getBadge2() {
return badge2;
}
public AccettazioneBollaPickingListModel setBadge2(String badge2) {
this.badge2 = badge2;
return this;
}
public String getDescrizione() {
return descrizione;
}
public AccettazioneBollaPickingListModel setDescrizione(String descrizione) {
this.descrizione = descrizione;
return this;
}
public boolean isDescrizionePresente() {
return !UtilityString.isNullOrEmpty(descrizione);
}
public String getSubDescrizione1() {
return subDescrizione1;
}
public AccettazioneBollaPickingListModel setSubDescrizione1(String subDescrizione1) {
this.subDescrizione1 = subDescrizione1;
return this;
}
public String getSubDescrizione2() {
return subDescrizione2;
}
public AccettazioneBollaPickingListModel setSubDescrizione2(String subDescrizione2) {
this.subDescrizione2 = subDescrizione2;
return this;
}
public BigDecimal getQtaEvasa() {
return qtaEvasa;
}
public AccettazioneBollaPickingListModel setQtaEvasa(BigDecimal qtaEvasa) {
this.qtaEvasa = qtaEvasa;
return this;
}
public BigDecimal getQtaTot() {
return qtaTot;
}
public AccettazioneBollaPickingListModel setQtaTot(BigDecimal qtaTot) {
this.qtaTot = qtaTot;
return this;
}
public String getUntMis() {
return untMis;
}
public AccettazioneBollaPickingListModel setUntMis(String untMis) {
this.untMis = untMis;
return this;
}
public BigDecimal getSecQtaEvasa() {
return secQtaEvasa;
}
public AccettazioneBollaPickingListModel setSecQtaEvasa(BigDecimal secQtaEvasa) {
this.secQtaEvasa = secQtaEvasa;
return this;
}
public BigDecimal getSecQtaTot() {
return secQtaTot;
}
public AccettazioneBollaPickingListModel setSecQtaTot(BigDecimal secQtaTot) {
this.secQtaTot = secQtaTot;
return this;
}
public String getSecUntMis() {
return secUntMis;
}
public AccettazioneBollaPickingListModel setSecUntMis(String secUntMis) {
this.secUntMis = secUntMis;
return this;
}
public String getPosizione() {
return posizione;
}
public AccettazioneBollaPickingListModel setPosizione(String posizione) {
this.posizione = posizione;
return this;
}
public boolean isActive() {
return active;
}
public AccettazioneBollaPickingListModel setActive(boolean active) {
this.active = active;
return this;
}
public PickingObjectDTO getOriginalModel() {
return mOriginalModel;
}
public AccettazioneBollaPickingListModel setOriginalModel(PickingObjectDTO mOriginalModel) {
this.mOriginalModel = mOriginalModel;
return this;
}
}

View File

@ -0,0 +1,15 @@
package it.integry.integrywmsnative.gest.accettazione_ordini_elenco;
import dagger.Subcomponent;
@Subcomponent
public interface MainAccettazioneOrdiniElencoComponent {
@Subcomponent.Factory
interface Factory {
MainAccettazioneOrdiniElencoComponent create();
}
void inject(MainAccettazioneOrdiniElencoFragment mainAccettazioneOrdiniElencoFragment);
}

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione;
package it.integry.integrywmsnative.gest.accettazione_ordini_elenco;
import android.content.Context;
@ -11,7 +11,6 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableArrayList;
import androidx.recyclerview.widget.LinearLayoutManager;
@ -34,47 +33,47 @@ import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneBinding;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione.ui.MainListAccettazioneAdapter;
import it.integry.integrywmsnative.gest.accettazione.ui.MainListAccettazioneClienteListModel;
import it.integry.integrywmsnative.gest.accettazione.ui.MainListAccettazioneListModel;
import it.integry.integrywmsnative.gest.accettazione_picking.AccettazionePickingActivity;
import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneOrdiniBinding;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.ui.MainListAccettazioneOrdiniElencoAdapter;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.ui.MainListAccettazioneOrdiniElencoClienteListModel;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.ui.MainListAccettazioneOrdiniElencoListModel;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingActivity;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
public class MainAccettazioneFragment extends BaseFragment implements ISearchableFragment, ITitledFragment, IScrollableFragment, MainAccettazioneViewModel.Listener {
public class MainAccettazioneOrdiniElencoFragment extends BaseFragment implements ISearchableFragment, ITitledFragment, IScrollableFragment, MainAccettazioneOrdiniElencoViewModel.Listener {
public BindableBoolean fabVisible = new BindableBoolean(false);
@Inject
MainAccettazioneViewModel mViewModel;
MainAccettazioneOrdiniElencoViewModel mViewModel;
private final List<Runnable> mOnPreDestroyList = new ArrayList<>();
private ElevatedToolbar mToolbar;
private String mTextFilter;
private FragmentMainAccettazioneBinding mBinding;
private FragmentMainAccettazioneOrdiniBinding mBinding;
private final ObservableArrayList<MainListAccettazioneListModel> mOrdiniInevasiMutableData = new ObservableArrayList<>();
private final ObservableArrayList<MainListAccettazioneOrdiniElencoListModel> mOrdiniInevasiMutableData = new ObservableArrayList<>();
private AppCompatTextView mAppBarTitle;
public MainAccettazioneFragment() {
public MainAccettazioneOrdiniElencoFragment() {
// Required empty public constructor
}
public static MainAccettazioneFragment newInstance() {
return new MainAccettazioneFragment();
public static MainAccettazioneOrdiniElencoFragment newInstance() {
return new MainAccettazioneOrdiniElencoFragment();
}
@Override
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
mAppBarTitle = titleText;
mAppBarTitle.setText(context.getText(R.string.accettazione_title_fragment).toString());
mAppBarTitle.setText(context.getText(R.string.accettazione_ordine_title_fragment).toString());
}
@Override
@ -94,10 +93,10 @@ public class MainAccettazioneFragment extends BaseFragment implements ISearchabl
if (savedInstanceState != null && savedInstanceState.containsKey("mToolbar"))
mToolbar = DataCache.retrieveItem(savedInstanceState.getString("mToolbar"));
mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_main_accettazione, container, false);
mBinding = FragmentMainAccettazioneOrdiniBinding.inflate(inflater, container, false);
MainApplication.appComponent
.mainAccettazioneComponent()
.mainAccettazioneOrdiniComponent()
.create()
.inject(this);
@ -139,7 +138,7 @@ public class MainAccettazioneFragment extends BaseFragment implements ISearchabl
});
MainListAccettazioneAdapter adapter = new MainListAccettazioneAdapter(getActivity(), mOrdiniInevasiMutableData)
MainListAccettazioneOrdiniElencoAdapter adapter = new MainListAccettazioneOrdiniElencoAdapter(getActivity(), mOrdiniInevasiMutableData)
.setOnGroupItemClicked(x -> {
Stream.of(mOrdiniInevasiMutableData)
.filter(y -> !y.getGroupTitle().equalsIgnoreCase(x) && y.getSelectedObservable().get())
@ -186,13 +185,13 @@ public class MainAccettazioneFragment extends BaseFragment implements ISearchabl
this.mOrdiniInevasiMutableData.addAll(convertDataModelToListModel(tmpList));
}
private List<MainListAccettazioneListModel> convertDataModelToListModel(List<OrdineAccettazioneInevasoDTO> dataList) {
private List<MainListAccettazioneOrdiniElencoListModel> convertDataModelToListModel(List<OrdineAccettazioneInevasoDTO> dataList) {
return Stream.of(dataList)
.distinctBy(OrdineAccettazioneInevasoDTO::getBarcode)
.sortBy(x -> x.getRagSocOrd() + (x.getDataConsD() != null ? UtilityDate.formatDate(x.getDataConsD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH) : ""))
.map(x -> {
MainListAccettazioneListModel listModel = new MainListAccettazioneListModel();
MainListAccettazioneOrdiniElencoListModel listModel = new MainListAccettazioneOrdiniElencoListModel();
listModel.setOriginalModel(x);
@ -200,9 +199,9 @@ public class MainAccettazioneFragment extends BaseFragment implements ISearchabl
listModel.setDescription(String.format(getString(R.string.ord_acq_testata), x.getNumero(), UtilityDate.formatDate(x.getDataD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)));
List<MainListAccettazioneClienteListModel> clienti = Stream.of(dataList)
List<MainListAccettazioneOrdiniElencoClienteListModel> clienti = Stream.of(dataList)
.filter(y -> y.getBarcode().equals(x.getBarcode()))
.map(y -> new MainListAccettazioneClienteListModel()
.map(y -> new MainListAccettazioneOrdiniElencoClienteListModel()
.setPrimaryText(y.getRifOrd())
.setRightText(UtilityDate.formatDate(y.getDataConsD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_SLASH)))
.toList();
@ -217,7 +216,7 @@ public class MainAccettazioneFragment extends BaseFragment implements ISearchabl
public void dispatchOrders() {
List<OrdineAccettazioneInevasoDTO> selectedOrders = Stream.of(this.mOrdiniInevasiMutableData)
.filter(x -> x.getSelectedObservable().get())
.map(MainListAccettazioneListModel::getOriginalModel)
.map(MainListAccettazioneOrdiniElencoListModel::getOriginalModel)
.toList();
@ -297,7 +296,7 @@ public class MainAccettazioneFragment extends BaseFragment implements ISearchabl
String cacheSitArtItemID = DataCache.addItem(sitArts);
String cacheOrdersItemID = DataCache.addItem(orders);
Intent myIntent = new Intent(getActivity(), AccettazionePickingActivity.class);
Intent myIntent = new Intent(getActivity(), AccettazioneOrdiniPickingActivity.class);
myIntent.putExtra("keyOrders", cacheOrdersItemID);
myIntent.putExtra("keySitArts", cacheSitArtItemID);
getActivity().startActivity(myIntent);

View File

@ -0,0 +1,20 @@
package it.integry.integrywmsnative.gest.accettazione_ordini_elenco;
import dagger.Module;
import dagger.Provides;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.rest.OrdiniAccettazioneRESTConsumer;
@Module(subcomponents = {MainAccettazioneOrdiniElencoComponent.class})
public class MainAccettazioneOrdiniElencoModule {
@Provides
OrdiniAccettazioneRESTConsumer providesOrdiniAccettazioneRESTConsumer() {
return new OrdiniAccettazioneRESTConsumer();
}
@Provides
MainAccettazioneOrdiniElencoViewModel providesMainAccettazioneViewModel(OrdiniAccettazioneRESTConsumer ordiniAccettazioneRESTConsumer) {
return new MainAccettazioneOrdiniElencoViewModel(ordiniAccettazioneRESTConsumer);
}
}

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione;
package it.integry.integrywmsnative.gest.accettazione_ordini_elenco;
import androidx.lifecycle.MutableLiveData;
@ -7,11 +7,11 @@ import java.util.List;
import javax.inject.Inject;
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione.rest.OrdiniAccettazioneRESTConsumer;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.rest.OrdiniAccettazioneRESTConsumer;
public class MainAccettazioneViewModel {
public class MainAccettazioneOrdiniElencoViewModel {
private final OrdiniAccettazioneRESTConsumer mOrdiniAccettazioneRESTConsumer;
@ -21,7 +21,7 @@ public class MainAccettazioneViewModel {
private String codMdep;
@Inject
public MainAccettazioneViewModel(OrdiniAccettazioneRESTConsumer ordiniAccettazioneRESTConsumer) {
public MainAccettazioneOrdiniElencoViewModel(OrdiniAccettazioneRESTConsumer ordiniAccettazioneRESTConsumer) {
this.mOrdiniAccettazioneRESTConsumer = ordiniAccettazioneRESTConsumer;
}
@ -63,7 +63,7 @@ public class MainAccettazioneViewModel {
return mOrderList;
}
public MainAccettazioneViewModel setListener(Listener listener) {
public MainAccettazioneOrdiniElencoViewModel setListener(Listener listener) {
this.mListener = listener;
return this;
}

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione.dto;
package it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto;
public class GetPickingListAccettazioneDTO {
private String data;

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione.dto;
package it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto;
import java.util.Date;

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione.dto;
package it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto;
import java.math.BigDecimal;
import java.time.LocalDate;

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione.rest;
package it.integry.integrywmsnative.gest.accettazione_ordini_elenco.rest;
import com.annimon.stream.Stream;
@ -11,9 +11,9 @@ import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.gest.accettazione.dto.GetPickingListAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.GetPickingListAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

View File

@ -1,11 +1,11 @@
package it.integry.integrywmsnative.gest.accettazione.rest;
package it.integry.integrywmsnative.gest.accettazione_ordini_elenco.rest;
import java.util.List;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.gest.accettazione.dto.GetPickingListAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.GetPickingListAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione.ui;
package it.integry.integrywmsnative.gest.accettazione_ordini_elenco.ui;
import android.content.Context;
import android.text.Html;
@ -19,12 +19,12 @@ import it.integry.integrywmsnative.databinding.AccettazioneMainListGroupClientiB
import it.integry.integrywmsnative.databinding.AccettazioneMainListGroupModelBinding;
import it.integry.integrywmsnative.databinding.AccettazioneMainListModelBinding;
public class MainListAccettazioneAdapter extends ExtendedSectionedRecyclerView<MainListAccettazioneListModel, MainListAccettazioneAdapter.SubheaderHolder, MainListAccettazioneAdapter.SingleItemViewHolder> {
public class MainListAccettazioneOrdiniElencoAdapter extends ExtendedSectionedRecyclerView<MainListAccettazioneOrdiniElencoListModel, MainListAccettazioneOrdiniElencoAdapter.SubheaderHolder, MainListAccettazioneOrdiniElencoAdapter.SingleItemViewHolder> {
private Context mContext;
private RunnableArgs<String> mOnGroupItemClicked;
private RunnableArgs<MainListAccettazioneListModel> mOnItemChecked;
private RunnableArgs<MainListAccettazioneOrdiniElencoListModel> mOnItemChecked;
static class SubheaderHolder extends RecyclerView.ViewHolder {
@ -47,17 +47,17 @@ public class MainListAccettazioneAdapter extends ExtendedSectionedRecyclerView<M
}
}
public MainListAccettazioneAdapter(Context context, ObservableArrayList<MainListAccettazioneListModel> myDataset) {
public MainListAccettazioneOrdiniElencoAdapter(Context context, ObservableArrayList<MainListAccettazioneOrdiniElencoListModel> myDataset) {
super(myDataset);
mContext = context;
}
public MainListAccettazioneAdapter setOnGroupItemClicked(RunnableArgs<String> onGroupItemClicked) {
public MainListAccettazioneOrdiniElencoAdapter setOnGroupItemClicked(RunnableArgs<String> onGroupItemClicked) {
this.mOnGroupItemClicked = onGroupItemClicked;
return this;
}
public MainListAccettazioneAdapter setOnItemChecked(RunnableArgs<MainListAccettazioneListModel> onItemChecked) {
public MainListAccettazioneOrdiniElencoAdapter setOnItemChecked(RunnableArgs<MainListAccettazioneOrdiniElencoListModel> onItemChecked) {
this.mOnItemChecked = onItemChecked;
return this;
}
@ -90,14 +90,14 @@ public class MainListAccettazioneAdapter extends ExtendedSectionedRecyclerView<M
@Override
public void onBindItemViewHolder(SingleItemViewHolder holder, int itemPosition) {
final MainListAccettazioneListModel ordine = mDataset.get(itemPosition);
final MainListAccettazioneOrdiniElencoListModel ordine = mDataset.get(itemPosition);
ordine.getSelectedObservable().resetOnPropertyChangedCallback();
holder.binding.accettazioneMainListGroupItemContainerClientiOrd.removeAllViews();
holder.binding.accettazioneMainListGroupItemContainerTestataOrd.setText(Html.fromHtml(ordine.getDescription()));
for (MainListAccettazioneClienteListModel cliente : ordine.getClientiListModel()) {
for (MainListAccettazioneOrdiniElencoClienteListModel cliente : ordine.getClientiListModel()) {
AccettazioneMainListGroupClientiBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.accettazione_main_list_group_clienti, holder.binding.accettazioneMainListGroupItemContainerClientiOrd, false);
binding.accettazioneMainListGroupClientiComm.setText(cliente.getPrimaryText());
@ -130,8 +130,8 @@ public class MainListAccettazioneAdapter extends ExtendedSectionedRecyclerView<M
public boolean onPlaceSubheaderBetweenItems(int position) {
if (getItemSize() == 1) return true;
else if (getItemSize() > 1) {
MainListAccettazioneListModel compare1 = this.mDataset.get(position);
MainListAccettazioneListModel compare2 = this.mDataset.get(position + 1);
MainListAccettazioneOrdiniElencoListModel compare1 = this.mDataset.get(position);
MainListAccettazioneOrdiniElencoListModel compare2 = this.mDataset.get(position + 1);
if (UtilityString.equalsIgnoreCase(compare1.getGroupTitle(), compare2.getGroupTitle())) {
return false;

View File

@ -1,6 +1,6 @@
package it.integry.integrywmsnative.gest.accettazione.ui;
package it.integry.integrywmsnative.gest.accettazione_ordini_elenco.ui;
public class MainListAccettazioneClienteListModel {
public class MainListAccettazioneOrdiniElencoClienteListModel {
private String primaryText;
private String rightText;
@ -10,7 +10,7 @@ public class MainListAccettazioneClienteListModel {
return primaryText;
}
public MainListAccettazioneClienteListModel setPrimaryText(String primaryText) {
public MainListAccettazioneOrdiniElencoClienteListModel setPrimaryText(String primaryText) {
this.primaryText = primaryText;
return this;
}
@ -19,7 +19,7 @@ public class MainListAccettazioneClienteListModel {
return rightText;
}
public MainListAccettazioneClienteListModel setRightText(String rightText) {
public MainListAccettazioneOrdiniElencoClienteListModel setRightText(String rightText) {
this.rightText = rightText;
return this;
}

View File

@ -1,11 +1,11 @@
package it.integry.integrywmsnative.gest.accettazione.ui;
package it.integry.integrywmsnative.gest.accettazione_ordini_elenco.ui;
import java.util.List;
import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
public class MainListAccettazioneListModel {
public class MainListAccettazioneOrdiniElencoListModel {
private String groupTitle;
@ -16,14 +16,14 @@ public class MainListAccettazioneListModel {
private OrdineAccettazioneInevasoDTO originalModel;
private List<MainListAccettazioneClienteListModel> clientiListModel;
private List<MainListAccettazioneOrdiniElencoClienteListModel> clientiListModel;
public String getGroupTitle() {
return groupTitle;
}
public MainListAccettazioneListModel setGroupTitle(String groupTitle) {
public MainListAccettazioneOrdiniElencoListModel setGroupTitle(String groupTitle) {
this.groupTitle = groupTitle;
return this;
}
@ -32,7 +32,7 @@ public class MainListAccettazioneListModel {
return description;
}
public MainListAccettazioneListModel setDescription(String description) {
public MainListAccettazioneOrdiniElencoListModel setDescription(String description) {
this.description = description;
return this;
}
@ -41,7 +41,7 @@ public class MainListAccettazioneListModel {
return hidden;
}
public MainListAccettazioneListModel setHidden(boolean hidden) {
public MainListAccettazioneOrdiniElencoListModel setHidden(boolean hidden) {
this.hidden = hidden;
return this;
}
@ -54,16 +54,16 @@ public class MainListAccettazioneListModel {
return originalModel;
}
public MainListAccettazioneListModel setOriginalModel(OrdineAccettazioneInevasoDTO originalModel) {
public MainListAccettazioneOrdiniElencoListModel setOriginalModel(OrdineAccettazioneInevasoDTO originalModel) {
this.originalModel = originalModel;
return this;
}
public List<MainListAccettazioneClienteListModel> getClientiListModel() {
public List<MainListAccettazioneOrdiniElencoClienteListModel> getClientiListModel() {
return clientiListModel;
}
public MainListAccettazioneListModel setClientiListModel(List<MainListAccettazioneClienteListModel> clientiListModel) {
public MainListAccettazioneOrdiniElencoListModel setClientiListModel(List<MainListAccettazioneOrdiniElencoClienteListModel> clientiListModel) {
this.clientiListModel = clientiListModel;
return this;
}

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione_picking;
package it.integry.integrywmsnative.gest.accettazione_ordini_picking;
import android.content.Intent;
import android.content.SharedPreferences;
@ -18,8 +18,8 @@ import com.annimon.stream.Stream;
import com.tfb.fbtoast.FBToast;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@ -52,17 +52,17 @@ import it.integry.integrywmsnative.core.utility.UtilityResources;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.core.utility.UtilityToast;
import it.integry.integrywmsnative.databinding.ActivityAccettazioneOrdineInevasoBinding;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione_picking.dto.AccettazioneOrdineInevasoOrderBy;
import it.integry.integrywmsnative.gest.accettazione_picking.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.accettazione_picking.filters.AccettazionePickingFiltroOrdineViewModel;
import it.integry.integrywmsnative.gest.accettazione_picking.filters.FilterCodArtLayoutView;
import it.integry.integrywmsnative.gest.accettazione_picking.filters.FilterDescrLayoutView;
import it.integry.integrywmsnative.gest.accettazione_picking.filters.FilterPosizioneLayoutView;
import it.integry.integrywmsnative.gest.accettazione_picking.rest.RecoverMtbColt;
import it.integry.integrywmsnative.gest.accettazione_picking.ui.AccettazioneListAdapter;
import it.integry.integrywmsnative.gest.accettazione_picking.ui.AccettazioneListModel;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.AccettazioneOrdineInevasoOrderBy;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters.AccettazionePickingFiltroOrdineViewModel;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters.FilterCodArtLayoutView;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters.FilterDescrLayoutView;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters.FilterPosizioneLayoutView;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.ui.AccettazioneOrdiniPickingListAdapter;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.ui.AccettazioneOrdiniPickingListModel;
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
@ -77,12 +77,12 @@ import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQua
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
import it.integry.integrywmsnative.view.dialogs.versamento_automatico_ul_done.DialogVersamentoAutomaticoULDoneView;
public class AccettazionePickingActivity extends BaseActivity implements AccettazionePickingViewModel.Listener, BottomSheetFragmentLUContentViewModel.Listener, BottomSheetFragmentLUContentView.Listener {
public class AccettazioneOrdiniPickingActivity extends BaseActivity implements AccettazioneOrdiniPickingViewModel.Listener, BottomSheetFragmentLUContentViewModel.Listener, BottomSheetFragmentLUContentView.Listener {
private ActivityAccettazioneOrdineInevasoBinding mBindings;
@Inject
AccettazionePickingViewModel mViewModel;
AccettazioneOrdiniPickingViewModel mViewModel;
@Inject
DialogInputQuantityV2View mDialogInputQuantityV2View;
@ -91,7 +91,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
private BottomSheetFragmentLUContentViewModel mBottomSheetFragmentLUContentViewModel;
private final ObservableArrayList<AccettazioneListModel> mAccettazioneMutableData = new ObservableArrayList<>();
private final ObservableArrayList<AccettazioneOrdiniPickingListModel> mAccettazioneMutableData = new ObservableArrayList<>();
public BindableBoolean noItemsToPick = new BindableBoolean(false);
@ -117,6 +117,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
mOrders = DataCache.retrieveItem(getIntent().getStringExtra("keyOrders"));
mSitArts = DataCache.retrieveItem(getIntent().getStringExtra("keySitArts"));
mBindings = DataBindingUtil.setContentView(this, R.layout.activity_accettazione_ordine_inevaso);
mBindings.setLifecycleOwner(this);
mBindings.setAccettazioneView(this);
@ -141,14 +142,12 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
this.initRecyclerView();
this.initFilters();
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
boolean useQtaOrd = SettingsManager.iDB().isFlagAccettazioneUseQtaOrd();
mViewModel.setListeners(this);
mViewModel.init(
mOrders,
mSitArts,
codMdep,
useQtaOrd);
}
@ -165,7 +164,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
mAppliedFilterViewModel.getCurrentDescrPredicate().addOnPropertyChangedCallback(onPredicateChanged);
mAppliedFilterViewModel.getCurrentPosPredicate().addOnPropertyChangedCallback(onPredicateChanged);
List<FilterChipDTO> filterList = Stream.of(AccettazionePickingBindings.AVAILABLE_FILTERS.entrySet())
List<FilterChipDTO> filterList = Stream.of(AccettazioneOrdiniPickingBindings.AVAILABLE_FILTERS.entrySet())
.map(Map.Entry::getValue)
.sortBy(FilterChipDTO::getPosizione)
.toList();
@ -178,7 +177,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
v -> initBottomSheetDialogFilter(filterChipDTO));
switch (filterChipDTO.getID()) {
case AccettazionePickingBindings.COD_ART_FILTER_ID -> {
case AccettazioneOrdiniPickingBindings.COD_ART_FILTER_ID -> {
mAppliedFilterViewModel.getCurrentCodArtPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
@Override
public void run() {
@ -200,7 +199,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
});
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentCodArtPredicate().set(null));
}
case AccettazionePickingBindings.DESCR_FILTER_ID -> {
case AccettazioneOrdiniPickingBindings.DESCR_FILTER_ID -> {
mAppliedFilterViewModel.getCurrentDescrPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
@Override
public void run() {
@ -222,7 +221,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
});
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentDescrPredicate().set(null));
}
case AccettazionePickingBindings.POS_FILTER_ID -> {
case AccettazioneOrdiniPickingBindings.POS_FILTER_ID -> {
mAppliedFilterViewModel.getCurrentPosPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
@Override
public void run() {
@ -262,7 +261,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
.getFilterLayoutView();
switch (filterChipDTO.getID()) {
case AccettazionePickingBindings.COD_ART_FILTER_ID ->
case AccettazioneOrdiniPickingBindings.COD_ART_FILTER_ID ->
((FilterCodArtLayoutView) filterLayoutView)
.setAll(mAppliedFilterViewModel.getAllCodArts())
.setAvailable(mAppliedFilterViewModel.getAvailableCodArts())
@ -273,7 +272,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
mAppliedFilterViewModel.getCurrentCodArtPredicate().get())
.map(x -> x.getSitArtOrdDTO().getCodMart())
.toList());
case AccettazionePickingBindings.DESCR_FILTER_ID ->
case AccettazioneOrdiniPickingBindings.DESCR_FILTER_ID ->
((FilterDescrLayoutView) filterLayoutView)
.setAll(mAppliedFilterViewModel.getAllDescrs())
.setAvailable(mAppliedFilterViewModel.getAvailableDescrs())
@ -284,7 +283,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
mAppliedFilterViewModel.getCurrentDescrPredicate().get())
.map(x -> x.getSitArtOrdDTO().getDescrizioneEstesaArt())
.toList());
case AccettazionePickingBindings.POS_FILTER_ID ->
case AccettazioneOrdiniPickingBindings.POS_FILTER_ID ->
((FilterPosizioneLayoutView) filterLayoutView)
.setAll(mAppliedFilterViewModel.getAllPos())
.setAvailable(mAppliedFilterViewModel.getAvailablePos())
@ -353,8 +352,8 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
}
private void initRecyclerView() {
AccettazioneListAdapter accettazioneListAdapter = new AccettazioneListAdapter(this, mAccettazioneMutableData, mShowSecondaryUntMis);
this.mBindings.accettazionePickingList.setAdapter(accettazioneListAdapter);
AccettazioneOrdiniPickingListAdapter accettazioneOrdiniPickingListAdapter = new AccettazioneOrdiniPickingListAdapter(this, mAccettazioneMutableData, mShowSecondaryUntMis);
this.mBindings.accettazionePickingList.setAdapter(accettazioneOrdiniPickingListAdapter);
this.mBindings.accettazionePickingList.setLayoutManager(new LinearLayoutManager(this));
this.mViewModel.getPickingList().observe(this, updatedData -> {
@ -363,7 +362,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
refreshList();
});
accettazioneListAdapter.setOnItemClicked(clickedItem -> {
accettazioneOrdiniPickingListAdapter.setOnItemClicked(clickedItem -> {
this.mViewModel.dispatchOrdineRow(clickedItem);
});
}
@ -389,7 +388,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
});
}
private List<AccettazioneListModel> convertDataModelToListModel(List<PickingObjectDTO> dataList) {
private List<AccettazioneOrdiniPickingListModel> convertDataModelToListModel(List<PickingObjectDTO> dataList) {
List<PickingObjectDTO> tmpList = Stream.of(dataList)
.filter(x -> !x.isHidden() && UtilityBigDecimal.greaterThan(x.getSitArtOrdDTO().getQtaDaEvadere(), BigDecimal.ZERO))
.toList();
@ -401,24 +400,24 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
};
}
private List<AccettazioneListModel> convertDataModelToListModel__CodArtForn(List<PickingObjectDTO> dataList) {
ArrayList<AccettazioneListModel> list = new ArrayList<>();
private List<AccettazioneOrdiniPickingListModel> convertDataModelToListModel__CodArtForn(List<PickingObjectDTO> dataList) {
ArrayList<AccettazioneOrdiniPickingListModel> list = new ArrayList<>();
Stream.of(dataList)
.sortBy(x -> UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()) +
(UtilityString.isNullOrEmpty(x.getMtbAart().getDescrizioneEstesa()) ? "" : " - " + x.getMtbAart().getDescrizioneEstesa()))
.forEach(x -> {
AccettazioneListModel accettazioneListModel = new AccettazioneListModel();
accettazioneListModel.setActive(true);
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
accettazioneOrdiniPickingListModel.setActive(true);
accettazioneListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()) +
accettazioneOrdiniPickingListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()) +
(UtilityString.isNullOrEmpty(x.getMtbAart().getDescrizioneEstesa()) ? "" : " - " + x.getMtbAart().getDescrizioneEstesa()));
accettazioneListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
accettazioneListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
accettazioneListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
if (x.getMtbAart() != null)
accettazioneListModel.setPosizione(x.getMtbAart().getPosizione());
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
//Calc Num CNF
BigDecimal numCnfEvasa = BigDecimal.ZERO;
@ -440,50 +439,50 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
accettazioneListModel.setQtaEvasa(numCnfEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneListModel.setSecQtaEvasa(qtaEvasa);
accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneListModel.setSecUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
} else {
accettazioneListModel.setQtaEvasa(qtaEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
}
accettazioneListModel.setOriginalModel(x);
accettazioneOrdiniPickingListModel.setOriginalModel(x);
list.add(accettazioneListModel);
list.add(accettazioneOrdiniPickingListModel);
});
return list;
}
private List<AccettazioneListModel> convertDataModelToListModel__DescrArt(List<PickingObjectDTO> dataList) {
ArrayList<AccettazioneListModel> list = new ArrayList<>();
private List<AccettazioneOrdiniPickingListModel> convertDataModelToListModel__DescrArt(List<PickingObjectDTO> dataList) {
ArrayList<AccettazioneOrdiniPickingListModel> list = new ArrayList<>();
Stream.of(dataList)
.sortBy(x -> x.getMtbAart().getDescrizioneEstesa())
.forEach(x -> {
AccettazioneListModel accettazioneListModel = new AccettazioneListModel();
accettazioneListModel.setActive(true);
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
accettazioneOrdiniPickingListModel.setActive(true);
accettazioneListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart())
accettazioneOrdiniPickingListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart())
+ (UtilityString.isNullOrEmpty(x.getMtbAart().getDescrizioneEstesa()) ? "" : " - " + x.getMtbAart().getDescrizioneEstesa()));
accettazioneListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
accettazioneListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
accettazioneListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
if (x.getMtbAart() != null)
accettazioneListModel.setPosizione(x.getMtbAart().getPosizione());
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
//Calc Num CNF
BigDecimal numCnfEvasa = BigDecimal.ZERO;
@ -505,47 +504,47 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
accettazioneListModel.setQtaEvasa(numCnfEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneListModel.setSecQtaEvasa(qtaEvasa);
accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneListModel.setSecUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
} else {
accettazioneListModel.setQtaEvasa(qtaEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
}
accettazioneListModel.setOriginalModel(x);
accettazioneOrdiniPickingListModel.setOriginalModel(x);
list.add(accettazioneListModel);
list.add(accettazioneOrdiniPickingListModel);
});
return list;
}
private List<AccettazioneListModel> convertDataModelToListModel__RagSocCom(List<PickingObjectDTO> dataList) {
ArrayList<AccettazioneListModel> list = new ArrayList<>();
private List<AccettazioneOrdiniPickingListModel> convertDataModelToListModel__RagSocCom(List<PickingObjectDTO> dataList) {
ArrayList<AccettazioneOrdiniPickingListModel> list = new ArrayList<>();
Stream.of(dataList)
.filter(x -> !UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneCommessa()) && !x.getSitArtOrdDTO().getCodJcom().equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG))
.sortBy(x -> x.getSitArtOrdDTO().getDescrizioneCommessa())
.forEach(x -> {
AccettazioneListModel accettazioneListModel = new AccettazioneListModel();
accettazioneListModel.setActive(true);
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
accettazioneOrdiniPickingListModel.setActive(true);
accettazioneListModel.setGroupTitle(x.getSitArtOrdDTO().getCodJcom() + (!UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneCommessa()) ? " - " + x.getSitArtOrdDTO().getDescrizioneCommessa() : ""));
accettazioneOrdiniPickingListModel.setGroupTitle(x.getSitArtOrdDTO().getCodJcom() + (!UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneCommessa()) ? " - " + x.getSitArtOrdDTO().getDescrizioneCommessa() : ""));
accettazioneListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()));
accettazioneListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()));
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
//Calc Num CNF
BigDecimal numCnfEvasa = BigDecimal.ZERO;
@ -567,45 +566,45 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
accettazioneListModel.setQtaEvasa(numCnfEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneListModel.setSecQtaEvasa(qtaEvasa);
accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneListModel.setSecUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
} else {
accettazioneListModel.setQtaEvasa(qtaEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
}
if (x.getMtbAart() != null) {
accettazioneListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa());
accettazioneListModel.setPosizione(x.getMtbAart().getPosizione());
accettazioneOrdiniPickingListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa());
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
}
accettazioneListModel.setOriginalModel(x);
accettazioneOrdiniPickingListModel.setOriginalModel(x);
list.add(accettazioneListModel);
list.add(accettazioneOrdiniPickingListModel);
});
Stream.of(dataList)
.filter(x -> UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneCommessa()) || x.getSitArtOrdDTO().getCodJcom().equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG))
.forEach(x -> {
AccettazioneListModel accettazioneListModel = new AccettazioneListModel();
accettazioneListModel.setActive(true);
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
accettazioneOrdiniPickingListModel.setActive(true);
accettazioneListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
accettazioneOrdiniPickingListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
accettazioneListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()));
accettazioneListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()));
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
//Calc Num CNF
@ -628,34 +627,34 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
accettazioneListModel.setQtaEvasa(numCnfEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneListModel.setSecQtaEvasa(qtaEvasa);
accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneListModel.setSecUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
} else {
accettazioneListModel.setQtaEvasa(qtaEvasa);
accettazioneListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
if (x.getMtbAart() != null)
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
}
if (x.getMtbAart() != null) {
accettazioneListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa());
accettazioneListModel.setUntMis(x.getMtbAart().getUntMis());
accettazioneOrdiniPickingListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa());
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
}
accettazioneListModel.setOriginalModel(x);
accettazioneOrdiniPickingListModel.setOriginalModel(x);
list.add(accettazioneListModel);
list.add(accettazioneOrdiniPickingListModel);
});
return list;
@ -674,10 +673,6 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
});
};
public void removeListFilter() {
this.mViewModel.resetMatchedRows();
}
public void createNewLU() {
this.mBindings.accettazioneOrdineInevasoFab.close(true);
@ -706,12 +701,21 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
dialog.show();
}
public void startListaBancaliRegistratiActivity(ArrayList<RecoverMtbColt> mtbColts) {
public void startListaBancaliRegistratiActivity(List<AlreadyRegisteredUDCDTO> mtbColts) {
Intent myIntent = ListaBancaliActivity.createIntent(this,
Stream.of(mtbColts).map(x -> (MtbColt) x).toList(),
input -> ((RecoverMtbColt) input).isFlagCanBeRecovered(),
Stream.of(mtbColts)
.map(AlreadyRegisteredUDCDTO::getMtbColt)
.toList(),
input -> Stream.of(mtbColts)
.filter(x -> x.getMtbColt() == input)
.findFirstOrElse(null)
.isCanBeRecovered(),
ReportManager.getReportNameLUFromGestione(GestioneEnum.ACQUISTO));
this.startActivityForResult(myIntent, PICK_UL_REQUEST);
}
@ -784,7 +788,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
}
@Override
public void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, Date dataScad, boolean canPartitaMagBeChanged, boolean canOverflowQuantity, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
public void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, LocalDate dataScad, boolean canPartitaMagBeChanged, boolean canOverflowQuantity, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
.setMtbAart(mtbAart)
.setInitialNumCnf(initialNumCnf)

View File

@ -1,13 +1,13 @@
package it.integry.integrywmsnative.gest.accettazione_picking;
package it.integry.integrywmsnative.gest.accettazione_ordini_picking;
import java.util.HashMap;
import it.integry.integrywmsnative.gest.accettazione_picking.filters.FilterCodArtLayoutView;
import it.integry.integrywmsnative.gest.accettazione_picking.filters.FilterDescrLayoutView;
import it.integry.integrywmsnative.gest.accettazione_picking.filters.FilterPosizioneLayoutView;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters.FilterCodArtLayoutView;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters.FilterDescrLayoutView;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters.FilterPosizioneLayoutView;
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
public class AccettazionePickingBindings {
public class AccettazioneOrdiniPickingBindings {
public static final int COD_ART_FILTER_ID = 0;
public static final int DESCR_FILTER_ID = 1;

View File

@ -0,0 +1,15 @@
package it.integry.integrywmsnative.gest.accettazione_ordini_picking;
import dagger.Subcomponent;
@Subcomponent
public interface AccettazioneOrdiniPickingComponent {
@Subcomponent.Factory
interface Factory {
AccettazioneOrdiniPickingComponent create();
}
void inject(AccettazioneOrdiniPickingActivity accettazioneOrdiniPickingActivity);
}

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione_picking;
package it.integry.integrywmsnative.gest.accettazione_ordini_picking;
import dagger.Module;
import dagger.Provides;
@ -9,15 +9,15 @@ import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsu
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.gest.accettazione_picking.rest.AccettazionePickingRESTConsumer;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.rest.AccettazioneOrdiniPickingRESTConsumer;
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
@Module(subcomponents = AccettazionePickingComponent.class)
public class AccettazionePickingModule {
@Module(subcomponents = AccettazioneOrdiniPickingComponent.class)
public class AccettazioneOrdiniPickingModule {
@Provides
AccettazionePickingRESTConsumer providesAccettazionePickingRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
return new AccettazionePickingRESTConsumer(systemRESTConsumer);
AccettazioneOrdiniPickingRESTConsumer providesAccettazionePickingRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
return new AccettazioneOrdiniPickingRESTConsumer(systemRESTConsumer);
}
@Provides
@ -26,19 +26,19 @@ public class AccettazionePickingModule {
}
@Provides
AccettazionePickingViewModel providesAccettazioneViewModel(
AccettazioneOrdiniPickingViewModel providesAccettazioneViewModel(
ArticoloRESTConsumer articoloRESTConsumer,
BarcodeRESTConsumer barcodeRESTConsumer,
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
PrinterRESTConsumer printerRESTConsumer,
AccettazionePickingRESTConsumer accettazionePickingRESTConsumer,
AccettazioneOrdiniPickingRESTConsumer accettazioneOrdiniPickingRESTConsumer,
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer) {
return new AccettazionePickingViewModel(articoloRESTConsumer,
return new AccettazioneOrdiniPickingViewModel(articoloRESTConsumer,
barcodeRESTConsumer,
colliMagazzinoRESTConsumer,
printerRESTConsumer,
accettazionePickingRESTConsumer,
accettazioneOrdiniPickingRESTConsumer,
colliAccettazioneRESTConsumer,
colliLavorazioneRESTConsumer);
}

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione_picking;
package it.integry.integrywmsnative.gest.accettazione_ordini_picking;
import androidx.annotation.NonNull;
import androidx.databinding.ObservableArrayList;
@ -8,10 +8,8 @@ import com.annimon.stream.Optional;
import com.annimon.stream.Stream;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import javax.inject.Inject;
@ -57,29 +55,29 @@ import it.integry.integrywmsnative.core.utility.UtilityBarcode;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione_picking.dto.HistoryMtbAartDTO;
import it.integry.integrywmsnative.gest.accettazione_picking.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.accettazione_picking.rest.AccettazionePickingRESTConsumer;
import it.integry.integrywmsnative.gest.accettazione_picking.rest.RecoverMtbColt;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.HistoryMtbAartDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.rest.AccettazioneOrdiniPickingRESTConsumer;
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
import it.integry.integrywmsnative.gest.spedizione.exceptions.NotCurrentYearLUException;
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
public class AccettazionePickingViewModel {
public class AccettazioneOrdiniPickingViewModel {
private final ArticoloRESTConsumer mArticoloRESTConsumer;
private final BarcodeRESTConsumer mBarcodeRESTConsumer;
private final ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer;
private final PrinterRESTConsumer mPrinterRESTConsumer;
private final AccettazionePickingRESTConsumer mAccettazionePickingRESTConsumer;
private final AccettazioneOrdiniPickingRESTConsumer mAccettazioneOrdiniPickingRESTConsumer;
private final ColliAccettazioneRESTConsumer mColliAccettazioneRESTConsumer;
private final ColliLavorazioneRESTConsumer mColliLavorazioneRESTConsumer;
private ColliCaricoRESTConsumerInterface mColliCaricoRESTConsumer;
private AccettazionePickingViewModel.Listener mListener;
private AccettazioneOrdiniPickingViewModel.Listener mListener;
private List<OrdineAccettazioneInevasoDTO> mOrders;
private boolean mUseQtaOrd;
@ -91,24 +89,24 @@ public class AccettazionePickingViewModel {
private final List<HistoryMtbAartDTO> mHistoryUsedAarts = new ArrayList<>();
@Inject
public AccettazionePickingViewModel(ArticoloRESTConsumer articoloRESTConsumer,
BarcodeRESTConsumer barcodeRESTConsumer,
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
PrinterRESTConsumer printerRESTConsumer,
AccettazionePickingRESTConsumer accettazionePickingRESTConsumer,
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer) {
public AccettazioneOrdiniPickingViewModel(ArticoloRESTConsumer articoloRESTConsumer,
BarcodeRESTConsumer barcodeRESTConsumer,
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
PrinterRESTConsumer printerRESTConsumer,
AccettazioneOrdiniPickingRESTConsumer accettazioneOrdiniPickingRESTConsumer,
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer) {
this.mArticoloRESTConsumer = articoloRESTConsumer;
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer;
this.mPrinterRESTConsumer = printerRESTConsumer;
this.mAccettazionePickingRESTConsumer = accettazionePickingRESTConsumer;
this.mAccettazioneOrdiniPickingRESTConsumer = accettazioneOrdiniPickingRESTConsumer;
this.mColliAccettazioneRESTConsumer = colliAccettazioneRESTConsumer;
this.mColliLavorazioneRESTConsumer = colliLavorazioneRESTConsumer;
}
public void init(List<OrdineAccettazioneInevasoDTO> orders, List<SitArtOrdDTO> sitArts, String codMdep, boolean useQtaOrd) {
public void init(List<OrdineAccettazioneInevasoDTO> orders, List<SitArtOrdDTO> sitArts, boolean useQtaOrd) {
this.mOrders = orders;
this.mUseQtaOrd = useQtaOrd;
@ -182,10 +180,10 @@ public class AccettazionePickingViewModel {
return mPickingList;
}
public void retrieveExistentLU(RunnableArgs<ArrayList<RecoverMtbColt>> onComplete) {
public void retrieveExistentLU(RunnableArgs<List<AlreadyRegisteredUDCDTO>> onComplete) {
this.sendOnLoadingStarted();
this.mAccettazionePickingRESTConsumer.getBancaliGiaRegistrati(this.mOrders, mtbColtList -> {
this.mAccettazioneOrdiniPickingRESTConsumer.getBancaliGiaRegistrati(this.mOrders, mtbColtList -> {
this.sendOnLoadingEnded();
onComplete.run(mtbColtList);
}, this::sendError);
@ -325,7 +323,7 @@ public class AccettazionePickingViewModel {
}
private void loadArticolo(String barcodeProd, PickDataDTO pickData, Runnable onComplete) {
this.mArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
this.mArticoloRESTConsumer.searchByBarcode(barcodeProd, mtbAartList -> {
if (mtbAartList != null && mtbAartList.size() > 0) {
this.searchArtFromAnag(mtbAartList.get(0), pickData, onComplete);
@ -372,78 +370,6 @@ public class AccettazionePickingViewModel {
public void createNewLU(Integer customNumCollo, String customSerCollo, boolean disablePrint, Runnable onComplete) {
this.sendOnInfoAggiuntiveRequest((additionalNotes, tCol) -> {
// this.mGestSetupRESTConsumer.getValue("PICKING", "SETUP", "DEFAULT_POSIZIONE_COLLI_ACCETTAZIONE", defaultPosAccettazioneDTO -> {
//
// String defaultPosAccettazione = null;
// if (defaultPosAccettazioneDTO != null && !UtilityString.isNullOrEmpty(defaultPosAccettazioneDTO.value))
// defaultPosAccettazione = defaultPosAccettazioneDTO.value;
//
// MtbColt mtbColt = new MtbColt();
// mtbColt
// .initDefaultFields(defaultGestioneOfUL)
// .setAnnotazioni(additionalNotes)
// .setPosizione(defaultPosAccettazione)
// .setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
//
// if (tCol != null) {
// mtbColt.setCodTcol(tCol.getCodTcol());
// mtbColt.setMtbTCol(tCol);
// }
//
// if (customNumCollo != null) {
// mtbColt.setNumCollo(customNumCollo);
// }
//
// if (!UtilityString.isNullOrEmpty(customSerCollo)) {
// mtbColt.setSerCollo(customSerCollo);
// }
//
// List<String> codAnags =
// Stream.of(mOrders)
// .map(OrdineAccettazioneInevasoDTO::getCodAnagOrd)
// .distinct()
// .toList();
//
// if (codAnags.size() == 1) {
// mtbColt.setCodAnag(codAnags.get(0));
// }
//
// List<String> rifOrds =
// Stream.of(mOrders)
// .map(OrdineAccettazioneInevasoDTO::getRifOrd)
// .distinct()
// .toList();
//
// if (rifOrds.size() == 1) {
// mtbColt.setRifOrd(rifOrds.get(0));
// }
//
// List<String> numDataOrds =
// Stream.of(mOrders)
// .map(value -> value.getNumero() + value.getData())
// .distinct()
// .toList();
//
// if (numDataOrds.size() == 1) {
// mtbColt.setNumOrd(mOrders.get(0).getNumero());
// mtbColt.setDataOrd(mOrders.get(0).getData());
// }
//
// this.mColliMagazzinoRESTConsumer.saveCollo(mtbColt, savedMtbColt -> {
// mtbColt
// .setNumCollo(savedMtbColt.getNumCollo())
// .setDataCollo(savedMtbColt.getDataColloS())
// .setMtbColr(new ObservableArrayList<>())
// .setDisablePrint(disablePrint);
//
// this.mCurrentMtbColt = mtbColt;
//
// if (onComplete != null) onComplete.run();
// this.sendLUOpened(mtbColt);
// }, this::sendError);
//
// }, this::sendError);
final List<CreateUDCRequestOrderDTO> orders = Stream.of(this.mOrders)
.map(x -> new CreateUDCRequestOrderDTO()
.setDataCons(x.getDataConsD() != null ? UtilityDate.toLocalDate(x.getDataConsD()) : null)
@ -502,7 +428,7 @@ public class AccettazionePickingViewModel {
BigDecimal qtaCnfDaPrelevare = null;
String partitaMag = null;
Date dataScad = null;
LocalDate dataScad = null;
if (pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getManualPickDTO() != null) {
//Oppure le info del barcode scansionato
@ -545,7 +471,7 @@ public class AccettazionePickingViewModel {
if (manualPickDTO.getMtbPartitaMag() != null) {
partitaMag = manualPickDTO.getMtbPartitaMag().getPartitaMag();
dataScad = manualPickDTO.getMtbPartitaMag().getDataScadD();
dataScad = manualPickDTO.getMtbPartitaMag().getDataScad();
}
}
@ -572,11 +498,8 @@ public class AccettazionePickingViewModel {
}
if (dataScad == null && pickingObjectDTO.getMtbAart().getGgScadPartita() != null && pickingObjectDTO.getMtbAart().getGgScadPartita() > 0) {
dataScad = UtilityDate.getDateInstance();
Calendar c = new GregorianCalendar();
c.setTime(dataScad);
c.add(Calendar.DATE, pickingObjectDTO.getMtbAart().getGgScadPartita());
dataScad = c.getTime();
dataScad = UtilityDate.getNow();
dataScad.plusDays(pickingObjectDTO.getMtbAart().getGgScadPartita());
}
if (partitaMag == null && dataScad == null) {
@ -617,7 +540,7 @@ public class AccettazionePickingViewModel {
}
public void saveNewRow(PickingObjectDTO pickingObjectDTO, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
public void saveNewRow(PickingObjectDTO pickingObjectDTO, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
if (UtilityBigDecimal.equalsTo(numCnf, BigDecimal.ZERO) && UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO)) {
resetMatchedRows();
@ -647,7 +570,7 @@ public class AccettazionePickingViewModel {
if (dataScad != null)
insertUDCRowRequestDto
.setDataScad(UtilityDate.toLocalDate(dataScad));
.setDataScad(dataScad);
mColliCaricoRESTConsumer.insertUDCRow(insertUDCRowRequestDto, insertedMtbColr -> {
this.addHistoryItem(insertedMtbColr);
@ -688,7 +611,7 @@ public class AccettazionePickingViewModel {
null, null, null,
null, null, null,
mtbColrToEdit.getPartitaMag(),
mtbColrToEdit.getDataScadPartitaD(),
mtbColrToEdit.getDataScadPartita(),
true,
(pickedQuantityDTO, shouldCloseLU) -> {
@ -702,7 +625,7 @@ public class AccettazionePickingViewModel {
});
}
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
this.sendOnLoadingStarted();
MtbColr mtbColrClone = (MtbColr) mtbColrToUpdate.clone();
@ -718,7 +641,7 @@ public class AccettazionePickingViewModel {
if (dataScad != null)
editUDCRowRequest
.setNewDataScad(UtilityDate.toLocalDate(dataScad));
.setNewDataScad(dataScad);
this.mColliCaricoRESTConsumer.editUDCRow(editUDCRowRequest, (editedMtbColr) -> {
@ -878,12 +801,12 @@ public class AccettazionePickingViewModel {
if (optional.isPresent()) {
optional.get()
.setPartitaMag(mtbColr.getPartitaMag())
.setDataScad(mtbColr.getDataScadPartitaD());
.setDataScad(mtbColr.getDataScadPartita());
} else {
this.mHistoryUsedAarts.add(new HistoryMtbAartDTO()
.setCodMart(mtbColr.getCodMart())
.setPartitaMag(mtbColr.getPartitaMag())
.setDataScad(mtbColr.getDataScadPartitaD()));
.setDataScad(mtbColr.getDataScadPartita()));
}
}
@ -946,7 +869,7 @@ public class AccettazionePickingViewModel {
BigDecimal totalNumCnfAvailable,
BigDecimal qtaCnfAvailable,
String partitaMag,
Date dataScad,
LocalDate dataScad,
boolean canPartitaMagBeChanged,
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
if (this.mListener != null) mListener.onItemDispatched(pickingObjectDTO,
@ -992,7 +915,7 @@ public class AccettazionePickingViewModel {
mListener.onULVersata(versamentoAutomaticoULResponseDTO, onComplete);
}
public AccettazionePickingViewModel setListeners(AccettazionePickingViewModel.Listener listener) {
public AccettazioneOrdiniPickingViewModel setListeners(AccettazioneOrdiniPickingViewModel.Listener listener) {
this.mListener = listener;
return this;
}
@ -1020,7 +943,7 @@ public class AccettazionePickingViewModel {
BigDecimal totalNumCnfAvailable,
BigDecimal qtaCnfAvailable,
String partitaMag,
Date dataScad,
LocalDate dataScad,
boolean canPartitaMagBeChanged,
boolean canOverflowQuantity,
RunnableArgss<PickedQuantityDTO, Boolean> onComplete);

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione_picking.dto;
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto;
import org.jetbrains.annotations.NotNull;

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione_picking.dto;
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto;
/**
* Created by GiuseppeS on 21/03/2018.

View File

@ -1,12 +1,13 @@
package it.integry.integrywmsnative.gest.accettazione_picking.dto;
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto;
import java.util.Date;
import java.time.LocalDate;
public class HistoryMtbAartDTO {
private String codMart;
private String barcode;
private String partitaMag;
private Date dataScad;
private LocalDate dataScad;
public String getCodMart() {
return codMart;
@ -17,6 +18,15 @@ public class HistoryMtbAartDTO {
return this;
}
public String getBarcode() {
return barcode;
}
public HistoryMtbAartDTO setBarcode(String barcode) {
this.barcode = barcode;
return this;
}
public String getPartitaMag() {
return partitaMag;
}
@ -26,11 +36,11 @@ public class HistoryMtbAartDTO {
return this;
}
public Date getDataScad() {
public LocalDate getDataScad() {
return dataScad;
}
public HistoryMtbAartDTO setDataScad(Date dataScad) {
public HistoryMtbAartDTO setDataScad(LocalDate dataScad) {
this.dataScad = dataScad;
return this;
}

View File

@ -1,11 +1,11 @@
package it.integry.integrywmsnative.gest.accettazione_picking.dto;
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
public class PickingObjectDTO {

View File

@ -0,0 +1,19 @@
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto;
import java.util.List;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
public class RetrieveAlreadyRegisteredULAccettazioneOrdineRequestDTO {
private List<OrdineAccettazioneInevasoDTO> ordini;
public List<OrdineAccettazioneInevasoDTO> getOrdini() {
return ordini;
}
public RetrieveAlreadyRegisteredULAccettazioneOrdineRequestDTO setOrdini(List<OrdineAccettazioneInevasoDTO> ordini) {
this.ordini = ordini;
return this;
}
}

View File

@ -0,0 +1,19 @@
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto;
import java.util.List;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
public class RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO {
private List<AlreadyRegisteredUDCDTO> udcList;
public List<AlreadyRegisteredUDCDTO> getUdcList() {
return udcList;
}
public RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO setUdcList(List<AlreadyRegisteredUDCDTO> udcList) {
this.udcList = udcList;
return this;
}
}

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione_picking.filters;
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters;
import androidx.databinding.ObservableField;
import androidx.lifecycle.MutableLiveData;
@ -10,7 +10,7 @@ import java.util.List;
import java.util.Objects;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.accettazione_picking.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.PickingObjectDTO;
public class AccettazionePickingFiltroOrdineViewModel {

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione_picking.filters;
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters;
import android.os.Bundle;
import android.view.LayoutInflater;

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione_picking.filters;
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters;
import android.os.Bundle;
import android.view.LayoutInflater;

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione_picking.filters;
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters;
import android.os.Bundle;
import android.view.LayoutInflater;

View File

@ -0,0 +1,55 @@
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.rest;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Singleton;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.RetrieveAlreadyRegisteredULAccettazioneOrdineRequestDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
@Singleton
public class AccettazioneOrdiniPickingRESTConsumer extends _BaseRESTConsumer {
private final SystemRESTConsumer mSystemRestConsumer;
@Inject
public AccettazioneOrdiniPickingRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
this.mSystemRestConsumer = systemRESTConsumer;
}
public void getBancaliGiaRegistrati(List<OrdineAccettazioneInevasoDTO> ordiniToShow, RunnableArgs<List<AlreadyRegisteredUDCDTO>> onComplete, RunnableArgs<Exception> onFailed) {
AccettazioneOrdiniPickingRESTConsumerService service = RESTBuilder.getService(AccettazioneOrdiniPickingRESTConsumerService.class);
var request = new RetrieveAlreadyRegisteredULAccettazioneOrdineRequestDTO()
.setOrdini(ordiniToShow);
service.retrieveAlreadyRegisteredUDC(request)
.enqueue(new Callback<>() {
@Override
public void onResponse(Call<ServiceRESTResponse<RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO>> call, Response<ServiceRESTResponse<RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO>> response) {
analyzeAnswer(response, "retrieveAlreadyRegisteredUDC",
data -> onComplete.run(data.getUdcList() == null ? new ArrayList<>() : data.getUdcList()),
onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO>> call, Throwable t) {
onFailed.run(new Exception(t));
}
});
}
}

View File

@ -0,0 +1,15 @@
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.rest;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.RetrieveAlreadyRegisteredULAccettazioneOrdineRequestDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.POST;
public interface AccettazioneOrdiniPickingRESTConsumerService {
@POST("wms/accettazione/retrieveAlreadyRegisteredUDC")
Call<ServiceRESTResponse<RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO>> retrieveAlreadyRegisteredUDC(@Body RetrieveAlreadyRegisteredULAccettazioneOrdineRequestDTO retrieveAlreadyRegisteredULAccettazioneOrdineRequest);
}

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.gest.accettazione_picking.ui;
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.ui;
import android.content.Context;
import android.graphics.Color;
@ -25,13 +25,13 @@ import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.AccettazioneOrdineInevasoMainListGroupHeaderBinding;
import it.integry.integrywmsnative.databinding.AccettazioneOrdineInevasoMainListGroupItemBinding;
import it.integry.integrywmsnative.gest.accettazione_picking.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.PickingObjectDTO;
public class AccettazioneListAdapter extends SectionedRecyclerViewAdapter<AccettazioneListAdapter.SubheaderHolder, AccettazioneListAdapter.SingleItemViewHolder> {
public class AccettazioneOrdiniPickingListAdapter extends SectionedRecyclerViewAdapter<AccettazioneOrdiniPickingListAdapter.SubheaderHolder, AccettazioneOrdiniPickingListAdapter.SingleItemViewHolder> {
private final Context mContext;
private final boolean mShowSecondaryUntMis;
private final List<AccettazioneListModel> mDataset = new ArrayList<>();
private final List<AccettazioneOrdiniPickingListModel> mDataset = new ArrayList<>();
private RunnableArgs<PickingObjectDTO> mOnItemClicked;
@ -57,7 +57,7 @@ public class AccettazioneListAdapter extends SectionedRecyclerViewAdapter<Accett
}
public AccettazioneListAdapter(AppCompatActivity context, ObservableArrayList<AccettazioneListModel> mutableDataSet, boolean showSecondaryUntMis) {
public AccettazioneOrdiniPickingListAdapter(AppCompatActivity context, ObservableArrayList<AccettazioneOrdiniPickingListModel> mutableDataSet, boolean showSecondaryUntMis) {
this.mContext = context;
this.mShowSecondaryUntMis = showSecondaryUntMis;
@ -92,15 +92,15 @@ public class AccettazioneListAdapter extends SectionedRecyclerViewAdapter<Accett
@Override
public void onBindSubheaderViewHolder(SubheaderHolder subheaderHolder, int nextItemPosition) {
AccettazioneListModel pickingObjectDTO = this.mDataset.get(nextItemPosition);
AccettazioneOrdiniPickingListModel pickingObjectDTO = this.mDataset.get(nextItemPosition);
subheaderHolder.mBinding.spedizioneGroupTitle.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getGroupTitle()) ? View.GONE : View.VISIBLE);
subheaderHolder.mBinding.spedizioneGroupTitle.setText(pickingObjectDTO.getGroupTitle());
subheaderHolder.mBinding.groupTitle.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getGroupTitle()) ? View.GONE : View.VISIBLE);
subheaderHolder.mBinding.groupTitle.setText(pickingObjectDTO.getGroupTitle());
}
@Override
public void onBindItemViewHolder(final SingleItemViewHolder holder, final int position) {
AccettazioneListModel pickingObjectDTO = this.mDataset.get(position);
AccettazioneOrdiniPickingListModel pickingObjectDTO = this.mDataset.get(position);
if (pickingObjectDTO.getQtaEvasa().subtract(pickingObjectDTO.getQtaTot()).floatValue() >= 0) {
holder.mBinding.getRoot().setBackgroundColor(mContext.getResources().getColor(R.color.green_500_with_alpha));
@ -157,8 +157,8 @@ public class AccettazioneListAdapter extends SectionedRecyclerViewAdapter<Accett
if (getItemSize() == 1) return true;
else if (getItemSize() > 1) {
AccettazioneListModel compare1 = this.mDataset.get(position);
AccettazioneListModel compare2 = this.mDataset.get(position + 1);
AccettazioneOrdiniPickingListModel compare1 = this.mDataset.get(position);
AccettazioneOrdiniPickingListModel compare2 = this.mDataset.get(position + 1);
if (UtilityString.equalsIgnoreCase(compare1.getGroupTitle(), compare2.getGroupTitle())) {
return false;

View File

@ -1,12 +1,12 @@
package it.integry.integrywmsnative.gest.accettazione_picking.ui;
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.ui;
import org.jetbrains.annotations.NotNull;
import java.math.BigDecimal;
import it.integry.integrywmsnative.gest.accettazione_picking.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.PickingObjectDTO;
public class AccettazioneListModel implements Cloneable {
public class AccettazioneOrdiniPickingListModel implements Cloneable {
private String groupTitle;
private String badge1;
@ -43,7 +43,7 @@ public class AccettazioneListModel implements Cloneable {
return groupTitle;
}
public AccettazioneListModel setGroupTitle(String groupTitle) {
public AccettazioneOrdiniPickingListModel setGroupTitle(String groupTitle) {
this.groupTitle = groupTitle;
return this;
}
@ -52,7 +52,7 @@ public class AccettazioneListModel implements Cloneable {
return badge1;
}
public AccettazioneListModel setBadge1(String badge1) {
public AccettazioneOrdiniPickingListModel setBadge1(String badge1) {
this.badge1 = badge1;
return this;
}
@ -61,7 +61,7 @@ public class AccettazioneListModel implements Cloneable {
return badge2;
}
public AccettazioneListModel setBadge2(String badge2) {
public AccettazioneOrdiniPickingListModel setBadge2(String badge2) {
this.badge2 = badge2;
return this;
}
@ -70,7 +70,7 @@ public class AccettazioneListModel implements Cloneable {
return descrizione;
}
public AccettazioneListModel setDescrizione(String descrizione) {
public AccettazioneOrdiniPickingListModel setDescrizione(String descrizione) {
this.descrizione = descrizione;
return this;
}
@ -79,7 +79,7 @@ public class AccettazioneListModel implements Cloneable {
return descrizionePresente;
}
public AccettazioneListModel setDescrizionePresente(boolean descrizionePresente) {
public AccettazioneOrdiniPickingListModel setDescrizionePresente(boolean descrizionePresente) {
this.descrizionePresente = descrizionePresente;
return this;
}
@ -88,7 +88,7 @@ public class AccettazioneListModel implements Cloneable {
return subDescrizione1;
}
public AccettazioneListModel setSubDescrizione1(String subDescrizione1) {
public AccettazioneOrdiniPickingListModel setSubDescrizione1(String subDescrizione1) {
this.subDescrizione1 = subDescrizione1;
return this;
}
@ -97,7 +97,7 @@ public class AccettazioneListModel implements Cloneable {
return subDescrizione2;
}
public AccettazioneListModel setSubDescrizione2(String subDescrizione2) {
public AccettazioneOrdiniPickingListModel setSubDescrizione2(String subDescrizione2) {
this.subDescrizione2 = subDescrizione2;
return this;
}
@ -106,7 +106,7 @@ public class AccettazioneListModel implements Cloneable {
return qtaEvasa;
}
public AccettazioneListModel setQtaEvasa(BigDecimal qtaEvasa) {
public AccettazioneOrdiniPickingListModel setQtaEvasa(BigDecimal qtaEvasa) {
this.qtaEvasa = qtaEvasa;
return this;
}
@ -115,7 +115,7 @@ public class AccettazioneListModel implements Cloneable {
return qtaTot;
}
public AccettazioneListModel setQtaTot(BigDecimal qtaTot) {
public AccettazioneOrdiniPickingListModel setQtaTot(BigDecimal qtaTot) {
this.qtaTot = qtaTot;
return this;
}
@ -124,7 +124,7 @@ public class AccettazioneListModel implements Cloneable {
return untMis;
}
public AccettazioneListModel setUntMis(String untMis) {
public AccettazioneOrdiniPickingListModel setUntMis(String untMis) {
this.untMis = untMis;
return this;
}
@ -133,7 +133,7 @@ public class AccettazioneListModel implements Cloneable {
return secQtaEvasa;
}
public AccettazioneListModel setSecQtaEvasa(BigDecimal secQtaEvasa) {
public AccettazioneOrdiniPickingListModel setSecQtaEvasa(BigDecimal secQtaEvasa) {
this.secQtaEvasa = secQtaEvasa;
return this;
}
@ -142,7 +142,7 @@ public class AccettazioneListModel implements Cloneable {
return secQtaTot;
}
public AccettazioneListModel setSecQtaTot(BigDecimal secQtaTot) {
public AccettazioneOrdiniPickingListModel setSecQtaTot(BigDecimal secQtaTot) {
this.secQtaTot = secQtaTot;
return this;
}
@ -151,7 +151,7 @@ public class AccettazioneListModel implements Cloneable {
return secUntMis;
}
public AccettazioneListModel setSecUntMis(String secUntMis) {
public AccettazioneOrdiniPickingListModel setSecUntMis(String secUntMis) {
this.secUntMis = secUntMis;
return this;
}
@ -160,7 +160,7 @@ public class AccettazioneListModel implements Cloneable {
return posizione;
}
public AccettazioneListModel setPosizione(String posizione) {
public AccettazioneOrdiniPickingListModel setPosizione(String posizione) {
this.posizione = posizione;
return this;
}
@ -169,7 +169,7 @@ public class AccettazioneListModel implements Cloneable {
return active;
}
public AccettazioneListModel setActive(boolean active) {
public AccettazioneOrdiniPickingListModel setActive(boolean active) {
this.active = active;
return this;
}
@ -178,7 +178,7 @@ public class AccettazioneListModel implements Cloneable {
return mOriginalModel;
}
public AccettazioneListModel setOriginalModel(PickingObjectDTO mOriginalModel) {
public AccettazioneOrdiniPickingListModel setOriginalModel(PickingObjectDTO mOriginalModel) {
this.mOriginalModel = mOriginalModel;
return this;
}

View File

@ -1,15 +0,0 @@
package it.integry.integrywmsnative.gest.accettazione_picking;
import dagger.Subcomponent;
@Subcomponent
public interface AccettazionePickingComponent {
@Subcomponent.Factory
interface Factory {
AccettazionePickingComponent create();
}
void inject(AccettazionePickingActivity accettazionePickingActivity);
}

View File

@ -1,143 +0,0 @@
package it.integry.integrywmsnative.gest.accettazione_picking.rest;
import com.annimon.stream.Stream;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Singleton;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.core.utility.UtilityQuery;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
@Singleton
public class AccettazionePickingRESTConsumer {
private final SystemRESTConsumer mSystemRestConsumer;
@Inject
public AccettazionePickingRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
this.mSystemRestConsumer = systemRESTConsumer;
}
public void getBancaliGiaRegistrati(List<OrdineAccettazioneInevasoDTO> ordiniToShow, RunnableArgs<ArrayList<RecoverMtbColt>> onComplete, RunnableArgs<Exception> onFailed) {
List<HashMap<String, Object>> whereCondListMap = new ArrayList<>();
Stream
.of(ordiniToShow)
.distinctBy(x -> x.getData() + " " + x.getGestione() + " " + x.getNumero())
.forEach(x -> {
try {
HashMap<String, Object> whereCondMap = new HashMap<>();
whereCondMap.put("mtb_colr.data_ord", UtilityDate.recognizeDate(x.getData()));
whereCondMap.put("mtb_colr.gestione", x.getGestione().equalsIgnoreCase("P") ? "L" : x.getGestione());
whereCondMap.put("mtb_colr.num_ord", x.getNumero());
whereCondListMap.add(whereCondMap);
} catch (Exception ex) {
UtilityLogger.error(ex);
}
});
String sql = "SELECT DISTINCT CAST(CASE WHEN MAX(ISNULL(mtb_colr_scar.num_collo, 0)) = 0 THEN 1 ELSE 0 END AS BIT) AS flagCanBeRecovered, " +
" mtb_colt.gestione," +
" mtb_colt.data_collo," +
" mtb_colt.num_collo," +
" segno," +
" peso_kg," +
" lunghezza_cm," +
" larghezza_cm," +
" altezza_cm," +
" cod_anag," +
" cod_dtip," +
" mtb_colt.data_doc," +
" mtb_colt.ser_doc," +
" mtb_colt.num_doc," +
" rif_ord," +
" mtb_colt.ser_collo," +
" cod_tcol," +
" mtb_colt.data_ord," +
" mtb_colt.num_ord," +
" cod_vdes," +
" cod_mdep," +
" cod_vlis," +
" preparato_da," +
" ora_iniz_prep," +
" ora_fine_prep," +
" filtro_ordini," +
" annotazioni," +
" posizione," +
" cod_dtip_provv," +
" data_doc_provv," +
" ser_doc_provv," +
" num_doc_provv," +
" cod_jfas," +
" data_vers," +
" mtb_colt.peso_netto_kg " +
"FROM mtb_colt" +
" INNER JOIN mtb_colr ON " +
" mtb_colt.gestione = mtb_colr.gestione AND " +
" mtb_colt.ser_collo = mtb_colr.ser_collo AND " +
" mtb_colt.data_collo = mtb_colr.data_collo AND " +
" mtb_colt.num_collo = mtb_colr.num_collo " +
" LEFT OUTER JOIN mtb_colr mtb_colr_scar ON mtb_colr_scar.num_collo_rif = mtb_colr.num_collo AND " +
" mtb_colr_scar.gestione_rif = mtb_colr.gestione AND " +
" mtb_colr_scar.ser_collo_rif = mtb_colr.ser_collo AND " +
" mtb_colr_scar.data_collo_rif = mtb_colr.data_collo " +
" WHERE (" + UtilityQuery.concatFieldListInWhereCond(whereCondListMap) + ") " +
" AND mtb_colt.data_doc IS NULL " +
" GROUP BY mtb_colt.gestione," +
" mtb_colt.data_collo," +
" mtb_colt.num_collo," +
" segno," +
" peso_kg," +
" lunghezza_cm," +
" larghezza_cm," +
" altezza_cm," +
" cod_anag," +
" cod_dtip," +
" mtb_colt.data_doc," +
" mtb_colt.ser_doc," +
" mtb_colt.num_doc," +
" rif_ord," +
" mtb_colt.ser_collo," +
" cod_tcol," +
" mtb_colt.data_ord," +
" mtb_colt.num_ord," +
" cod_vdes," +
" cod_mdep," +
" cod_vlis," +
" preparato_da," +
" ora_iniz_prep," +
" ora_fine_prep," +
" filtro_ordini," +
" annotazioni," +
" posizione," +
" cod_dtip_provv," +
" data_doc_provv," +
" ser_doc_provv," +
" num_doc_provv," +
" cod_jfas," +
" data_vers," +
" mtb_colt.peso_netto_kg";
Type typeOfObjectsList = new TypeToken<ArrayList<RecoverMtbColt>>() {
}.getType();
mSystemRestConsumer.<ArrayList<RecoverMtbColt>>processSql(sql, typeOfObjectsList, value -> {
if (onComplete != null) onComplete.run(value);
}, onFailed);
}
}

View File

@ -1,17 +0,0 @@
package it.integry.integrywmsnative.gest.accettazione_picking.rest;
import it.integry.integrywmsnative.core.model.MtbColt;
public class RecoverMtbColt extends MtbColt {
private boolean flagCanBeRecovered;
public boolean isFlagCanBeRecovered() {
return flagCanBeRecovered;
}
public RecoverMtbColt setFlagCanBeRecovered(boolean flagCanBeRecovered) {
this.flagCanBeRecovered = flagCanBeRecovered;
return this;
}
}

View File

@ -1,6 +1,7 @@
package it.integry.integrywmsnative.gest.contab_doc_interni.dto;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
public class ArtDTO {
@ -25,7 +26,7 @@ public class ArtDTO {
private String partitaMag;
private Date dataScad;
private LocalDate dataScad;
private String systemNote;
private String codAlis;
@ -110,11 +111,11 @@ public class ArtDTO {
this.partitaMag = partitaMag;
}
public Date getDataScad() {
public LocalDate getDataScad() {
return dataScad;
}
public void setDataScad(Date dataScad) {
public void setDataScad(LocalDate dataScad) {
this.dataScad = dataScad;
}

View File

@ -13,9 +13,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import com.annimon.stream.Stream;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import javax.inject.Inject;
@ -265,11 +263,11 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
.setCanPartitaMagBeChanged(flagTracciabilita)
.setNumCnfEditable(false)
.setSuggestPartitaMag(data -> {
Date dataScad = data.getDataScad();
var dataScad = data.getDataScad();
String partitaMag = null;
if (dataScad != null) {
partitaMag = new SimpleDateFormat("yyyymmdd").format(dataScad);
}
if (dataScad != null) partitaMag = UtilityDate.formatDate(dataScad, "yyyymmdd");
return partitaMag;
});

View File

@ -187,7 +187,10 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
private void cyclicRecover(Iterator<Integer> sessionsIterator, Runnable onComplete, RunnableArgs<Exception> onFailed) {
RunnableArgss<Exception, Integer> tmpOnFailed = (ex, recoveredMtbColtID) -> {
if (ex.getMessage().contains("Dati entity mtb_colt non trovati") || ex.getMessage().contains("Dati collo non corretti") || (ex.getMessage().contains("Il collo numero") && ex.getMessage().contains("non esiste"))) {
if (ex.getMessage().contains("Dati entity mtb_colt non trovati") ||
ex.getMessage().contains("Dati collo non corretti") ||
(ex.getMessage().contains("Il collo numero") && ex.getMessage().contains("non esiste")) ||
ex.getMessage().contains("Impossibile eliminare un collo agganciato a documento")) {
colliDataRecoverService.closeSession(recoveredMtbColtID);
onFailed.run(ex);
} else {

View File

@ -291,7 +291,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
v -> initBottomSheetDialogFilter(filterChipDTO));
switch (filterChipDTO.getID()) {
case OrdiniUscitaElencoBindings.DEPOSITO_FILTER_ID:
case OrdiniUscitaElencoBindings.DEPOSITO_FILTER_ID -> {
mAppliedFilterViewModel.getCurrentDepositoPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
@Override
public void run() {
@ -311,9 +311,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
}
});
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentDepositoPredicate().set(null));
break;
case OrdiniUscitaElencoBindings.VIAGGIO_FILTER_ID:
}
case OrdiniUscitaElencoBindings.VIAGGIO_FILTER_ID -> {
mAppliedFilterViewModel.getCurrentIdViaggioPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
@Override
public void run() {
@ -333,9 +332,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
}
});
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentIdViaggioPredicate().set(null));
break;
case OrdiniUscitaElencoBindings.NUM_ORD_FILTER_ID:
}
case OrdiniUscitaElencoBindings.NUM_ORD_FILTER_ID -> {
mAppliedFilterViewModel.getCurrentNumOrdsPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
@Override
public void run() {
@ -355,9 +353,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
}
});
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentNumOrdsPredicate().set(null));
break;
case OrdiniUscitaElencoBindings.CLIENTE_FILTER_ID:
}
case OrdiniUscitaElencoBindings.CLIENTE_FILTER_ID -> {
mAppliedFilterViewModel.getCurrentClientePredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
@Override
public void run() {
@ -377,9 +374,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
}
});
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentClientePredicate().set(null));
break;
case OrdiniUscitaElencoBindings.VETTORE_FILTER_ID:
}
case OrdiniUscitaElencoBindings.VETTORE_FILTER_ID -> {
mAppliedFilterViewModel.getCurrentVettorePredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
@Override
public void run() {
@ -399,9 +395,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
}
});
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentVettorePredicate().set(null));
break;
case OrdiniUscitaElencoBindings.AUTOMEZZO_FILTER_ID:
}
case OrdiniUscitaElencoBindings.AUTOMEZZO_FILTER_ID -> {
mAppliedFilterViewModel.getCurrentAutomezzoPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
@Override
public void run() {
@ -421,9 +416,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
}
});
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentAutomezzoPredicate().set(null));
break;
case OrdiniUscitaElencoBindings.PAESE_FILTER_ID:
}
case OrdiniUscitaElencoBindings.PAESE_FILTER_ID -> {
mAppliedFilterViewModel.getCurrentPaesePredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
@Override
public void run() {
@ -443,9 +437,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
}
});
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentPaesePredicate().set(null));
break;
case OrdiniUscitaElencoBindings.AGENTE_FILTER_ID:
}
case OrdiniUscitaElencoBindings.AGENTE_FILTER_ID -> {
mAppliedFilterViewModel.getCurrentAgentePredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
@Override
public void run() {
@ -465,9 +458,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
}
});
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentAgentePredicate().set(null));
break;
case OrdiniUscitaElencoBindings.TERM_CONS_FILTER_ID:
}
case OrdiniUscitaElencoBindings.TERM_CONS_FILTER_ID -> {
mAppliedFilterViewModel.getCurrentTermConsPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
@Override
public void run() {
@ -487,9 +479,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
}
});
filterChipView.setOnResetClicked(() -> mAppliedFilterViewModel.getCurrentTermConsPredicate().set(null));
break;
case OrdiniUscitaElencoBindings.DATA_CONS_FILTER_ID:
}
case OrdiniUscitaElencoBindings.DATA_CONS_FILTER_ID -> {
mAppliedFilterViewModel.getCurrentDataConsPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
@Override
public void run() {
@ -512,9 +503,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
mAppliedFilterViewModel.setDataConsegnaFilter(null);
mAppliedFilterViewModel.getCurrentDataConsPredicate().set(null);
});
break;
case OrdiniUscitaElencoBindings.GRUPPO_MERC_FILTER_ID:
}
case OrdiniUscitaElencoBindings.GRUPPO_MERC_FILTER_ID -> {
mAppliedFilterViewModel.getCurrentGruppoMercPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
@Override
public void run() {
@ -537,9 +527,8 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
mAppliedFilterViewModel.setGruppoMercFilter(null);
mAppliedFilterViewModel.getCurrentGruppoMercPredicate().set(null);
});
break;
case OrdiniUscitaElencoBindings.COMMESSA_FILTER_ID:
}
case OrdiniUscitaElencoBindings.COMMESSA_FILTER_ID -> {
mAppliedFilterViewModel.getCurrentCommessaPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
@Override
public void run() {
@ -562,8 +551,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
mAppliedFilterViewModel.setCommessaFilter(null);
mAppliedFilterViewModel.getCurrentCommessaPredicate().set(null);
});
break;
}
}
this.mBindings.filterChipsGroup.addView(filterChipView);
@ -596,143 +584,122 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
.getFilterLayoutView();
switch (filterChipDTO.getID()) {
case OrdiniUscitaElencoBindings.COMMESSA_FILTER_ID:
((FilterCommessaLayoutView) filterLayoutView)
.setAllCommesse(mAppliedFilterViewModel.getAllCommesse(this.jtbComtCache))
.setAvailableCommesse(mAppliedFilterViewModel.getAvailableCommesse(this.jtbComtCache))
.setOnFilterApplied(mAppliedFilterViewModel::setCommessaFilter)
.setPreSelectedCommesse(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentCommessaPredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentCommessaPredicate().get())
.map(x -> Stream.of(jtbComtCache).filter(y -> x.getCodJcom().equalsIgnoreCase(y.getCodJcom())).findFirst().get())
.toList());
break;
case OrdiniUscitaElencoBindings.DEPOSITO_FILTER_ID:
((FilterDepositoLayoutView) filterLayoutView)
.setAllCodMdeps(mAppliedFilterViewModel.getAllCodMdeps(mtbDepoCache))
.setAvailableCodMdeps(mAppliedFilterViewModel.getAvailableCodMdeps(mtbDepoCache))
.setOnFilterApplied(mAppliedFilterViewModel::setDepositoFilter)
.setPreSelectedCodMdeps(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentDepositoPredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentDepositoPredicate().get())
.map(x -> Stream.of(mtbDepoCache).filter(y -> x.getCodMdep().equalsIgnoreCase(y.getCodMdep())).findFirst().get())
.toList());
break;
case OrdiniUscitaElencoBindings.VIAGGIO_FILTER_ID:
((FilterViaggioLayoutView) filterLayoutView)
.setAllIDViaggio(mAppliedFilterViewModel.getAllIDViaggio())
.setAvailableIDViaggio(mAppliedFilterViewModel.getAvailableIDViaggio())
.setOnFilterApplied(mAppliedFilterViewModel::setIDViaggioFilter)
.setPreSelectedIDViaggio(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentIdViaggioPredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentIdViaggioPredicate().get())
.map(OrdineUscitaInevasoDTO::getIdViaggio)
.toList());
break;
case OrdiniUscitaElencoBindings.NUM_ORD_FILTER_ID:
((FilterNumeroOrdineLayoutView) filterLayoutView)
.setAllNumOrds(mAppliedFilterViewModel.getAllNumOrds())
.setAvailableNumOrds(mAppliedFilterViewModel.getAvailableNumOrds())
.setOnFilterApplied(mAppliedFilterViewModel::setNumOrdFilter)
.setPreSelectedNumOrds(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentNumOrdsPredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentNumOrdsPredicate().get())
.map(OrdineUscitaInevasoDTO::getNumOrd)
.toList());
break;
case OrdiniUscitaElencoBindings.CLIENTE_FILTER_ID:
((FilterClienteLayoutView) filterLayoutView)
.setAllClienti(mAppliedFilterViewModel.getAllClienti())
.setAvailableClienti(mAppliedFilterViewModel.getAvailableClienti())
.setOnFilterApplied(mAppliedFilterViewModel::setClienteFilter)
.setPreSelectedClienti(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentClientePredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentClientePredicate().get())
.map(OrdineUscitaInevasoDTO::getRagSocOrd)
.toList());
break;
case OrdiniUscitaElencoBindings.VETTORE_FILTER_ID:
((FilterVettoreLayoutView) filterLayoutView)
.setAllVettori(mAppliedFilterViewModel.getAllVettori())
.setAvailableVettori(mAppliedFilterViewModel.getAvailableVettori())
.setOnFilterApplied(mAppliedFilterViewModel::setVettoreFilter)
.setPreSelectedVettori(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentVettorePredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentVettorePredicate().get())
.map(x -> x.getCodVvet() + (!UtilityString.isNullOrEmpty(x.getCodVvet()) ? " - " + x.getDescrizioneVettore() : ""))
.toList());
break;
case OrdiniUscitaElencoBindings.AUTOMEZZO_FILTER_ID:
((FilterAutomezzoLayoutView) filterLayoutView)
.setAllAutomezzi(mAppliedFilterViewModel.getAllAutomezzi())
.setAvailableAutomezzi(mAppliedFilterViewModel.getAvailableAutomezzi())
.setOnFilterApplied(mAppliedFilterViewModel::setAutomezzoFilter)
.setPreSelectedAutomezzi(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentAutomezzoPredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentAutomezzoPredicate().get())
.map(OrdineUscitaInevasoDTO::getDescrizioneAuto)
.toList());
break;
case OrdiniUscitaElencoBindings.PAESE_FILTER_ID:
((FilterPaeseLayoutView) filterLayoutView)
.setAllPaesi(mAppliedFilterViewModel.getAllPaesi())
.setAvailablePaesi(mAppliedFilterViewModel.getAvailablePaesi())
.setOnFilterApplied(mAppliedFilterViewModel::setPaeseFilter)
.setPreSelectedPaesi(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentPaesePredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentPaesePredicate().get())
.map(OrdineUscitaInevasoDTO::getCitta)
.toList());
break;
case OrdiniUscitaElencoBindings.AGENTE_FILTER_ID:
((FilterAgenteLayoutView) filterLayoutView)
.setAllAgenti(mAppliedFilterViewModel.getAllAgenti())
.setAvailableAgenti(mAppliedFilterViewModel.getAvailableAgenti())
.setOnFilterApplied(mAppliedFilterViewModel::setAgenteFilter)
.setPreSelectedAgenti(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentAgentePredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentAgentePredicate().get())
.map(OrdineUscitaInevasoDTO::getCitta)
.toList());
break;
case OrdiniUscitaElencoBindings.TERM_CONS_FILTER_ID:
((FilterTermConsLayoutView) filterLayoutView)
.setAllTermCons(mAppliedFilterViewModel.getAllTermCons())
.setAvailableTermCons(mAppliedFilterViewModel.getAvailableTermCons())
.setOnFilterApplied(mAppliedFilterViewModel::setTerminiConsegnaFilter)
.setPreSelectedTermCons(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentTermConsPredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentTermConsPredicate().get())
.map(OrdineUscitaInevasoDTO::getCitta)
.toList());
break;
case OrdiniUscitaElencoBindings.GRUPPO_MERC_FILTER_ID:
((FilterGruppoMercLayoutView) filterLayoutView)
.setAllGroupMerc(mAppliedFilterViewModel.getAllGruppoMerc(mtbGrupCache))
.setAvailableGroupMerc(mAppliedFilterViewModel.getAvailableGruppoMerc(mtbGrupCache))
.setOnFilterApplied(mAppliedFilterViewModel::setGruppoMercFilter)
.setPreSelectedGroupMerc(mAppliedFilterViewModel.getSelectedMtbGrup());
break;
case OrdiniUscitaElencoBindings.COMMESSA_FILTER_ID ->
((FilterCommessaLayoutView) filterLayoutView)
.setAllCommesse(mAppliedFilterViewModel.getAllCommesse(this.jtbComtCache))
.setAvailableCommesse(mAppliedFilterViewModel.getAvailableCommesse(this.jtbComtCache))
.setOnFilterApplied(mAppliedFilterViewModel::setCommessaFilter)
.setPreSelectedCommesse(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentCommessaPredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentCommessaPredicate().get())
.map(x -> Stream.of(jtbComtCache).filter(y -> x.getCodJcom().equalsIgnoreCase(y.getCodJcom())).findFirst().get())
.toList());
case OrdiniUscitaElencoBindings.DEPOSITO_FILTER_ID ->
((FilterDepositoLayoutView) filterLayoutView)
.setAllCodMdeps(mAppliedFilterViewModel.getAllCodMdeps(mtbDepoCache))
.setAvailableCodMdeps(mAppliedFilterViewModel.getAvailableCodMdeps(mtbDepoCache))
.setOnFilterApplied(mAppliedFilterViewModel::setDepositoFilter)
.setPreSelectedCodMdeps(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentDepositoPredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentDepositoPredicate().get())
.map(x -> Stream.of(mtbDepoCache).filter(y -> x.getCodMdep().equalsIgnoreCase(y.getCodMdep())).findFirst().get())
.toList());
case OrdiniUscitaElencoBindings.VIAGGIO_FILTER_ID ->
((FilterViaggioLayoutView) filterLayoutView)
.setAllIDViaggio(mAppliedFilterViewModel.getAllIDViaggio())
.setAvailableIDViaggio(mAppliedFilterViewModel.getAvailableIDViaggio())
.setOnFilterApplied(mAppliedFilterViewModel::setIDViaggioFilter)
.setPreSelectedIDViaggio(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentIdViaggioPredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentIdViaggioPredicate().get())
.map(OrdineUscitaInevasoDTO::getIdViaggio)
.toList());
case OrdiniUscitaElencoBindings.NUM_ORD_FILTER_ID ->
((FilterNumeroOrdineLayoutView) filterLayoutView)
.setAllNumOrds(mAppliedFilterViewModel.getAllNumOrds())
.setAvailableNumOrds(mAppliedFilterViewModel.getAvailableNumOrds())
.setOnFilterApplied(mAppliedFilterViewModel::setNumOrdFilter)
.setPreSelectedNumOrds(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentNumOrdsPredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentNumOrdsPredicate().get())
.map(OrdineUscitaInevasoDTO::getNumOrd)
.toList());
case OrdiniUscitaElencoBindings.CLIENTE_FILTER_ID ->
((FilterClienteLayoutView) filterLayoutView)
.setAllClienti(mAppliedFilterViewModel.getAllClienti())
.setAvailableClienti(mAppliedFilterViewModel.getAvailableClienti())
.setOnFilterApplied(mAppliedFilterViewModel::setClienteFilter)
.setPreSelectedClienti(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentClientePredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentClientePredicate().get())
.map(OrdineUscitaInevasoDTO::getRagSocOrd)
.toList());
case OrdiniUscitaElencoBindings.VETTORE_FILTER_ID ->
((FilterVettoreLayoutView) filterLayoutView)
.setAllVettori(mAppliedFilterViewModel.getAllVettori())
.setAvailableVettori(mAppliedFilterViewModel.getAvailableVettori())
.setOnFilterApplied(mAppliedFilterViewModel::setVettoreFilter)
.setPreSelectedVettori(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentVettorePredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentVettorePredicate().get())
.map(x -> x.getCodVvet() + (!UtilityString.isNullOrEmpty(x.getCodVvet()) ? " - " + x.getDescrizioneVettore() : ""))
.toList());
case OrdiniUscitaElencoBindings.AUTOMEZZO_FILTER_ID ->
((FilterAutomezzoLayoutView) filterLayoutView)
.setAllAutomezzi(mAppliedFilterViewModel.getAllAutomezzi())
.setAvailableAutomezzi(mAppliedFilterViewModel.getAvailableAutomezzi())
.setOnFilterApplied(mAppliedFilterViewModel::setAutomezzoFilter)
.setPreSelectedAutomezzi(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentAutomezzoPredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentAutomezzoPredicate().get())
.map(OrdineUscitaInevasoDTO::getDescrizioneAuto)
.toList());
case OrdiniUscitaElencoBindings.PAESE_FILTER_ID ->
((FilterPaeseLayoutView) filterLayoutView)
.setAllPaesi(mAppliedFilterViewModel.getAllPaesi())
.setAvailablePaesi(mAppliedFilterViewModel.getAvailablePaesi())
.setOnFilterApplied(mAppliedFilterViewModel::setPaeseFilter)
.setPreSelectedPaesi(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentPaesePredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentPaesePredicate().get())
.map(OrdineUscitaInevasoDTO::getCitta)
.toList());
case OrdiniUscitaElencoBindings.AGENTE_FILTER_ID ->
((FilterAgenteLayoutView) filterLayoutView)
.setAllAgenti(mAppliedFilterViewModel.getAllAgenti())
.setAvailableAgenti(mAppliedFilterViewModel.getAvailableAgenti())
.setOnFilterApplied(mAppliedFilterViewModel::setAgenteFilter)
.setPreSelectedAgenti(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentAgentePredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentAgentePredicate().get())
.map(OrdineUscitaInevasoDTO::getCitta)
.toList());
case OrdiniUscitaElencoBindings.TERM_CONS_FILTER_ID ->
((FilterTermConsLayoutView) filterLayoutView)
.setAllTermCons(mAppliedFilterViewModel.getAllTermCons())
.setAvailableTermCons(mAppliedFilterViewModel.getAvailableTermCons())
.setOnFilterApplied(mAppliedFilterViewModel::setTerminiConsegnaFilter)
.setPreSelectedTermCons(Stream.of(Objects.requireNonNull(mViewModel.getOrderList().getValue()))
.filter(mAppliedFilterViewModel.getCurrentTermConsPredicate().get() == null ?
x -> false :
mAppliedFilterViewModel.getCurrentTermConsPredicate().get())
.map(OrdineUscitaInevasoDTO::getCitta)
.toList());
case OrdiniUscitaElencoBindings.GRUPPO_MERC_FILTER_ID ->
((FilterGruppoMercLayoutView) filterLayoutView)
.setAllGroupMerc(mAppliedFilterViewModel.getAllGruppoMerc(mtbGrupCache))
.setAvailableGroupMerc(mAppliedFilterViewModel.getAvailableGruppoMerc(mtbGrupCache))
.setOnFilterApplied(mAppliedFilterViewModel::setGruppoMercFilter)
.setPreSelectedGroupMerc(mAppliedFilterViewModel.getSelectedMtbGrup());
}
if (!filterLayoutView.isAdded())

View File

@ -22,7 +22,7 @@ import it.integry.integrywmsnative.databinding.FragmentMainOrdiniUscitaListModel
public class OrdiniUscitaElencoAdapter extends ExtendedSectionedRecyclerView<OrdiniUscitaElencoListModel, OrdiniUscitaElencoAdapter.SubheaderHolder, OrdiniUscitaElencoAdapter.SingleItemViewHolder> {
private Context mContext;
private final Context mContext;
private RunnableArgs<String> mOnGroupItemClicked;
private RunnableArgs<OrdiniUscitaElencoListModel> mOnItemChecked;
@ -141,17 +141,9 @@ public class OrdiniUscitaElencoAdapter extends ExtendedSectionedRecyclerView<Ord
OrdiniUscitaElencoListModel compare1 = this.mDataset.get(position);
OrdiniUscitaElencoListModel compare2 = this.mDataset.get(position + 1);
if (UtilityString.equalsIgnoreCase(compare1.getGroupTitle(), compare2.getGroupTitle())) {
return false;
}
return !UtilityString.equalsIgnoreCase(compare1.getGroupTitle(), compare2.getGroupTitle());
}
return true;
}
@Override
public int getItemSize() {
return mDataset.size();
}
}

View File

@ -18,8 +18,8 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import com.tfb.fbtoast.FBToast;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.inject.Inject;
@ -311,7 +311,7 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme
BigDecimal totalNumCnfToBeTaken,
BigDecimal qtaCnfToBeTaken,
String partitaMag,
Date dataScad,
LocalDate dataScad,
boolean canOverflowOrderQuantity,
boolean canPartitaMagBeChanged,
boolean canLUBeClosed,

View File

@ -5,8 +5,8 @@ import androidx.databinding.ObservableArrayList;
import com.annimon.stream.Stream;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
@ -254,7 +254,7 @@ public class PickingLiberoViewModel {
}
private void loadArticolo(String barcodeProd, Ean128Model ean128Model, Runnable onComplete) {
mArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
mArticoloRESTConsumer.searchByBarcode(barcodeProd, mtbAartList -> {
if (mtbAartList != null && mtbAartList.size() > 0) {
MtbAart articolo = mtbAartList.get(0);
MtbDepoPosizione posizione = UtilityPosizione.getFromCache(articolo.getPosizione());
@ -344,7 +344,7 @@ public class PickingLiberoViewModel {
BigDecimal initialQtaTot;
String partitaMag = null;
Date dataScad = null;
LocalDate dataScad = null;
if (pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getManualPickDTO() != null) {
//Oppure le info del barcode scansionato
@ -388,7 +388,7 @@ public class PickingLiberoViewModel {
if (manualPickDTO.getMtbPartitaMag() != null) {
partitaMag = manualPickDTO.getMtbPartitaMag().getPartitaMag();
dataScad = manualPickDTO.getMtbPartitaMag().getDataScadD();
dataScad = manualPickDTO.getMtbPartitaMag().getDataScad();
}
initialNumCnf = numCnfDaPrelevare;
@ -560,7 +560,7 @@ public class PickingLiberoViewModel {
null,
null,
mtbColr.getPartitaMag(),
mtbColr.getDataScadPartitaD(),
mtbColr.getDataScadPartita(),
false,
false,
false,
@ -579,7 +579,7 @@ public class PickingLiberoViewModel {
}
public void saveNewRow(PickingObjectDTO pickingObjectDTO, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
public void saveNewRow(PickingObjectDTO pickingObjectDTO, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
new Thread(this::sendOnLoadingStarted).start();
@ -706,7 +706,7 @@ public class PickingLiberoViewModel {
null,
null,
mtbColrToUpdate.getPartitaMag(),
mtbColrToUpdate.getDataScadPartitaD(),
mtbColrToUpdate.getDataScadPartita(),
false,
false,
true,
@ -726,7 +726,7 @@ public class PickingLiberoViewModel {
}
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
this.sendOnLoadingStarted();
@ -885,7 +885,7 @@ public class PickingLiberoViewModel {
BigDecimal totalNumCnfToBeTaken,
BigDecimal qtaCnfToBeTaken,
String partitaMag,
Date dataScad,
LocalDate dataScad,
boolean canOverflowOrderQuantity,
boolean canPartitaMagBeChanged,
boolean canLUBeClosed,
@ -938,7 +938,7 @@ public class PickingLiberoViewModel {
BigDecimal totalNumCnfToBeTaken,
BigDecimal qtaCnfToBeTaken,
String partitaMag,
Date dataScad,
LocalDate dataScad,
boolean canOverflowOrderQuantity,
boolean canPartitaMagBeChanged,
boolean canLUBeClosed,

View File

@ -14,8 +14,8 @@ import com.annimon.stream.Stream;
import com.tfb.fbtoast.FBToast;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.inject.Inject;
@ -301,7 +301,7 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
BigDecimal totalNumCnfAvailable,
BigDecimal qtaCnfAvailable,
String partitaMag,
Date dataScad,
LocalDate dataScad,
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
.setMtbAart(mtbAart)

View File

@ -7,8 +7,8 @@ import com.annimon.stream.Optional;
import com.annimon.stream.Stream;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.inject.Inject;
@ -490,7 +490,7 @@ public class PickingResiViewModel {
totalAvailableNumCnf,
totalAvailableQtaCnf,
withdrawableDtbDocr.getPartitaMag(),
withdrawableDtbDocr.getDataScadPartitaMagD(),
withdrawableDtbDocr.getDataScadPartitaMag(),
(pickedQuantityDTO, shouldCloseLU) -> {
this.saveNewRow(withdrawableDtbDocr,
@ -515,7 +515,7 @@ public class PickingResiViewModel {
null,
null,
mtbColrToEdit.getPartitaMag(),
mtbColrToEdit.getDataScadPartitaD(),
mtbColrToEdit.getDataScadPartita(),
(pickedQuantityDTO, shouldCloseLU) -> {
this.saveEditedRow(mtbColrToEdit,
@ -529,7 +529,7 @@ public class PickingResiViewModel {
}
public void saveNewRow(WithdrawableDtbDocr withdrawableDtbDocr, MtbColt refMtbColt, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
public void saveNewRow(WithdrawableDtbDocr withdrawableDtbDocr, MtbColt refMtbColt, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
this.sendOnLoadingStarted();
final MtbColr mtbColr = new MtbColr()
@ -628,7 +628,7 @@ public class PickingResiViewModel {
}, this::sendError);
}
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
this.sendOnLoadingStarted();
@ -776,7 +776,7 @@ public class PickingResiViewModel {
BigDecimal totalNumCnfAvailable,
BigDecimal qtaCnfAvailable,
String partitaMag,
Date dataScad,
LocalDate dataScad,
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
if (this.mListener != null) mListener.onItemDispatched(mtbAart,
initialNumCnf,
@ -822,7 +822,7 @@ public class PickingResiViewModel {
BigDecimal totalNumCnfAvailable,
BigDecimal qtaCnfAvailable,
String partitaMag,
Date dataScad,
LocalDate dataScad,
RunnableArgss<PickedQuantityDTO, Boolean> onComplete);
void onFilterApplied(String newValue);

View File

@ -38,9 +38,9 @@ import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.databinding.FragmentProdOrdineProduzioneElencoBinding;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione_picking.AccettazionePickingActivity;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingActivity;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterNumeroOrdineLayoutView;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.filters.FilterCommessaLayoutView;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.filters.OrdineProduzioneFilterViewModel;
@ -363,7 +363,7 @@ public class ProdOrdineProduzioneElencoFragment extends BaseFragment implements
String cacheSitArtItemID = DataCache.addItem(sitArts);
String cacheOrdersItemID = DataCache.addItem(orders);
Intent myIntent = new Intent(getActivity(), AccettazionePickingActivity.class);
Intent myIntent = new Intent(getActivity(), AccettazioneOrdiniPickingActivity.class);
myIntent.putExtra("keyOrders", cacheOrdersItemID);
myIntent.putExtra("keySitArts", cacheSitArtItemID);
getActivity().startActivity(myIntent);

View File

@ -7,8 +7,8 @@ import java.util.List;
import javax.inject.Inject;
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.rest.ProdOrdineProduzioneRESTConsumer;
public class ProdOrdineProduzioneElencoViewModel {

View File

@ -10,7 +10,7 @@ import java.util.List;
import java.util.Objects;
import it.integry.integrywmsnative.core.model.JtbComt;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
public class OrdineProduzioneFilterViewModel {
private final ObservableField<Predicate<OrdineAccettazioneInevasoDTO>> currentNumOrdsPredicate = new ObservableField<>();

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