Finish v1.40.15(432)
This commit is contained in:
commit
7b132def2a
9
.idea/fileTemplates/Android Dialog.java
generated
9
.idea/fileTemplates/Android Dialog.java
generated
@ -84,6 +84,11 @@ Create the following layout resource file [dialog_${dashName}.xml]
|
||||
|
||||
private Dialog${NAME}View() {
|
||||
super();
|
||||
|
||||
MainApplication.appComponent
|
||||
.dialog${NAME}Component()
|
||||
.create()
|
||||
.inject(this);
|
||||
}
|
||||
|
||||
|
||||
@ -105,10 +110,6 @@ Create the following layout resource file [dialog_${dashName}.xml]
|
||||
[b] into interface body
|
||||
Dialog${NAME}Component.Factory dialog${NAME}Component();
|
||||
*/
|
||||
MainApplication.appComponent
|
||||
.dialog${NAME}Component()
|
||||
.create()
|
||||
.inject(this);
|
||||
|
||||
setCancelable(false);
|
||||
|
||||
|
||||
@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
|
||||
|
||||
android {
|
||||
|
||||
def appVersionCode = 430
|
||||
def appVersionName = '1.40.13'
|
||||
def appVersionCode = 432
|
||||
def appVersionName = '1.40.15'
|
||||
|
||||
signingConfigs {
|
||||
release {
|
||||
|
||||
@ -33,31 +33,25 @@
|
||||
android:requestLegacyExternalStorage="true">
|
||||
<activity
|
||||
android:name=".gest.spedizione.SpedizioneActivity"
|
||||
android:theme="@style/Light"
|
||||
android:windowSoftInputMode="adjustNothing"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity"
|
||||
android:theme="@style/Light"
|
||||
android:windowSoftInputMode="adjustNothing"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.prod_dettaglio_linea.ProdDettaglioLineaActivity"
|
||||
android:theme="@style/Light"
|
||||
android:windowSoftInputMode="adjustNothing"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.contab_doc_interni.edit_form.DocInterniEditFormActivity"
|
||||
android:theme="@style/Light"
|
||||
android:windowSoftInputMode="adjustNothing"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.picking_resi.PickingResiActivity"
|
||||
android:theme="@style/Light"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.main.MainActivity"
|
||||
android:theme="@style/Light"
|
||||
android:windowSoftInputMode="adjustNothing"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
@ -68,28 +62,23 @@
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".gest.login.LoginActivity"
|
||||
android:theme="@style/Light"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.accettazione_ordini_picking.AccettazioneOrdiniPickingActivity"
|
||||
android:theme="@style/Light"
|
||||
android:windowSoftInputMode="adjustNothing"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.lista_bancali.ListaBancaliActivity"
|
||||
android:label="@string/activity_lista_bancali_title"
|
||||
android:theme="@style/Light"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.contenuto_bancale.ContenutoBancaleActivity"
|
||||
android:label="@string/activity_contenuto_bancale_title"
|
||||
android:theme="@style/Light"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.inventario.picking.PickingInventarioActivity"
|
||||
android:label="@string/activity_picking_inventario_title"
|
||||
android:windowSoftInputMode="adjustNothing"
|
||||
android:theme="@style/Light"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden"/>
|
||||
|
||||
<meta-data
|
||||
@ -110,8 +99,7 @@
|
||||
|
||||
<activity
|
||||
android:name=".gest.accettazione_bolla_picking.AccettazioneBollaPickingActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Light" />
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<provider
|
||||
android:name=".core.update.GenericFileProvider"
|
||||
|
||||
@ -19,6 +19,8 @@ import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazi
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoModule;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingComponent;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingModule;
|
||||
import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaComponent;
|
||||
import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaModule;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniComponent;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniModule;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectDocInfoComponent;
|
||||
@ -29,8 +31,6 @@ import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.sele
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsModule;
|
||||
import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleComponent;
|
||||
import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleModule;
|
||||
import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaComponent;
|
||||
import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaModule;
|
||||
import it.integry.integrywmsnative.gest.inventario.ElencoInventariComponent;
|
||||
import it.integry.integrywmsnative.gest.inventario.ElencoInventariModule;
|
||||
import it.integry.integrywmsnative.gest.inventario.bottom_sheet__inventario_actions.BottomSheetInventarioActionsComponent;
|
||||
@ -114,6 +114,8 @@ import it.integry.integrywmsnative.view.dialogs.ask_linea_prod.DialogAskLineaPro
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_linea_prod.DialogAskLineaProdModule;
|
||||
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.ask_vettore.DialogAskVettoreComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_vettore.DialogAskVettoreModule;
|
||||
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;
|
||||
@ -138,6 +140,8 @@ import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiModule;
|
||||
|
||||
// Definition of the Application graph
|
||||
@Singleton
|
||||
@ -209,7 +213,9 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr
|
||||
DialogAskLineaProdModule.class,
|
||||
ProdRiposizionamentoDaProdModule.class,
|
||||
DialogInfoGiacenzaModule.class,
|
||||
ArticoliInGiacenzaModule.class
|
||||
ArticoliInGiacenzaModule.class,
|
||||
DialogTracciamentoImballiModule.class,
|
||||
DialogAskVettoreModule.class
|
||||
})
|
||||
public interface MainApplicationComponent {
|
||||
|
||||
@ -351,6 +357,10 @@ public interface MainApplicationComponent {
|
||||
|
||||
ArticoliInGiacenzaComponent.Factory controlloGiacenzeComponent();
|
||||
|
||||
DialogTracciamentoImballiComponent.Factory dialogTracciamentoImballiComponent();
|
||||
|
||||
DialogAskVettoreComponent.Factory dialogAskVettoreComponent();
|
||||
|
||||
void inject(MainApplication mainApplication);
|
||||
|
||||
void inject(AppContext mainApplication);
|
||||
|
||||
@ -32,6 +32,7 @@ import it.integry.integrywmsnative.core.rest.consumers.DocumentRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.EntityRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.GiacenzaRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoBufferRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
|
||||
@ -42,6 +43,7 @@ import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ProductionLinesRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.VettoriRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.services.inventario.InventarioService;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.sound.SoundAlertService;
|
||||
@ -172,8 +174,8 @@ public class MainApplicationModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
MagazzinoRESTConsumer provideMagazzinoRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
||||
return new MagazzinoRESTConsumer(systemRESTConsumer);
|
||||
MagazzinoRESTConsumer provideMagazzinoRESTConsumer(ExecutorService executorService, SystemRESTConsumer systemRESTConsumer) {
|
||||
return new MagazzinoRESTConsumer(executorService, systemRESTConsumer);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@ -247,8 +249,20 @@ public class MainApplicationModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
GiacenzaRESTConsumer provideGiacenzaRESTConsumer(SystemRESTConsumer systemRESTConsumer, ArticoloRESTConsumer articoloRESTConsumer) {
|
||||
return new GiacenzaRESTConsumer(systemRESTConsumer, articoloRESTConsumer);
|
||||
GiacenzaRESTConsumer provideGiacenzaRESTConsumer(ArticoloRESTConsumer articoloRESTConsumer) {
|
||||
return new GiacenzaRESTConsumer(articoloRESTConsumer);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
ImballiRESTConsumer provideImballiRESTConsumer(ExecutorService executorService) {
|
||||
return new ImballiRESTConsumer(executorService);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
VettoriRESTConsumer provideVettoriRESTConsumer(ExecutorService executorService) {
|
||||
return new VettoriRESTConsumer(executorService);
|
||||
}
|
||||
|
||||
@Provides
|
||||
|
||||
@ -211,16 +211,19 @@ public class Converters {
|
||||
@Override
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
BigDecimal value = null;
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(s.toString()))
|
||||
value = new BigDecimal(s.toString());
|
||||
|
||||
observableBigDecimal.set(value);
|
||||
}
|
||||
};
|
||||
view.setTag(R.id.bound_observable, new Pair<>(observableBigDecimal, watcher));
|
||||
view.addTextChangedListener(watcher);
|
||||
}
|
||||
|
||||
BigDecimal newValue = observableBigDecimal.get();
|
||||
BigDecimal viewValue = view.getText().toString().trim().length() > 0 ? new BigDecimal(view.getText().toString()) : null;
|
||||
BigDecimal viewValue = !view.getText().toString().trim().isEmpty() ? new BigDecimal(view.getText().toString()) : null;
|
||||
|
||||
if (!UtilityBigDecimal.equalsTo(viewValue, newValue)) {
|
||||
view.setText(UtilityNumber.decimalToString(newValue));
|
||||
|
||||
@ -5,6 +5,7 @@ import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
@ -19,7 +20,7 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogProgressView;
|
||||
|
||||
public class BaseDialogFragment extends DialogFragment implements DialogInterface.OnShowListener {
|
||||
public abstract class BaseDialogFragment extends DialogFragment implements DialogInterface.OnShowListener {
|
||||
|
||||
@Inject
|
||||
public DialogProgressView mCurrentProgress;
|
||||
@ -111,7 +112,14 @@ public class BaseDialogFragment extends DialogFragment implements DialogInterfac
|
||||
|
||||
@Override
|
||||
public void onShow(DialogInterface dialogInterface) {
|
||||
getDialog().getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
|
||||
|
||||
this.initialize();
|
||||
this.onInit(dialogInterface);
|
||||
}
|
||||
|
||||
public void onInit(DialogInterface dialogInterface) {
|
||||
|
||||
}
|
||||
|
||||
private void initialize() {
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package it.integry.integrywmsnative.core.model;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
public class MtbTCol {
|
||||
@ -13,7 +15,7 @@ public class MtbTCol {
|
||||
private BigDecimal taraKg;
|
||||
private String descrizione;
|
||||
private String codMart;
|
||||
private String flagUIUL;
|
||||
private FlagUiUlEnum flagUIUL;
|
||||
private String circuito;
|
||||
|
||||
public String getCodTcol() {
|
||||
@ -88,13 +90,12 @@ public class MtbTCol {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagUIUL() {
|
||||
public FlagUiUlEnum getFlagUIUL() {
|
||||
return flagUIUL;
|
||||
}
|
||||
|
||||
public MtbTCol setFlagUIUL(String flagUIUL) {
|
||||
public void setFlagUIUL(FlagUiUlEnum flagUIUL) {
|
||||
this.flagUIUL = flagUIUL;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCircuito() {
|
||||
@ -107,4 +108,29 @@ public class MtbTCol {
|
||||
}
|
||||
|
||||
|
||||
public enum FlagUiUlEnum {
|
||||
@SerializedName("UI")
|
||||
UI("UI"),
|
||||
|
||||
@SerializedName("UL")
|
||||
UL("UL");
|
||||
|
||||
private final String text;
|
||||
FlagUiUlEnum(String text) {
|
||||
this.text = text;
|
||||
}
|
||||
|
||||
|
||||
public String getText() {
|
||||
return this.text;
|
||||
}
|
||||
|
||||
public static FlagUiUlEnum fromString(String text) {
|
||||
for (FlagUiUlEnum b : FlagUiUlEnum.values()) {
|
||||
if (b.text.equalsIgnoreCase(text)) return b;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,95 @@
|
||||
package it.integry.integrywmsnative.core.model;
|
||||
|
||||
import android.os.Parcelable;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
public class VtbVetr extends EntityBase {
|
||||
|
||||
public VtbVetr() {
|
||||
type = "vtb_vetr";
|
||||
}
|
||||
|
||||
private String codVvet;
|
||||
private String codSpes;
|
||||
private String idRiga;
|
||||
private BigDecimal daQta;
|
||||
private BigDecimal aQta;
|
||||
private BigDecimal impUnt;
|
||||
private BigDecimal impFisso;
|
||||
private String codDivi;
|
||||
|
||||
public String getCodVvet() {
|
||||
return codVvet;
|
||||
}
|
||||
|
||||
public VtbVetr setCodVvet(String codVvet) {
|
||||
this.codVvet = codVvet;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodSpes() {
|
||||
return codSpes;
|
||||
}
|
||||
|
||||
public VtbVetr setCodSpes(String codSpes) {
|
||||
this.codSpes = codSpes;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getIdRiga() {
|
||||
return idRiga;
|
||||
}
|
||||
|
||||
public VtbVetr setIdRiga(String idRiga) {
|
||||
this.idRiga = idRiga;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getDaQta() {
|
||||
return daQta;
|
||||
}
|
||||
|
||||
public VtbVetr setDaQta(BigDecimal daQta) {
|
||||
this.daQta = daQta;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getaQta() {
|
||||
return aQta;
|
||||
}
|
||||
|
||||
public VtbVetr setaQta(BigDecimal aQta) {
|
||||
this.aQta = aQta;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getImpUnt() {
|
||||
return impUnt;
|
||||
}
|
||||
|
||||
public VtbVetr setImpUnt(BigDecimal impUnt) {
|
||||
this.impUnt = impUnt;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getImpFisso() {
|
||||
return impFisso;
|
||||
}
|
||||
|
||||
public VtbVetr setImpFisso(BigDecimal impFisso) {
|
||||
this.impFisso = impFisso;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodDivi() {
|
||||
return codDivi;
|
||||
}
|
||||
|
||||
public VtbVetr setCodDivi(String codDivi) {
|
||||
this.codDivi = codDivi;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,273 @@
|
||||
package it.integry.integrywmsnative.core.model;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
public class VtbVett extends EntityBase {
|
||||
|
||||
public VtbVett() {
|
||||
type = "vtb_vett";
|
||||
}
|
||||
|
||||
private String codVvet;
|
||||
private String codLettVett;
|
||||
private String codAnag;
|
||||
private String ragSoc;
|
||||
private String indirizzo;
|
||||
private String cap;
|
||||
private String citta;
|
||||
private String prov;
|
||||
private String nazione;
|
||||
private String telefono;
|
||||
private String fax;
|
||||
private String partIva;
|
||||
private String note;
|
||||
private String eMail;
|
||||
private String modStamp;
|
||||
private BigDecimal coefVol;
|
||||
private String flagAttivo;
|
||||
private String numAutoriz;
|
||||
private List<VtbVetr> vtbVetr;
|
||||
|
||||
|
||||
public String getCodVvet() {
|
||||
return codVvet;
|
||||
}
|
||||
|
||||
public VtbVett setCodVvet(String codVvet) {
|
||||
this.codVvet = codVvet;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodLettVett() {
|
||||
return codLettVett;
|
||||
}
|
||||
|
||||
public VtbVett setCodLettVett(String codLettVett) {
|
||||
this.codLettVett = codLettVett;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodAnag() {
|
||||
return codAnag;
|
||||
}
|
||||
|
||||
public VtbVett setCodAnag(String codAnag) {
|
||||
this.codAnag = codAnag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getRagSoc() {
|
||||
return ragSoc;
|
||||
}
|
||||
|
||||
public VtbVett setRagSoc(String ragSoc) {
|
||||
this.ragSoc = ragSoc;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getIndirizzo() {
|
||||
return indirizzo;
|
||||
}
|
||||
|
||||
public VtbVett setIndirizzo(String indirizzo) {
|
||||
this.indirizzo = indirizzo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCap() {
|
||||
return cap;
|
||||
}
|
||||
|
||||
public VtbVett setCap(String cap) {
|
||||
this.cap = cap;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCitta() {
|
||||
return citta;
|
||||
}
|
||||
|
||||
public VtbVett setCitta(String citta) {
|
||||
this.citta = citta;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getProv() {
|
||||
return prov;
|
||||
}
|
||||
|
||||
public VtbVett setProv(String prov) {
|
||||
this.prov = prov;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getNazione() {
|
||||
return nazione;
|
||||
}
|
||||
|
||||
public VtbVett setNazione(String nazione) {
|
||||
this.nazione = nazione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getTelefono() {
|
||||
return telefono;
|
||||
}
|
||||
|
||||
public VtbVett setTelefono(String telefono) {
|
||||
this.telefono = telefono;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFax() {
|
||||
return fax;
|
||||
}
|
||||
|
||||
public VtbVett setFax(String fax) {
|
||||
this.fax = fax;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getPartIva() {
|
||||
return partIva;
|
||||
}
|
||||
|
||||
public VtbVett setPartIva(String partIva) {
|
||||
this.partIva = partIva;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getNote() {
|
||||
return note;
|
||||
}
|
||||
|
||||
public VtbVett setNote(String note) {
|
||||
this.note = note;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String geteMail() {
|
||||
return eMail;
|
||||
}
|
||||
|
||||
public VtbVett seteMail(String eMail) {
|
||||
this.eMail = eMail;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getModStamp() {
|
||||
return modStamp;
|
||||
}
|
||||
|
||||
public VtbVett setModStamp(String modStamp) {
|
||||
this.modStamp = modStamp;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getCoefVol() {
|
||||
return coefVol;
|
||||
}
|
||||
|
||||
public VtbVett setCoefVol(BigDecimal coefVol) {
|
||||
this.coefVol = coefVol;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getFlagAttivo() {
|
||||
return flagAttivo;
|
||||
}
|
||||
|
||||
public VtbVett setFlagAttivo(String flagAttivo) {
|
||||
this.flagAttivo = flagAttivo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getNumAutoriz() {
|
||||
return numAutoriz;
|
||||
}
|
||||
|
||||
public VtbVett setNumAutoriz(String numAutoriz) {
|
||||
this.numAutoriz = numAutoriz;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<VtbVetr> getVtbVetr() {
|
||||
return vtbVetr;
|
||||
}
|
||||
|
||||
public VtbVett setVtbVetr(List<VtbVetr> vtbVetr) {
|
||||
this.vtbVetr = vtbVetr;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
|
||||
VtbVett vtbVett = (VtbVett) o;
|
||||
|
||||
if (!getCodVvet().equals(vtbVett.getCodVvet())) return false;
|
||||
if (getCodLettVett() != null ? !getCodLettVett().equals(vtbVett.getCodLettVett()) : vtbVett.getCodLettVett() != null)
|
||||
return false;
|
||||
if (getCodAnag() != null ? !getCodAnag().equals(vtbVett.getCodAnag()) : vtbVett.getCodAnag() != null)
|
||||
return false;
|
||||
if (getRagSoc() != null ? !getRagSoc().equals(vtbVett.getRagSoc()) : vtbVett.getRagSoc() != null)
|
||||
return false;
|
||||
if (getIndirizzo() != null ? !getIndirizzo().equals(vtbVett.getIndirizzo()) : vtbVett.getIndirizzo() != null)
|
||||
return false;
|
||||
if (getCap() != null ? !getCap().equals(vtbVett.getCap()) : vtbVett.getCap() != null)
|
||||
return false;
|
||||
if (getCitta() != null ? !getCitta().equals(vtbVett.getCitta()) : vtbVett.getCitta() != null)
|
||||
return false;
|
||||
if (getProv() != null ? !getProv().equals(vtbVett.getProv()) : vtbVett.getProv() != null)
|
||||
return false;
|
||||
if (getNazione() != null ? !getNazione().equals(vtbVett.getNazione()) : vtbVett.getNazione() != null)
|
||||
return false;
|
||||
if (getTelefono() != null ? !getTelefono().equals(vtbVett.getTelefono()) : vtbVett.getTelefono() != null)
|
||||
return false;
|
||||
if (getFax() != null ? !getFax().equals(vtbVett.getFax()) : vtbVett.getFax() != null)
|
||||
return false;
|
||||
if (getPartIva() != null ? !getPartIva().equals(vtbVett.getPartIva()) : vtbVett.getPartIva() != null)
|
||||
return false;
|
||||
if (getNote() != null ? !getNote().equals(vtbVett.getNote()) : vtbVett.getNote() != null)
|
||||
return false;
|
||||
if (geteMail() != null ? !geteMail().equals(vtbVett.geteMail()) : vtbVett.geteMail() != null)
|
||||
return false;
|
||||
if (getModStamp() != null ? !getModStamp().equals(vtbVett.getModStamp()) : vtbVett.getModStamp() != null)
|
||||
return false;
|
||||
if (getCoefVol() != null ? !getCoefVol().equals(vtbVett.getCoefVol()) : vtbVett.getCoefVol() != null)
|
||||
return false;
|
||||
if (getFlagAttivo() != null ? !getFlagAttivo().equals(vtbVett.getFlagAttivo()) : vtbVett.getFlagAttivo() != null)
|
||||
return false;
|
||||
if (getNumAutoriz() != null ? !getNumAutoriz().equals(vtbVett.getNumAutoriz()) : vtbVett.getNumAutoriz() != null)
|
||||
return false;
|
||||
return getVtbVetr() != null ? getVtbVetr().equals(vtbVett.getVtbVetr()) : vtbVett.getVtbVetr() == null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = getCodVvet().hashCode();
|
||||
result = 31 * result + (getCodLettVett() != null ? getCodLettVett().hashCode() : 0);
|
||||
result = 31 * result + (getCodAnag() != null ? getCodAnag().hashCode() : 0);
|
||||
result = 31 * result + (getRagSoc() != null ? getRagSoc().hashCode() : 0);
|
||||
result = 31 * result + (getIndirizzo() != null ? getIndirizzo().hashCode() : 0);
|
||||
result = 31 * result + (getCap() != null ? getCap().hashCode() : 0);
|
||||
result = 31 * result + (getCitta() != null ? getCitta().hashCode() : 0);
|
||||
result = 31 * result + (getProv() != null ? getProv().hashCode() : 0);
|
||||
result = 31 * result + (getNazione() != null ? getNazione().hashCode() : 0);
|
||||
result = 31 * result + (getTelefono() != null ? getTelefono().hashCode() : 0);
|
||||
result = 31 * result + (getFax() != null ? getFax().hashCode() : 0);
|
||||
result = 31 * result + (getPartIva() != null ? getPartIva().hashCode() : 0);
|
||||
result = 31 * result + (getNote() != null ? getNote().hashCode() : 0);
|
||||
result = 31 * result + (geteMail() != null ? geteMail().hashCode() : 0);
|
||||
result = 31 * result + (getModStamp() != null ? getModStamp().hashCode() : 0);
|
||||
result = 31 * result + (getCoefVol() != null ? getCoefVol().hashCode() : 0);
|
||||
result = 31 * result + (getFlagAttivo() != null ? getFlagAttivo().hashCode() : 0);
|
||||
result = 31 * result + (getNumAutoriz() != null ? getNumAutoriz().hashCode() : 0);
|
||||
result = 31 * result + (getVtbVetr() != null ? getVtbVetr().hashCode() : 0);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@ -61,7 +61,11 @@ public class RESTBuilder {
|
||||
|
||||
Gson gson = UtilityGson.createObject();
|
||||
|
||||
Retrofit retrofit = new Retrofit.Builder().addConverterFactory(GsonConverterFactory.create(gson)).baseUrl(endpoint).client(client).build();
|
||||
Retrofit retrofit = new Retrofit.Builder()
|
||||
.addConverterFactory(GsonConverterFactory.create(gson))
|
||||
.baseUrl(endpoint)
|
||||
.client(client)
|
||||
.build();
|
||||
|
||||
return retrofit.create(service);
|
||||
}
|
||||
|
||||
@ -25,11 +25,9 @@ import retrofit2.Response;
|
||||
@Singleton
|
||||
public class GiacenzaRESTConsumer extends _BaseRESTConsumer {
|
||||
|
||||
private final SystemRESTConsumer mSystemRESTConsumer;
|
||||
private final ArticoloRESTConsumer mArticoloRESTConsumer;
|
||||
|
||||
public GiacenzaRESTConsumer(SystemRESTConsumer systemRESTConsumer, ArticoloRESTConsumer articoloRESTConsumer) {
|
||||
this.mSystemRESTConsumer = systemRESTConsumer;
|
||||
public GiacenzaRESTConsumer(ArticoloRESTConsumer articoloRESTConsumer) {
|
||||
this.mArticoloRESTConsumer = articoloRESTConsumer;
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,92 @@
|
||||
package it.integry.integrywmsnative.core.rest.consumers;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import it.integry.integrywmsnative.core.rest.model.imballi.ImballoQuantityDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.imballi.RegistraCaricoImballiRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.imballi.RegistraScaricoImballiRequestDTO;
|
||||
import retrofit2.Response;
|
||||
|
||||
@Singleton
|
||||
public class ImballiRESTConsumer extends _BaseRESTConsumer {
|
||||
|
||||
private final ExecutorService executorService;
|
||||
|
||||
public ImballiRESTConsumer(ExecutorService executorService) {
|
||||
this.executorService = executorService;
|
||||
}
|
||||
|
||||
|
||||
public List<MtbTCol> retrieveTipiColloSyncronized(MtbTCol.FlagUiUlEnum tipoImballo) throws Exception {
|
||||
ImballiRESTConsumerService service = RESTBuilder.getService(ImballiRESTConsumerService.class);
|
||||
Response<ServiceRESTResponse<List<MtbTCol>>> response = service.retrieveTipiCollo(tipoImballo)
|
||||
.execute();
|
||||
|
||||
return analyzeAnswer(response, "retrieveTipiCollo");
|
||||
}
|
||||
|
||||
public void retrieveTipiCollo(MtbTCol.FlagUiUlEnum tipoImballo, RunnableArgs<List<MtbTCol>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
executorService.execute(() -> {
|
||||
try {
|
||||
var response = retrieveTipiColloSyncronized(tipoImballo);
|
||||
if (onComplete != null) onComplete.run(response);
|
||||
} catch (Exception ex) {
|
||||
if (onFailed != null) onFailed.run(ex);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public void registraCaricoSyncronized(String codAnag, List<ImballoQuantityDTO> imballi) throws Exception {
|
||||
ImballiRESTConsumerService service = RESTBuilder.getService(ImballiRESTConsumerService.class);
|
||||
Response<ServiceRESTResponse<Void>> response = service.registraCarico(
|
||||
new RegistraCaricoImballiRequestDTO()
|
||||
.setCodAnag(codAnag)
|
||||
.setUsedImballi(imballi))
|
||||
.execute();
|
||||
|
||||
analyzeAnswer(response, "registraCarico");
|
||||
}
|
||||
|
||||
public void registraCarico(String codAnag, List<ImballoQuantityDTO> imballi, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||
executorService.execute(() -> {
|
||||
try {
|
||||
registraCaricoSyncronized(codAnag, imballi);
|
||||
if (onComplete != null) onComplete.run();
|
||||
} catch (Exception ex) {
|
||||
if (onFailed != null) onFailed.run(ex);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public void registraScaricoSyncronized(String codVettore, List<ImballoQuantityDTO> imballi) throws Exception {
|
||||
ImballiRESTConsumerService service = RESTBuilder.getService(ImballiRESTConsumerService.class);
|
||||
Response<ServiceRESTResponse<Void>> response = service.registraScarico(
|
||||
new RegistraScaricoImballiRequestDTO()
|
||||
.setCodVettore(codVettore)
|
||||
.setUsedImballi(imballi))
|
||||
.execute();
|
||||
|
||||
analyzeAnswer(response, "registraScarico");
|
||||
}
|
||||
|
||||
public void registraScarico(String idVettore, List<ImballoQuantityDTO> imballi, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||
executorService.execute(() -> {
|
||||
try {
|
||||
registraScaricoSyncronized(idVettore, imballi);
|
||||
if (onComplete != null) onComplete.run();
|
||||
} catch (Exception ex) {
|
||||
if (onFailed != null) onFailed.run(ex);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package it.integry.integrywmsnative.core.rest.consumers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import it.integry.integrywmsnative.core.rest.model.imballi.RegistraCaricoImballiRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.imballi.RegistraScaricoImballiRequestDTO;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.Body;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.POST;
|
||||
import retrofit2.http.Path;
|
||||
|
||||
public interface ImballiRESTConsumerService {
|
||||
|
||||
|
||||
@GET("wms/imballi/retrieve/{tipo}")
|
||||
Call<ServiceRESTResponse<List<MtbTCol>>> retrieveTipiCollo(@Path("tipo") MtbTCol.FlagUiUlEnum tipo);
|
||||
|
||||
@POST("wms/imballi/registraCarico")
|
||||
Call<ServiceRESTResponse<Void>> registraCarico(@Body RegistraCaricoImballiRequestDTO registraCaricoImballiRequest);
|
||||
|
||||
@POST("wms/imballi/registraScarico")
|
||||
Call<ServiceRESTResponse<Void>> registraScarico(@Body RegistraScaricoImballiRequestDTO registraScaricoImballiRequest);
|
||||
|
||||
}
|
||||
@ -1,19 +1,11 @@
|
||||
package it.integry.integrywmsnative.core.rest.consumers;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.model.DtbOrdt;
|
||||
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO;
|
||||
@ -24,56 +16,14 @@ import retrofit2.Response;
|
||||
@Singleton
|
||||
public class MagazzinoRESTConsumer extends _BaseRESTConsumer {
|
||||
|
||||
private final ExecutorService executorService;
|
||||
private final SystemRESTConsumer mSystemRESTConsumer;
|
||||
|
||||
public MagazzinoRESTConsumer(SystemRESTConsumer mSystemRESTConsumer) {
|
||||
public MagazzinoRESTConsumer(ExecutorService executorService, SystemRESTConsumer mSystemRESTConsumer) {
|
||||
this.executorService = executorService;
|
||||
this.mSystemRESTConsumer = mSystemRESTConsumer;
|
||||
}
|
||||
|
||||
|
||||
public void getTipiCollo(RunnableArgs<List<MtbTCol>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
String baseSql = "SELECT * " +
|
||||
"FROM mtb_tcol ";
|
||||
|
||||
Type typeOfObjectsList = new TypeToken<ArrayList<MtbTCol>>() {
|
||||
}.getType();
|
||||
|
||||
mSystemRESTConsumer.<ArrayList<MtbTCol>>processSql(baseSql, typeOfObjectsList, values -> {
|
||||
if (onComplete != null) {
|
||||
onComplete.run(values);
|
||||
}
|
||||
}, ex -> {
|
||||
if (onFailed != null) onFailed.run(ex);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public void saveOrdine(SaveDTO saveDTO, RunnableArgs<DtbOrdt> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
MagazzinoRESTConsumerService service = RESTBuilder.getService(MagazzinoRESTConsumerService.class, 240);
|
||||
service.saveOrdine(saveDTO)
|
||||
.enqueue(new Callback<>() {
|
||||
@Override
|
||||
public void onResponse(Call<List<ServiceRESTResponse<DtbOrdt>>> call, Response<List<ServiceRESTResponse<DtbOrdt>>> response) {
|
||||
if (response.body() != null && response.body().size() > 0) {
|
||||
analyzeListOfAnswers(response, "saveOrdine", dtoList -> {
|
||||
if (dtoList.size() > 0) {
|
||||
onComplete.run(dtoList.get(0));
|
||||
} else {
|
||||
onFailed.run(new Exception("Nessun ordine generato"));
|
||||
}
|
||||
}, onFailed);
|
||||
} else {
|
||||
onFailed.run(new Exception("Nessun ordine generato"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<List<ServiceRESTResponse<DtbOrdt>>> call, Throwable t) {
|
||||
onFailed.run(new Exception(t));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void saveTerminalinoWMS(SaveDTO saveDTO, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||
MagazzinoRESTConsumerService service = RESTBuilder.getService(MagazzinoRESTConsumerService.class);
|
||||
service.saveTerminalinoWMS(saveDTO)
|
||||
@ -90,7 +40,8 @@ public class MagazzinoRESTConsumer extends _BaseRESTConsumer {
|
||||
});
|
||||
}
|
||||
|
||||
public MtbPartitaMag retrievePartitaMagSyncronized(String partitaMag, String codMart, RunnableArgs<Exception> onFailed) throws Exception {
|
||||
|
||||
public MtbPartitaMag retrievePartitaMagSyncronized(String partitaMag, String codMart) throws Exception {
|
||||
MagazzinoRESTConsumerService service = RESTBuilder.getService(MagazzinoRESTConsumerService.class);
|
||||
Response<ServiceRESTResponse<MtbPartitaMag>> response = service.retrievePartitaMag(codMart, partitaMag)
|
||||
.execute();
|
||||
@ -99,18 +50,13 @@ public class MagazzinoRESTConsumer extends _BaseRESTConsumer {
|
||||
}
|
||||
|
||||
public void retrievePartitaMag(String partitaMag, String codMart, RunnableArgs<MtbPartitaMag> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
MagazzinoRESTConsumerService service = RESTBuilder.getService(MagazzinoRESTConsumerService.class);
|
||||
service.retrievePartitaMag(codMart, partitaMag)
|
||||
.enqueue(new Callback<>() {
|
||||
@Override
|
||||
public void onResponse(@NonNull Call<ServiceRESTResponse<MtbPartitaMag>> call, @NonNull Response<ServiceRESTResponse<MtbPartitaMag>> response) {
|
||||
analyzeAnswer(response, "retrievePartitaMag", onComplete, onFailed);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<ServiceRESTResponse<MtbPartitaMag>> call, @NonNull Throwable t) {
|
||||
onFailed.run(new Exception(t));
|
||||
}
|
||||
});
|
||||
executorService.execute(() -> {
|
||||
try {
|
||||
var response = retrievePartitaMagSyncronized(partitaMag, codMart);
|
||||
if (onComplete != null) onComplete.run(response);
|
||||
} catch (Exception ex) {
|
||||
if (onFailed != null) onFailed.run(ex);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,14 +2,15 @@ package it.integry.integrywmsnative.core.rest.consumers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.DtbOrdt;
|
||||
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.Body;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.POST;
|
||||
import retrofit2.http.Path;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface MagazzinoRESTConsumerService {
|
||||
@ -17,11 +18,10 @@ public interface MagazzinoRESTConsumerService {
|
||||
@POST("SM2SaveTerminalinoWMS")
|
||||
Call<ServiceRESTResponse<Void>> saveTerminalinoWMS(@Body SaveDTO saveDTO);
|
||||
|
||||
@POST("SM2SaveTerminalino")
|
||||
Call<List<ServiceRESTResponse<DtbOrdt>>> saveOrdine(@Body SaveDTO saveDTO);
|
||||
|
||||
@GET("wms/partita-magazzino/retrievePartitaMag")
|
||||
Call<ServiceRESTResponse<MtbPartitaMag>> retrievePartitaMag(@Query("codMart") String codMart,
|
||||
@Query("partitaMag") String partitaMag);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,44 @@
|
||||
package it.integry.integrywmsnative.core.rest.consumers;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.model.VtbVett;
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import retrofit2.Response;
|
||||
|
||||
@Singleton
|
||||
public class VettoriRESTConsumer extends _BaseRESTConsumer {
|
||||
|
||||
private final ExecutorService executorService;
|
||||
|
||||
public VettoriRESTConsumer(ExecutorService executorService) {
|
||||
this.executorService = executorService;
|
||||
}
|
||||
|
||||
|
||||
public List<VtbVett> retrieveRecentlyUsedInOrdersSyncronized(GestioneEnum gestione) throws Exception {
|
||||
var service = RESTBuilder.getService(VettoriRESTConsumerService.class);
|
||||
Response<ServiceRESTResponse<List<VtbVett>>> response = service.retrieveRecentlyUsedInOrders(gestione)
|
||||
.execute();
|
||||
|
||||
return analyzeAnswer(response, "retrieveRecentlyUsedInOrders");
|
||||
}
|
||||
|
||||
public void retrieveRecentlyUsedInOrders(GestioneEnum gestione, RunnableArgs<List<VtbVett>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
executorService.execute(() -> {
|
||||
try {
|
||||
var response = retrieveRecentlyUsedInOrdersSyncronized(gestione);
|
||||
if (onComplete != null) onComplete.run(response);
|
||||
} catch (Exception ex) {
|
||||
if (onFailed != null) onFailed.run(ex);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package it.integry.integrywmsnative.core.rest.consumers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.VtbVett;
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface VettoriRESTConsumerService {
|
||||
|
||||
@GET("wms/vettore/recentlyUsedInOrders")
|
||||
Call<ServiceRESTResponse<List<VtbVett>>> retrieveRecentlyUsedInOrders(@Query("gestione") GestioneEnum gestioneEnum);
|
||||
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package it.integry.integrywmsnative.core.rest.deserializer;
|
||||
|
||||
import com.google.gson.JsonDeserializationContext;
|
||||
import com.google.gson.JsonDeserializer;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonParseException;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||
|
||||
public class MtbTcolFlagUiUlDeserializer implements JsonDeserializer<MtbTCol.FlagUiUlEnum> {
|
||||
@Override
|
||||
public MtbTCol.FlagUiUlEnum deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
|
||||
if (json.isJsonNull()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
String text = json.getAsString();
|
||||
return MtbTCol.FlagUiUlEnum.fromString(text);
|
||||
|
||||
}
|
||||
}
|
||||
@ -328,13 +328,13 @@ public class Ean128Model {
|
||||
public String InternalPart;
|
||||
|
||||
///<summary>Informazioni interne</summary>
|
||||
public String Internal1;
|
||||
public String Internal1; //Cod-Mart
|
||||
|
||||
///<summary>Informazioni interne</summary>
|
||||
public String Internal2;
|
||||
public String Internal2; //IDLotto
|
||||
|
||||
///<summary>Informazioni interne</summary>
|
||||
public String Internal3;
|
||||
public String Internal3; //Cod-Jfas
|
||||
|
||||
///<summary>Informazioni interne</summary>
|
||||
public String Internal4;
|
||||
|
||||
@ -0,0 +1,25 @@
|
||||
package it.integry.integrywmsnative.core.rest.model.imballi;
|
||||
|
||||
public class ImballoQuantityDTO {
|
||||
|
||||
private String codMart;
|
||||
private Integer qta;
|
||||
|
||||
public String getCodMart() {
|
||||
return codMart;
|
||||
}
|
||||
|
||||
public ImballoQuantityDTO setCodMart(String codMart) {
|
||||
this.codMart = codMart;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getQta() {
|
||||
return qta;
|
||||
}
|
||||
|
||||
public ImballoQuantityDTO setQta(Integer qta) {
|
||||
this.qta = qta;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package it.integry.integrywmsnative.core.rest.model.imballi;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class RegistraCaricoImballiRequestDTO {
|
||||
|
||||
private String codAnag;
|
||||
private List<ImballoQuantityDTO> usedImballi;
|
||||
|
||||
public String getCodAnag() {
|
||||
return codAnag;
|
||||
}
|
||||
|
||||
public RegistraCaricoImballiRequestDTO setCodAnag(String codAnag) {
|
||||
this.codAnag = codAnag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<ImballoQuantityDTO> getUsedImballi() {
|
||||
return usedImballi;
|
||||
}
|
||||
|
||||
public RegistraCaricoImballiRequestDTO setUsedImballi(List<ImballoQuantityDTO> usedImballi) {
|
||||
this.usedImballi = usedImballi;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package it.integry.integrywmsnative.core.rest.model.imballi;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class RegistraScaricoImballiRequestDTO {
|
||||
|
||||
private String codVettore;
|
||||
private List<ImballoQuantityDTO> usedImballi;
|
||||
|
||||
public String getCodVettore() {
|
||||
return codVettore;
|
||||
}
|
||||
|
||||
public RegistraScaricoImballiRequestDTO setCodVettore(String codVettore) {
|
||||
this.codVettore = codVettore;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<ImballoQuantityDTO> getUsedImballi() {
|
||||
return usedImballi;
|
||||
}
|
||||
|
||||
public RegistraScaricoImballiRequestDTO setUsedImballi(List<ImballoQuantityDTO> usedImballi) {
|
||||
this.usedImballi = usedImballi;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@ -14,6 +14,7 @@ public class CreateUDSRequestDTO {
|
||||
private String codAnag;
|
||||
private String codVdes;
|
||||
private String rifOrd;
|
||||
private Integer idLotto;
|
||||
private boolean orderRequired;
|
||||
private List<CreateUDSRequestOrderDTO> orders;
|
||||
|
||||
@ -125,6 +126,14 @@ public class CreateUDSRequestDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getIdLotto() {
|
||||
return idLotto;
|
||||
}
|
||||
|
||||
public CreateUDSRequestDTO setIdLotto(Integer idLotto) {
|
||||
this.idLotto = idLotto;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
public static class Causale {
|
||||
|
||||
@ -0,0 +1,17 @@
|
||||
package it.integry.integrywmsnative.core.rest.serializer;
|
||||
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonPrimitive;
|
||||
import com.google.gson.JsonSerializationContext;
|
||||
import com.google.gson.JsonSerializer;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||
|
||||
public class MtbTcolFlagUiUlSerializer implements JsonSerializer<MtbTCol.FlagUiUlEnum> {
|
||||
@Override
|
||||
public JsonElement serialize(MtbTCol.FlagUiUlEnum src, Type typeOfSrc, JsonSerializationContext context) {
|
||||
return new JsonPrimitive(src.getText());
|
||||
}
|
||||
}
|
||||
@ -76,6 +76,9 @@ public class DBSettingsModel {
|
||||
private boolean flagAccettazioneBollaUseQtaOrd = true;
|
||||
private boolean flagWarningNewPartitaMag = false;
|
||||
|
||||
private boolean flagTracciamentoImballiCaricoEnabled = false;
|
||||
private boolean flagTracciamentoImballiScaricoEnabled = false;
|
||||
|
||||
public boolean isFlagSpedizioneEnableFakeGiacenza() {
|
||||
return flagSpedizioneEnableFakeGiacenza;
|
||||
}
|
||||
@ -633,4 +636,22 @@ public class DBSettingsModel {
|
||||
this.flagWarningNewPartitaMag = flagWarningNewPartitaMag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isFlagTracciamentoImballiCaricoEnabled() {
|
||||
return flagTracciamentoImballiCaricoEnabled;
|
||||
}
|
||||
|
||||
public DBSettingsModel setFlagTracciamentoImballiCaricoEnabled(boolean flagTracciamentoImballiCaricoEnabled) {
|
||||
this.flagTracciamentoImballiCaricoEnabled = flagTracciamentoImballiCaricoEnabled;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isFlagTracciamentoImballiScaricoEnabled() {
|
||||
return flagTracciamentoImballiScaricoEnabled;
|
||||
}
|
||||
|
||||
public DBSettingsModel setFlagTracciamentoImballiScaricoEnabled(boolean flagTracciamentoImballiScaricoEnabled) {
|
||||
this.flagTracciamentoImballiScaricoEnabled = flagTracciamentoImballiScaricoEnabled;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@ -24,6 +24,7 @@ import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityFirebase;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
|
||||
@Singleton
|
||||
public class SettingsManager {
|
||||
@ -518,6 +519,22 @@ public class SettingsManager {
|
||||
.setSetter(dbSettingsModelIstance::setFlagWarningNewPartitaMag)
|
||||
.setDefaultValue(false));
|
||||
|
||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class)
|
||||
.setGestName("PICKING")
|
||||
.setSection("IMBALLI")
|
||||
.setKeySection("COD_DTIP_CARICO")
|
||||
.setSetter(data -> {
|
||||
dbSettingsModelIstance.setFlagTracciamentoImballiCaricoEnabled(!UtilityString.isNullOrEmpty(data));
|
||||
}));
|
||||
|
||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class)
|
||||
.setGestName("PICKING")
|
||||
.setSection("IMBALLI")
|
||||
.setKeySection("COD_DTIP_SCARICO")
|
||||
.setSetter(data -> {
|
||||
dbSettingsModelIstance.setFlagTracciamentoImballiScaricoEnabled(!UtilityString.isNullOrEmpty(data));
|
||||
}));
|
||||
|
||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||
|
||||
|
||||
|
||||
@ -7,12 +7,15 @@ import java.lang.reflect.Modifier;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||
import it.integry.integrywmsnative.core.model.secondary.StatoPartitaMag;
|
||||
import it.integry.integrywmsnative.core.rest.deserializer.LocalDateDeserializer;
|
||||
import it.integry.integrywmsnative.core.rest.deserializer.LocalDateTimeDeserializer;
|
||||
import it.integry.integrywmsnative.core.rest.deserializer.MtbTcolFlagUiUlDeserializer;
|
||||
import it.integry.integrywmsnative.core.rest.deserializer.StatoPartitaMagDeserializer;
|
||||
import it.integry.integrywmsnative.core.rest.serializer.LocalDateSerializer;
|
||||
import it.integry.integrywmsnative.core.rest.serializer.LocalDateTimeSerializer;
|
||||
import it.integry.integrywmsnative.core.rest.serializer.MtbTcolFlagUiUlSerializer;
|
||||
import it.integry.integrywmsnative.core.rest.serializer.StatoPartitaMagSerializer;
|
||||
|
||||
public class UtilityGson {
|
||||
@ -27,6 +30,8 @@ public class UtilityGson {
|
||||
.registerTypeAdapter(LocalDateTime.class, new LocalDateTimeSerializer())
|
||||
.registerTypeAdapter(StatoPartitaMag.class, new StatoPartitaMagDeserializer())
|
||||
.registerTypeAdapter(StatoPartitaMag.class, new StatoPartitaMagSerializer())
|
||||
.registerTypeAdapter(MtbTCol.FlagUiUlEnum.class, new MtbTcolFlagUiUlDeserializer())
|
||||
.registerTypeAdapter(MtbTCol.FlagUiUlEnum.class, new MtbTcolFlagUiUlSerializer())
|
||||
.create();
|
||||
}
|
||||
|
||||
|
||||
@ -78,6 +78,7 @@ import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||
import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.DialogInfoAggiuntiveLUView;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
||||
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiView;
|
||||
import it.integry.integrywmsnative.view.dialogs.versamento_automatico_ul_done.DialogVersamentoAutomaticoULDoneView;
|
||||
|
||||
public class AccettazioneOrdiniPickingActivity extends BaseActivity implements AccettazioneOrdiniPickingViewModel.Listener, BottomSheetFragmentLUContentViewModel.Listener, BottomSheetFragmentLUContentView.Listener {
|
||||
@ -151,28 +152,30 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
boolean useQtaOrd = SettingsManager.iDB().isFlagAccettazioneUseQtaOrd();
|
||||
|
||||
mViewModel.setListeners(this);
|
||||
mViewModel.init(
|
||||
mOrders,
|
||||
mSitArts,
|
||||
useQtaOrd);
|
||||
mViewModel.init(mOrders, mSitArts, useQtaOrd);
|
||||
}
|
||||
|
||||
private void initFab() {
|
||||
fabPopupMenu = new PopupMenu(this, this.mBindings.accettazioneOrdineInevasoFab,
|
||||
(Gravity.END | Gravity.BOTTOM),
|
||||
androidx.appcompat.R.attr.popupMenuStyle,
|
||||
com.google.android.material.R.style.Widget_Material3_PopupMenu_ContextMenu);
|
||||
fabPopupMenu = new PopupMenu(this, this.mBindings.accettazioneOrdineInevasoFab, (Gravity.END | Gravity.BOTTOM), androidx.appcompat.R.attr.popupMenuStyle, com.google.android.material.R.style.Widget_Material3_PopupMenu_ContextMenu);
|
||||
|
||||
fabPopupMenu.setForceShowIcon(true);
|
||||
fabPopupMenu.getMenuInflater().inflate(R.menu.accettazione_ordine_inevaso_fab_menu, fabPopupMenu.getMenu());
|
||||
|
||||
if (!SettingsManager.iDB().isFlagTracciamentoImballiCaricoEnabled())
|
||||
fabPopupMenu.getMenu().removeItem(R.id.track_packaging);
|
||||
|
||||
fabPopupMenu.setOnMenuItemClickListener(item -> {
|
||||
int itemId = item.getItemId();
|
||||
|
||||
if (itemId == R.id.show_created_ul) {
|
||||
showCreatedUL();
|
||||
return true;
|
||||
} else if (itemId == R.id.track_packaging) {
|
||||
trackPackaging();
|
||||
return true;
|
||||
} else if (itemId == R.id.create_ul) {
|
||||
createNewLU();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -192,17 +195,11 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
mAppliedFilterViewModel.getCurrentDescrPredicate().addOnPropertyChangedCallback(onPredicateChanged);
|
||||
mAppliedFilterViewModel.getCurrentPosPredicate().addOnPropertyChangedCallback(onPredicateChanged);
|
||||
|
||||
List<FilterChipDTO> filterList = Stream.of(AccettazioneOrdiniPickingBindings.AVAILABLE_FILTERS.entrySet())
|
||||
.map(Map.Entry::getValue)
|
||||
.sortBy(FilterChipDTO::getPosizione)
|
||||
.toList();
|
||||
List<FilterChipDTO> filterList = Stream.of(AccettazioneOrdiniPickingBindings.AVAILABLE_FILTERS.entrySet()).map(Map.Entry::getValue).sortBy(FilterChipDTO::getPosizione).toList();
|
||||
|
||||
for (FilterChipDTO filterChipDTO : filterList) {
|
||||
|
||||
FilterChipView filterChipView = new FilterChipView(
|
||||
this,
|
||||
filterChipDTO.getFilterChipText(),
|
||||
v -> initBottomSheetDialogFilter(filterChipDTO));
|
||||
FilterChipView filterChipView = new FilterChipView(this, filterChipDTO.getFilterChipText(), v -> initBottomSheetDialogFilter(filterChipDTO));
|
||||
|
||||
switch (filterChipDTO.getID()) {
|
||||
case AccettazioneOrdiniPickingBindings.COD_ART_FILTER_ID -> {
|
||||
@ -280,52 +277,20 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
|
||||
private void initBottomSheetDialogFilter(FilterChipDTO filterChipDTO) {
|
||||
|
||||
filterChipDTO
|
||||
.getFilterLayoutView()
|
||||
.setFilterName(filterChipDTO.getFilterChipText())
|
||||
.setContext(this);
|
||||
filterChipDTO.getFilterLayoutView().setFilterName(filterChipDTO.getFilterChipText()).setContext(this);
|
||||
|
||||
var filterLayoutView = filterChipDTO
|
||||
.getFilterLayoutView();
|
||||
var filterLayoutView = filterChipDTO.getFilterLayoutView();
|
||||
|
||||
switch (filterChipDTO.getID()) {
|
||||
case AccettazioneOrdiniPickingBindings.COD_ART_FILTER_ID ->
|
||||
((FilterCodArtLayoutView) filterLayoutView)
|
||||
.setAll(mAppliedFilterViewModel.getAllCodArts())
|
||||
.setAvailable(mAppliedFilterViewModel.getAvailableCodArts())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setCodArtFilter)
|
||||
.setPreselected(Stream.of(Objects.requireNonNull(mViewModel.getPickingList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentCodArtPredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentCodArtPredicate().get())
|
||||
.map(x -> x.getSitArtOrdDTO().getCodMart())
|
||||
.toList());
|
||||
((FilterCodArtLayoutView) filterLayoutView).setAll(mAppliedFilterViewModel.getAllCodArts()).setAvailable(mAppliedFilterViewModel.getAvailableCodArts()).setOnFilterApplied(mAppliedFilterViewModel::setCodArtFilter).setPreselected(Stream.of(Objects.requireNonNull(mViewModel.getPickingList().getValue())).filter(mAppliedFilterViewModel.getCurrentCodArtPredicate().get() == null ? x -> false : mAppliedFilterViewModel.getCurrentCodArtPredicate().get()).map(x -> x.getSitArtOrdDTO().getCodMart()).toList());
|
||||
case AccettazioneOrdiniPickingBindings.DESCR_FILTER_ID ->
|
||||
((FilterDescrLayoutView) filterLayoutView)
|
||||
.setAll(mAppliedFilterViewModel.getAllDescrs())
|
||||
.setAvailable(mAppliedFilterViewModel.getAvailableDescrs())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setDescrFilter)
|
||||
.setPreselected(Stream.of(Objects.requireNonNull(mViewModel.getPickingList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentDescrPredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentDescrPredicate().get())
|
||||
.map(x -> x.getSitArtOrdDTO().getDescrizioneEstesaArt())
|
||||
.toList());
|
||||
((FilterDescrLayoutView) filterLayoutView).setAll(mAppliedFilterViewModel.getAllDescrs()).setAvailable(mAppliedFilterViewModel.getAvailableDescrs()).setOnFilterApplied(mAppliedFilterViewModel::setDescrFilter).setPreselected(Stream.of(Objects.requireNonNull(mViewModel.getPickingList().getValue())).filter(mAppliedFilterViewModel.getCurrentDescrPredicate().get() == null ? x -> false : mAppliedFilterViewModel.getCurrentDescrPredicate().get()).map(x -> x.getSitArtOrdDTO().getDescrizioneEstesaArt()).toList());
|
||||
case AccettazioneOrdiniPickingBindings.POS_FILTER_ID ->
|
||||
((FilterPosizioneLayoutView) filterLayoutView)
|
||||
.setAll(mAppliedFilterViewModel.getAllPos())
|
||||
.setAvailable(mAppliedFilterViewModel.getAvailablePos())
|
||||
.setOnFilterApplied(mAppliedFilterViewModel::setPosFilter)
|
||||
.setPreselected(Stream.of(Objects.requireNonNull(mViewModel.getPickingList().getValue()))
|
||||
.filter(mAppliedFilterViewModel.getCurrentPosPredicate().get() == null ?
|
||||
x -> false :
|
||||
mAppliedFilterViewModel.getCurrentPosPredicate().get())
|
||||
.map(x -> x.getMtbAart().getPosizione())
|
||||
.toList());
|
||||
((FilterPosizioneLayoutView) filterLayoutView).setAll(mAppliedFilterViewModel.getAllPos()).setAvailable(mAppliedFilterViewModel.getAvailablePos()).setOnFilterApplied(mAppliedFilterViewModel::setPosFilter).setPreselected(Stream.of(Objects.requireNonNull(mViewModel.getPickingList().getValue())).filter(mAppliedFilterViewModel.getCurrentPosPredicate().get() == null ? x -> false : mAppliedFilterViewModel.getCurrentPosPredicate().get()).map(x -> x.getMtbAart().getPosizione()).toList());
|
||||
}
|
||||
|
||||
if (!filterLayoutView.isAdded())
|
||||
filterLayoutView.show(getSupportFragmentManager(), "TAG");
|
||||
if (!filterLayoutView.isAdded()) filterLayoutView.show(getSupportFragmentManager(), "TAG");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -374,9 +339,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
}
|
||||
|
||||
private void initBarcodeReader() {
|
||||
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||
.setOnScanSuccessful(onScanSuccessful)
|
||||
.setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false)));
|
||||
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO().setOnScanSuccessful(onScanSuccessful).setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false)));
|
||||
}
|
||||
|
||||
private void initRecyclerView() {
|
||||
@ -417,9 +380,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
}
|
||||
|
||||
private List<AccettazioneOrdiniPickingListModel> convertDataModelToListModel(List<PickingObjectDTO> dataList) {
|
||||
List<PickingObjectDTO> tmpList = Stream.of(dataList)
|
||||
.filter(x -> !x.isHidden() && UtilityBigDecimal.greaterThan(x.getSitArtOrdDTO().getQtaDaEvadere(), BigDecimal.ZERO))
|
||||
.toList();
|
||||
List<PickingObjectDTO> tmpList = Stream.of(dataList).filter(x -> !x.isHidden() && UtilityBigDecimal.greaterThan(x.getSitArtOrdDTO().getQtaDaEvadere(), BigDecimal.ZERO)).toList();
|
||||
|
||||
return switch (mCurrentOrderBy) {
|
||||
case COD_ART_FOR -> convertDataModelToListModel__CodArtForn(tmpList);
|
||||
@ -430,133 +391,118 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
|
||||
private List<AccettazioneOrdiniPickingListModel> convertDataModelToListModel__CodArtForn(List<PickingObjectDTO> dataList) {
|
||||
ArrayList<AccettazioneOrdiniPickingListModel> list = new ArrayList<>();
|
||||
Stream.of(dataList)
|
||||
.sortBy(x -> UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()) +
|
||||
(UtilityString.isNullOrEmpty(x.getMtbAart().getDescrizioneEstesa()) ? "" : " - " + x.getMtbAart().getDescrizioneEstesa()))
|
||||
.forEach(x -> {
|
||||
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
|
||||
accettazioneOrdiniPickingListModel.setActive(true);
|
||||
Stream.of(dataList).sortBy(x -> UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()) + (UtilityString.isNullOrEmpty(x.getMtbAart().getDescrizioneEstesa()) ? "" : " - " + x.getMtbAart().getDescrizioneEstesa())).forEach(x -> {
|
||||
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
|
||||
accettazioneOrdiniPickingListModel.setActive(true);
|
||||
|
||||
accettazioneOrdiniPickingListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()) +
|
||||
(UtilityString.isNullOrEmpty(x.getMtbAart().getDescrizioneEstesa()) ? "" : " - " + x.getMtbAart().getDescrizioneEstesa()));
|
||||
accettazioneOrdiniPickingListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()) + (UtilityString.isNullOrEmpty(x.getMtbAart().getDescrizioneEstesa()) ? "" : " - " + x.getMtbAart().getDescrizioneEstesa()));
|
||||
|
||||
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
|
||||
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
|
||||
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
|
||||
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
|
||||
|
||||
accettazioneOrdiniPickingListModel.setSubDescrizione1("Consegna: " + UtilityDate.formatDate(x.getSitArtOrdDTO().getDataCons(), UtilityDate.COMMONS_DATE_FORMATS.DMY_SLASH));
|
||||
accettazioneOrdiniPickingListModel.setSubDescrizione1("Consegna: " + UtilityDate.formatDate(x.getSitArtOrdDTO().getDataCons(), UtilityDate.COMMONS_DATE_FORMATS.DMY_SLASH));
|
||||
|
||||
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
|
||||
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
|
||||
|
||||
//Calc Num CNF
|
||||
BigDecimal numCnfEvasa = BigDecimal.ZERO;
|
||||
//Calc Num CNF
|
||||
BigDecimal numCnfEvasa = BigDecimal.ZERO;
|
||||
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||
.map(MtbColr::getNumCnf)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs()).map(MtbColr::getNumCnf).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
|
||||
//Calc qta col
|
||||
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
||||
//Calc qta col
|
||||
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
||||
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||
.map(MtbColr::getQtaCol)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
qtaEvasa = Stream.of(x.getWithdrawMtbColrs()).map(MtbColr::getQtaCol).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
|
||||
|
||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
|
||||
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
|
||||
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
|
||||
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
|
||||
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
|
||||
} else {
|
||||
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
|
||||
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
|
||||
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
|
||||
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
|
||||
} else {
|
||||
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
|
||||
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
|
||||
|
||||
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
|
||||
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
}
|
||||
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
|
||||
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
}
|
||||
|
||||
accettazioneOrdiniPickingListModel.setOriginalModel(x);
|
||||
accettazioneOrdiniPickingListModel.setOriginalModel(x);
|
||||
|
||||
list.add(accettazioneOrdiniPickingListModel);
|
||||
});
|
||||
list.add(accettazioneOrdiniPickingListModel);
|
||||
});
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
private List<AccettazioneOrdiniPickingListModel> convertDataModelToListModel__DescrArt(List<PickingObjectDTO> dataList) {
|
||||
ArrayList<AccettazioneOrdiniPickingListModel> list = new ArrayList<>();
|
||||
Stream.of(dataList)
|
||||
.sortBy(x -> x.getMtbAart().getDescrizioneEstesa())
|
||||
.forEach(x -> {
|
||||
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
|
||||
accettazioneOrdiniPickingListModel.setActive(true);
|
||||
Stream.of(dataList).sortBy(x -> x.getMtbAart().getDescrizioneEstesa()).forEach(x -> {
|
||||
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
|
||||
accettazioneOrdiniPickingListModel.setActive(true);
|
||||
|
||||
accettazioneOrdiniPickingListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart())
|
||||
+ (UtilityString.isNullOrEmpty(x.getMtbAart().getDescrizioneEstesa()) ? "" : " - " + x.getMtbAart().getDescrizioneEstesa()));
|
||||
accettazioneOrdiniPickingListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()) + (UtilityString.isNullOrEmpty(x.getMtbAart().getDescrizioneEstesa()) ? "" : " - " + x.getMtbAart().getDescrizioneEstesa()));
|
||||
|
||||
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
|
||||
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
|
||||
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
|
||||
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
|
||||
|
||||
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
|
||||
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneCommessa());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
|
||||
|
||||
//Calc Num CNF
|
||||
BigDecimal numCnfEvasa = BigDecimal.ZERO;
|
||||
//Calc Num CNF
|
||||
BigDecimal numCnfEvasa = BigDecimal.ZERO;
|
||||
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||
.map(MtbColr::getNumCnf)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs()).map(MtbColr::getNumCnf).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
|
||||
//Calc qta col
|
||||
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
||||
//Calc qta col
|
||||
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
||||
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||
.map(MtbColr::getQtaCol)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
qtaEvasa = Stream.of(x.getWithdrawMtbColrs()).map(MtbColr::getQtaCol).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
|
||||
|
||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
|
||||
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
|
||||
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
|
||||
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
|
||||
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
|
||||
} else {
|
||||
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
|
||||
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
|
||||
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
|
||||
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
|
||||
} else {
|
||||
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
|
||||
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
|
||||
|
||||
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
|
||||
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
}
|
||||
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
|
||||
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
}
|
||||
|
||||
accettazioneOrdiniPickingListModel.setOriginalModel(x);
|
||||
accettazioneOrdiniPickingListModel.setOriginalModel(x);
|
||||
|
||||
list.add(accettazioneOrdiniPickingListModel);
|
||||
});
|
||||
list.add(accettazioneOrdiniPickingListModel);
|
||||
});
|
||||
|
||||
return list;
|
||||
}
|
||||
@ -564,136 +510,122 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
private List<AccettazioneOrdiniPickingListModel> convertDataModelToListModel__RagSocCom(List<PickingObjectDTO> dataList) {
|
||||
ArrayList<AccettazioneOrdiniPickingListModel> list = new ArrayList<>();
|
||||
|
||||
Stream.of(dataList)
|
||||
.filter(x -> !UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneCommessa()) && !x.getSitArtOrdDTO().getCodJcom().equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG))
|
||||
.sortBy(x -> x.getSitArtOrdDTO().getDescrizioneCommessa())
|
||||
.forEach(x -> {
|
||||
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
|
||||
accettazioneOrdiniPickingListModel.setActive(true);
|
||||
Stream.of(dataList).filter(x -> !UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneCommessa()) && !x.getSitArtOrdDTO().getCodJcom().equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)).sortBy(x -> x.getSitArtOrdDTO().getDescrizioneCommessa()).forEach(x -> {
|
||||
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
|
||||
accettazioneOrdiniPickingListModel.setActive(true);
|
||||
|
||||
accettazioneOrdiniPickingListModel.setGroupTitle(x.getSitArtOrdDTO().getCodJcom() + (!UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneCommessa()) ? " - " + x.getSitArtOrdDTO().getDescrizioneCommessa() : ""));
|
||||
accettazioneOrdiniPickingListModel.setGroupTitle(x.getSitArtOrdDTO().getCodJcom() + (!UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneCommessa()) ? " - " + x.getSitArtOrdDTO().getDescrizioneCommessa() : ""));
|
||||
|
||||
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()));
|
||||
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
|
||||
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()));
|
||||
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
|
||||
|
||||
//Calc Num CNF
|
||||
BigDecimal numCnfEvasa = BigDecimal.ZERO;
|
||||
//Calc Num CNF
|
||||
BigDecimal numCnfEvasa = BigDecimal.ZERO;
|
||||
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||
.map(MtbColr::getNumCnf)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs()).map(MtbColr::getNumCnf).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
|
||||
//Calc qta col
|
||||
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
||||
//Calc qta col
|
||||
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
||||
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||
.map(MtbColr::getQtaCol)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
qtaEvasa = Stream.of(x.getWithdrawMtbColrs()).map(MtbColr::getQtaCol).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
|
||||
|
||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
|
||||
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
|
||||
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
|
||||
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
|
||||
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
|
||||
} else {
|
||||
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
|
||||
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
|
||||
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
|
||||
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
|
||||
} else {
|
||||
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
|
||||
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
|
||||
|
||||
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
|
||||
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
}
|
||||
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
|
||||
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
}
|
||||
|
||||
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneEstesaOrd());
|
||||
accettazioneOrdiniPickingListModel.setDescrizione(x.getSitArtOrdDTO().getDescrizioneEstesaOrd());
|
||||
|
||||
if (x.getMtbAart() != null) {
|
||||
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
|
||||
}
|
||||
if (x.getMtbAart() != null) {
|
||||
accettazioneOrdiniPickingListModel.setPosizione(x.getMtbAart().getPosizione());
|
||||
}
|
||||
|
||||
accettazioneOrdiniPickingListModel.setOriginalModel(x);
|
||||
accettazioneOrdiniPickingListModel.setOriginalModel(x);
|
||||
|
||||
list.add(accettazioneOrdiniPickingListModel);
|
||||
});
|
||||
list.add(accettazioneOrdiniPickingListModel);
|
||||
});
|
||||
|
||||
Stream.of(dataList)
|
||||
.filter(x -> UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneCommessa()) || x.getSitArtOrdDTO().getCodJcom().equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG))
|
||||
.forEach(x -> {
|
||||
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
|
||||
accettazioneOrdiniPickingListModel.setActive(true);
|
||||
Stream.of(dataList).filter(x -> UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getDescrizioneCommessa()) || x.getSitArtOrdDTO().getCodJcom().equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)).forEach(x -> {
|
||||
AccettazioneOrdiniPickingListModel accettazioneOrdiniPickingListModel = new AccettazioneOrdiniPickingListModel();
|
||||
accettazioneOrdiniPickingListModel.setActive(true);
|
||||
|
||||
accettazioneOrdiniPickingListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
|
||||
accettazioneOrdiniPickingListModel.setGroupTitle(UtilityString.isNull(x.getSitArtOrdDTO().getCodJcom(), CommonConst.Config.COMMESSA_MAG));
|
||||
|
||||
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()));
|
||||
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
|
||||
accettazioneOrdiniPickingListModel.setBadge1(UtilityString.isNull(x.getSitArtOrdDTO().getCodArtFor(), x.getSitArtOrdDTO().getCodMart()));
|
||||
accettazioneOrdiniPickingListModel.setBadge2(String.valueOf(x.getSitArtOrdDTO().getNumOrd()));
|
||||
|
||||
|
||||
//Calc Num CNF
|
||||
BigDecimal numCnfEvasa = BigDecimal.ZERO;
|
||||
//Calc Num CNF
|
||||
BigDecimal numCnfEvasa = BigDecimal.ZERO;
|
||||
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||
.map(MtbColr::getNumCnf)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs()).map(MtbColr::getNumCnf).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
|
||||
//Calc qta col
|
||||
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
||||
//Calc qta col
|
||||
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
||||
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||
.map(MtbColr::getQtaCol)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
qtaEvasa = Stream.of(x.getWithdrawMtbColrs()).map(MtbColr::getQtaCol).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
|
||||
|
||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
|
||||
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||
accettazioneOrdiniPickingListModel.setQtaEvasa(numCnfEvasa);
|
||||
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||
accettazioneOrdiniPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
|
||||
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
|
||||
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
|
||||
} else {
|
||||
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
|
||||
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
|
||||
accettazioneOrdiniPickingListModel.setSecQtaEvasa(qtaEvasa);
|
||||
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
|
||||
} else {
|
||||
accettazioneOrdiniPickingListModel.setQtaEvasa(qtaEvasa);
|
||||
accettazioneOrdiniPickingListModel.setQtaTot(x.getSitArtOrdDTO().getQtaDaEvadere());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
|
||||
|
||||
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
|
||||
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
}
|
||||
accettazioneOrdiniPickingListModel.setSecQtaEvasa(numCnfEvasa);
|
||||
accettazioneOrdiniPickingListModel.setSecQtaTot(x.getSitArtOrdDTO().getNumCnfDaEvadere());
|
||||
accettazioneOrdiniPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
}
|
||||
|
||||
|
||||
if (x.getMtbAart() != null) {
|
||||
accettazioneOrdiniPickingListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa());
|
||||
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
|
||||
}
|
||||
if (x.getMtbAart() != null) {
|
||||
accettazioneOrdiniPickingListModel.setDescrizione(x.getMtbAart().getDescrizioneEstesa());
|
||||
accettazioneOrdiniPickingListModel.setUntMis(x.getMtbAart().getUntMis());
|
||||
}
|
||||
|
||||
accettazioneOrdiniPickingListModel.setOriginalModel(x);
|
||||
accettazioneOrdiniPickingListModel.setOriginalModel(x);
|
||||
|
||||
list.add(accettazioneOrdiniPickingListModel);
|
||||
});
|
||||
list.add(accettazioneOrdiniPickingListModel);
|
||||
});
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
private boolean isThereAnyItemToPick(List<PickingObjectDTO> dataList) {
|
||||
return Stream.of(dataList)
|
||||
.anyMatch(x -> !x.isHidden());
|
||||
return Stream.of(dataList).anyMatch(x -> !x.isHidden());
|
||||
}
|
||||
|
||||
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
|
||||
@ -718,20 +650,26 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
});
|
||||
}
|
||||
|
||||
public void trackPackaging() {
|
||||
this.fabPopupMenu.dismiss();
|
||||
|
||||
DialogTracciamentoImballiView.newInstance(data -> {
|
||||
if (data != null && !data.isEmpty())
|
||||
mViewModel.registraImballi(data);
|
||||
}).show(getSupportFragmentManager(), DialogTracciamentoImballiView.class.getName());
|
||||
}
|
||||
|
||||
|
||||
public void showCreatedUL() {
|
||||
this.fabPopupMenu.dismiss();
|
||||
this.mViewModel.retrieveExistentLU(this::startListaBancaliRegistratiActivity);
|
||||
}
|
||||
|
||||
private void showOrderByDialog() {
|
||||
AlertDialog dialog = new AlertDialog.Builder(this)
|
||||
.setTitle(this.getText(R.string.action_orderBy))
|
||||
.setSingleChoiceItems(AccettazioneOrdineInevasoOrderBy.descriptions, mCurrentOrderBy.getVal(), (dialog12, which) -> {
|
||||
mCurrentOrderBy = AccettazioneOrdineInevasoOrderBy.Enum.fromInt(which);
|
||||
SettingsManager.i().getUserSession().setDefaultOrdinamentoPickingAccettazione(which);
|
||||
})
|
||||
.setPositiveButton(getText(R.string.ok), (dialog1, which) -> this.refreshList())
|
||||
.create();
|
||||
AlertDialog dialog = new AlertDialog.Builder(this).setTitle(this.getText(R.string.action_orderBy)).setSingleChoiceItems(AccettazioneOrdineInevasoOrderBy.descriptions, mCurrentOrderBy.getVal(), (dialog12, which) -> {
|
||||
mCurrentOrderBy = AccettazioneOrdineInevasoOrderBy.Enum.fromInt(which);
|
||||
SettingsManager.i().getUserSession().setDefaultOrdinamentoPickingAccettazione(which);
|
||||
}).setPositiveButton(getText(R.string.ok), (dialog1, which) -> this.refreshList()).create();
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
@ -739,14 +677,9 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
|
||||
Intent myIntent = ListaBancaliActivity.createIntent(this,
|
||||
|
||||
Stream.of(mtbColts)
|
||||
.map(AlreadyRegisteredUDCDTO::getMtbColt)
|
||||
.toList(),
|
||||
Stream.of(mtbColts).map(AlreadyRegisteredUDCDTO::getMtbColt).toList(),
|
||||
|
||||
input -> Stream.of(mtbColts)
|
||||
.filter(x -> x.getMtbColt() == input)
|
||||
.findFirstOrElse(null)
|
||||
.isCanBeRecovered(),
|
||||
input -> Stream.of(mtbColts).filter(x -> x.getMtbColt() == input).findFirstOrElse(null).isCanBeRecovered(),
|
||||
|
||||
ReportManager.getReportNameLUFromGestione(GestioneEnum.ACQUISTO));
|
||||
|
||||
@ -757,9 +690,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
public void onLUSuccessullyPrinted() {
|
||||
Resources res = getResources();
|
||||
String errorMessage = res.getText(R.string.alert_print_completed_message).toString();
|
||||
DialogSimpleMessageView
|
||||
.makeSuccessDialog(res.getText(R.string.completed).toString(), new SpannableString(errorMessage), null, null)
|
||||
.show(getSupportFragmentManager(), "tag");
|
||||
DialogSimpleMessageView.makeSuccessDialog(res.getText(R.string.completed).toString(), new SpannableString(errorMessage), null, null).show(getSupportFragmentManager(), "tag");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -769,13 +700,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
@Override
|
||||
public void onLUPrintError(Exception ex, Runnable onComplete) {
|
||||
this.onLoadingEnded();
|
||||
DialogSimpleMessageView.makeErrorDialog(
|
||||
new SpannableString(ex.getMessage()),
|
||||
null,
|
||||
null,
|
||||
R.string.button_ignore_print,
|
||||
onComplete)
|
||||
.show(getSupportFragmentManager(), "tag");
|
||||
DialogSimpleMessageView.makeErrorDialog(new SpannableString(ex.getMessage()), null, null, R.string.button_ignore_print, onComplete).show(getSupportFragmentManager(), "tag");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -795,20 +720,12 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
|
||||
@Override
|
||||
public void onVersamentoAutomaticoULRequest(RunnableArgs<Boolean> onComplete) {
|
||||
runOnUiThread(() -> {
|
||||
DialogAskShouldVersamentoAutomaticoULView.newInstance(onComplete)
|
||||
.show(getSupportFragmentManager(), "tag");
|
||||
});
|
||||
DialogAskShouldVersamentoAutomaticoULView.newInstance(onComplete).show(getSupportFragmentManager(), "tag");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInfoAggiuntiveRequest(RunnableArgss<String, MtbTCol> onComplete) {
|
||||
// runOnUiThread(() -> {
|
||||
// DialogInfoAggiuntiveLU.newInstance(onComplete).show(getSupportFragmentManager(), "InfoAggiuntiveLUDialog");
|
||||
// });
|
||||
|
||||
DialogInfoAggiuntiveLUView.newInstance(onComplete, this::onLoadingEnded)
|
||||
.show(getSupportFragmentManager(), DialogInfoAggiuntiveLUView.class.getName());
|
||||
DialogInfoAggiuntiveLUView.newInstance(onComplete, this::onLoadingEnded).show(getSupportFragmentManager(), DialogInfoAggiuntiveLUView.class.getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -826,41 +743,13 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
|
||||
@Override
|
||||
public void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, LocalDate dataScad, boolean canPartitaMagBeChanged, boolean canOverflowQuantity, String customArtDescription, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
|
||||
.setMtbAart(mtbAart)
|
||||
.setInitialNumCnf(initialNumCnf)
|
||||
.setInitialQtaCnf(initialQtaCnf)
|
||||
.setInitialQtaTot(initialQtaTot)
|
||||
.setTotalQtaOrd(totalQtaOrd)
|
||||
.setTotalNumCnfOrd(totalNumCnfOrd)
|
||||
.setQtaCnfOrd(qtaCnfOrd)
|
||||
.setTotalQtaToBeTaken(totalQtaToBeTaken)
|
||||
.setTotalNumCnfToBeTaken(totalNumCnfToBeTaken)
|
||||
.setQtaCnfToBeTaken(qtaCnfToBeTaken)
|
||||
.setTotalQtaAvailable(totalQtaAvailable)
|
||||
.setTotalNumCnfAvailable(totalNumCnfAvailable)
|
||||
.setQtaCnfAvailable(qtaCnfAvailable)
|
||||
.setPartitaMag(partitaMag)
|
||||
.setDataScad(dataScad)
|
||||
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
||||
.setCanLUBeClosed(true)
|
||||
.setCanOverflowOrderQuantity(canOverflowQuantity)
|
||||
.setCustomArtDescription(customArtDescription);
|
||||
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO().setMtbAart(mtbAart).setInitialNumCnf(initialNumCnf).setInitialQtaCnf(initialQtaCnf).setInitialQtaTot(initialQtaTot).setTotalQtaOrd(totalQtaOrd).setTotalNumCnfOrd(totalNumCnfOrd).setQtaCnfOrd(qtaCnfOrd).setTotalQtaToBeTaken(totalQtaToBeTaken).setTotalNumCnfToBeTaken(totalNumCnfToBeTaken).setQtaCnfToBeTaken(qtaCnfToBeTaken).setTotalQtaAvailable(totalQtaAvailable).setTotalNumCnfAvailable(totalNumCnfAvailable).setQtaCnfAvailable(qtaCnfAvailable).setPartitaMag(partitaMag).setDataScad(dataScad).setCanPartitaMagBeChanged(canPartitaMagBeChanged).setCanLUBeClosed(true).setCanOverflowOrderQuantity(canOverflowQuantity).setCustomArtDescription(customArtDescription);
|
||||
|
||||
if (!mDialogInputQuantityV2View.isVisible())
|
||||
mDialogInputQuantityV2View
|
||||
.setDialogInputQuantityV2DTO(dialogInputQuantityV2DTO)
|
||||
.setOnComplete((resultDTO, shouldCloseLU) -> {
|
||||
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
||||
.setNumCnf(resultDTO.getNumCnf())
|
||||
.setQtaCnf(resultDTO.getQtaCnf())
|
||||
.setQtaTot(resultDTO.getQtaTot())
|
||||
.setPartitaMag(resultDTO.getPartitaMag())
|
||||
.setDataScad(resultDTO.getDataScad());
|
||||
onComplete.run(pickedQuantityDTO, shouldCloseLU);
|
||||
})
|
||||
.setOnAbort(() -> this.mViewModel.resetMatchedRows())
|
||||
.show(getSupportFragmentManager(), "tag");
|
||||
mDialogInputQuantityV2View.setDialogInputQuantityV2DTO(dialogInputQuantityV2DTO).setOnComplete((resultDTO, shouldCloseLU) -> {
|
||||
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO().setNumCnf(resultDTO.getNumCnf()).setQtaCnf(resultDTO.getQtaCnf()).setQtaTot(resultDTO.getQtaTot()).setPartitaMag(resultDTO.getPartitaMag()).setDataScad(resultDTO.getDataScad());
|
||||
onComplete.run(pickedQuantityDTO, shouldCloseLU);
|
||||
}).setOnAbort(() -> this.mViewModel.resetMatchedRows()).show(getSupportFragmentManager(), "tag");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -894,9 +783,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
public void onULVersata(VersamentoAutomaticoULResponseDTO versamentoAutomaticoULResponseDTO, Runnable onComplete) {
|
||||
|
||||
runOnUiThread(() -> {
|
||||
DialogVersamentoAutomaticoULDoneView
|
||||
.newInstance(versamentoAutomaticoULResponseDTO, onComplete)
|
||||
.show(getSupportFragmentManager(), "tag");
|
||||
DialogVersamentoAutomaticoULDoneView.newInstance(versamentoAutomaticoULResponseDTO, onComplete).show(getSupportFragmentManager(), "tag");
|
||||
});
|
||||
|
||||
}
|
||||
@ -905,11 +792,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
public void onMtbColrDeleteRequest(RunnableArgs<Boolean> onComplete) {
|
||||
runOnUiThread(() -> {
|
||||
String text = getResources().getString(R.string.alert_delete_mtb_colr);
|
||||
DialogSimpleMessageView.makeWarningDialog(new SpannableString(text),
|
||||
null,
|
||||
() -> onComplete.run(true),
|
||||
() -> onComplete.run(false)
|
||||
).show(getSupportFragmentManager(), "tag");
|
||||
DialogSimpleMessageView.makeWarningDialog(new SpannableString(text), null, () -> onComplete.run(true), () -> onComplete.run(false)).show(getSupportFragmentManager(), "tag");
|
||||
});
|
||||
}
|
||||
|
||||
@ -925,15 +808,11 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
|
||||
@Override
|
||||
public void onLUClosed() {
|
||||
runOnUiThread(() -> {
|
||||
noLUPresent.set(true);
|
||||
this.mBottomSheetFragmentLUContentViewModel.setMtbColt(null);
|
||||
noLUPresent.set(true);
|
||||
this.mBottomSheetFragmentLUContentViewModel.setMtbColt(null);
|
||||
this.refreshList();
|
||||
|
||||
|
||||
this.refreshList();
|
||||
|
||||
if (this.mShouldCloseActivity) super.onBackPressed();
|
||||
});
|
||||
if (this.mShouldCloseActivity) super.onBackPressed();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -8,7 +8,7 @@ import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.rest.AccettazioneOrdiniPickingRESTConsumer;
|
||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
||||
@ -31,18 +31,19 @@ public class AccettazioneOrdiniPickingModule {
|
||||
ArticoloRESTConsumer articoloRESTConsumer,
|
||||
BarcodeRESTConsumer barcodeRESTConsumer,
|
||||
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
|
||||
PrinterRESTConsumer printerRESTConsumer,
|
||||
AccettazioneOrdiniPickingRESTConsumer accettazioneOrdiniPickingRESTConsumer,
|
||||
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
|
||||
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer,
|
||||
Ean128Service ean128Service) {
|
||||
Ean128Service ean128Service,
|
||||
ImballiRESTConsumer imballiRESTConsumer) {
|
||||
return new AccettazioneOrdiniPickingViewModel(articoloRESTConsumer,
|
||||
barcodeRESTConsumer,
|
||||
colliMagazzinoRESTConsumer,
|
||||
printerRESTConsumer,
|
||||
accettazioneOrdiniPickingRESTConsumer,
|
||||
colliAccettazioneRESTConsumer,
|
||||
colliLavorazioneRESTConsumer, ean128Service);
|
||||
colliLavorazioneRESTConsumer,
|
||||
ean128Service,
|
||||
imballiRESTConsumer);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@ import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
@ -40,11 +41,12 @@ import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.interfaces.ColliCaricoRESTConsumerInterface;
|
||||
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
|
||||
import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
|
||||
import it.integry.integrywmsnative.core.rest.model.VersamentoAutomaticoULResponseDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.imballi.ImballoQuantityDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.udc.CloseUDCRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.udc.CreateUDCRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.udc.CreateUDCRequestOrderDTO;
|
||||
@ -66,17 +68,18 @@ import it.integry.integrywmsnative.gest.accettazione_ordini_picking.rest.Accetta
|
||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
|
||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.NotCurrentYearLUException;
|
||||
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
||||
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.TracciamentoImballoDTO;
|
||||
|
||||
public class AccettazioneOrdiniPickingViewModel {
|
||||
|
||||
private final ArticoloRESTConsumer mArticoloRESTConsumer;
|
||||
private final BarcodeRESTConsumer mBarcodeRESTConsumer;
|
||||
private final ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer;
|
||||
private final PrinterRESTConsumer mPrinterRESTConsumer;
|
||||
private final AccettazioneOrdiniPickingRESTConsumer mAccettazioneOrdiniPickingRESTConsumer;
|
||||
private final ColliAccettazioneRESTConsumer mColliAccettazioneRESTConsumer;
|
||||
private final ColliLavorazioneRESTConsumer mColliLavorazioneRESTConsumer;
|
||||
private final Ean128Service mEan128Service;
|
||||
private final ImballiRESTConsumer mImballiRESTConsumer;
|
||||
|
||||
private ColliCaricoRESTConsumerInterface mColliCaricoRESTConsumer;
|
||||
|
||||
@ -88,6 +91,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
|
||||
private MtbColt mCurrentMtbColt = null;
|
||||
private GestioneEnum defaultGestioneOfUL = null;
|
||||
private String foundCodAnag = null;
|
||||
|
||||
private final List<HistoryMtbAartDTO> mHistoryUsedAarts = new ArrayList<>();
|
||||
|
||||
@ -95,19 +99,19 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
public AccettazioneOrdiniPickingViewModel(ArticoloRESTConsumer articoloRESTConsumer,
|
||||
BarcodeRESTConsumer barcodeRESTConsumer,
|
||||
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
|
||||
PrinterRESTConsumer printerRESTConsumer,
|
||||
AccettazioneOrdiniPickingRESTConsumer accettazioneOrdiniPickingRESTConsumer,
|
||||
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
|
||||
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer,
|
||||
Ean128Service ean128Service) {
|
||||
Ean128Service ean128Service,
|
||||
ImballiRESTConsumer imballiRESTConsumer) {
|
||||
this.mArticoloRESTConsumer = articoloRESTConsumer;
|
||||
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
|
||||
this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer;
|
||||
this.mPrinterRESTConsumer = printerRESTConsumer;
|
||||
this.mAccettazioneOrdiniPickingRESTConsumer = accettazioneOrdiniPickingRESTConsumer;
|
||||
this.mColliAccettazioneRESTConsumer = colliAccettazioneRESTConsumer;
|
||||
this.mColliLavorazioneRESTConsumer = colliLavorazioneRESTConsumer;
|
||||
this.mEan128Service = ean128Service;
|
||||
this.mImballiRESTConsumer = imballiRESTConsumer;
|
||||
}
|
||||
|
||||
|
||||
@ -131,6 +135,15 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
.findFirst()
|
||||
.get();
|
||||
|
||||
//Definizione codAnag
|
||||
var codAnagsOrd = mOrders.stream()
|
||||
.map(OrdineAccettazioneInevasoDTO::getCodAnagOrd)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if(codAnagsOrd.size() == 1) foundCodAnag = codAnagsOrd.get(0);
|
||||
|
||||
|
||||
//Definizione della gestione collo di default
|
||||
List<GestioneEnum> foundGestioni = Stream.of(mOrders)
|
||||
.map(OrdineAccettazioneInevasoDTO::getGestioneEnum)
|
||||
@ -275,7 +288,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
null,
|
||||
false,
|
||||
() -> {
|
||||
if(UtilityString.isNullOrEmpty(customSSCC))
|
||||
if (UtilityString.isNullOrEmpty(customSSCC))
|
||||
processBarcodeAlreadyOpenedLU(barcodeScanDTO, onComplete);
|
||||
else onComplete.run();
|
||||
});
|
||||
@ -767,9 +780,6 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
} else {
|
||||
postCloseOperations();
|
||||
}
|
||||
|
||||
this.sendLUClosed();
|
||||
this.sendOnLoadingEnded();
|
||||
};
|
||||
|
||||
sendVersamentoAutomaticoULRequest(response -> {
|
||||
@ -821,7 +831,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
||||
BigDecimal numCnf = BigDecimal.ZERO;
|
||||
|
||||
if (withdrawMtbColrs.size() > 0) {
|
||||
if (!withdrawMtbColrs.isEmpty()) {
|
||||
qtaEvasa = Stream.of(withdrawMtbColrs)
|
||||
.map(MtbColr::getQtaCol)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
@ -887,6 +897,22 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
return optional.isPresent() ? optional.get() : null;
|
||||
}
|
||||
|
||||
public void registraImballi(List<TracciamentoImballoDTO> data) {
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
|
||||
var inputData = data.stream()
|
||||
.map(x -> new ImballoQuantityDTO()
|
||||
.setQta(x.getQta().get())
|
||||
.setCodMart(x.getCodMart().get()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
mImballiRESTConsumer.registraCarico(foundCodAnag, inputData, () -> {
|
||||
this.sendOnLoadingEnded();
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
|
||||
private void sendOnLoadingStarted() {
|
||||
if (this.mListener != null) mListener.onLoadingStarted();
|
||||
}
|
||||
|
||||
@ -55,6 +55,7 @@ import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration;
|
||||
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalView;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskClienteView;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_linea_prod.DialogAskLineaProdView;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_linea_prod.dto.DialogAskLineaProdResponse;
|
||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_mtbcolr_list.DialogChooseArtsFromMtbColrList;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||
@ -297,7 +298,7 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLULineaProdRequired(RunnableArgs<String> onComplete, Runnable onAbort) {
|
||||
public void onLULineaProdRequired(RunnableArgs<DialogAskLineaProdResponse> onComplete, Runnable onAbort) {
|
||||
DialogAskLineaProdView.newInstance(onComplete, onAbort)
|
||||
.show(getParentFragmentManager(), DialogAskLineaProdView.class.getName());
|
||||
}
|
||||
|
||||
@ -55,6 +55,7 @@ import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
|
||||
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
||||
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_linea_prod.dto.DialogAskLineaProdResponse;
|
||||
|
||||
public class PickingLiberoViewModel {
|
||||
|
||||
@ -324,25 +325,27 @@ public class PickingLiberoViewModel {
|
||||
|
||||
private void createNewLU_PostClienteAsk(Integer customNumCollo, String customSerCollo, VtbDest vtbDest, Runnable onComplete) {
|
||||
if (this.mFlagAskLineaProd) {
|
||||
this.sendLULineaProdRequired(codJfas -> {
|
||||
createNewLU_PostLineaProdAsk(customNumCollo, customSerCollo, vtbDest, codJfas, onComplete);
|
||||
}, () -> {
|
||||
this.sendLULineaProdRequired(response -> {
|
||||
createNewLU_PostLineaProdAsk(customNumCollo, customSerCollo, vtbDest, response.getPosizione(), response.getIdLotto(), onComplete);
|
||||
|
||||
}, () -> {
|
||||
this.sendOnLoadingEnded();
|
||||
});
|
||||
} else {
|
||||
createNewLU_PostLineaProdAsk(customNumCollo, customSerCollo, vtbDest, null, onComplete);
|
||||
createNewLU_PostLineaProdAsk(customNumCollo, customSerCollo, vtbDest, null, null, onComplete);
|
||||
}
|
||||
}
|
||||
|
||||
private void createNewLU_PostLineaProdAsk(Integer customNumCollo, String customSerCollo, VtbDest vtbDest, String codJfas, Runnable onComplete) {
|
||||
private void createNewLU_PostLineaProdAsk(Integer customNumCollo, String customSerCollo, VtbDest vtbDest, String codJfas, Integer idLotto, Runnable onComplete) {
|
||||
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
var createUDSRequest = new CreateUDSRequestDTO()
|
||||
.setRifOrd(mDefaultGestione == GestioneEnum.LAVORAZIONE ? "PICKING LIBERO" : null)
|
||||
.setRifOrd(mDefaultGestione == GestioneEnum.LAVORAZIONE && !mFlagAskLineaProd ? "PICKING LIBERO" : null)
|
||||
.setCodMdep(SettingsManager.i().getUserSession().getDepo().getCodMdep())
|
||||
.setCausaleCollo(CreateUDSRequestDTO.Causale.SCARICO)
|
||||
.setOrderRequired(mFlagAskLineaProd);
|
||||
.setIdLotto(idLotto)
|
||||
.setOrderRequired(false);
|
||||
|
||||
if (customNumCollo != null) {
|
||||
createUDSRequest.setNumCollo(customNumCollo);
|
||||
@ -948,7 +951,7 @@ public class PickingLiberoViewModel {
|
||||
if (this.mListener != null) mListener.onLUClienteRequired(onComplete, onAbort);
|
||||
}
|
||||
|
||||
private void sendLULineaProdRequired(RunnableArgs<String> onComplete, Runnable onAbort) {
|
||||
private void sendLULineaProdRequired(RunnableArgs<DialogAskLineaProdResponse> onComplete, Runnable onAbort) {
|
||||
if (this.mListener != null) mListener.onLULineaProdRequired(onComplete, onAbort);
|
||||
}
|
||||
|
||||
@ -1008,7 +1011,7 @@ public class PickingLiberoViewModel {
|
||||
|
||||
void onLUClienteRequired(RunnableArgss<VtbDest, String> onComplete, Runnable onAbort);
|
||||
|
||||
void onLULineaProdRequired(RunnableArgs<String> onComplete, Runnable onAbort);
|
||||
void onLULineaProdRequired(RunnableArgs<DialogAskLineaProdResponse> onComplete, Runnable onAbort);
|
||||
|
||||
void onArtSelectionRequest(List<MtbColr> mtbColrsToPick, MtbAart mtbAart, RunnableArgs<List<MtbColr>> onComplete, Runnable onAbort);
|
||||
|
||||
|
||||
@ -151,7 +151,7 @@ public class StatoArtInventarioDTO {
|
||||
}
|
||||
|
||||
public Integer getPedMag() {
|
||||
if (pedMag < 0)
|
||||
if (pedMag == null || pedMag < 0)
|
||||
return 0;
|
||||
else
|
||||
return pedMag;
|
||||
|
||||
@ -1,17 +1,18 @@
|
||||
package it.integry.integrywmsnative.gest.rettifica_giacenze.ui;
|
||||
|
||||
import android.content.Context;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.Filter;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.ConcurrentModificationException;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.databinding.RettificaGiacenzeAutocompleteFornitoreLayoutBinding;
|
||||
@ -24,7 +25,7 @@ public class AutoCompleteFornitoreAdapter extends ArrayAdapter<FornitoreDTO> {
|
||||
private ArrayList<FornitoreDTO> suggestions;
|
||||
|
||||
public AutoCompleteFornitoreAdapter(@NonNull Context context, @NonNull ArrayList<FornitoreDTO> items) {
|
||||
super(context, 0 , items);
|
||||
super(context, 0, items);
|
||||
this.items = items;
|
||||
this.itemsAll = (ArrayList<FornitoreDTO>) items.clone();
|
||||
this.suggestions = new ArrayList<>();
|
||||
@ -33,7 +34,7 @@ public class AutoCompleteFornitoreAdapter extends ArrayAdapter<FornitoreDTO> {
|
||||
@NonNull
|
||||
@Override
|
||||
public Filter getFilter() {
|
||||
return fornitoreFilter;
|
||||
return new FornitoreFilter(itemsAll);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@ -49,55 +50,53 @@ public class AutoCompleteFornitoreAdapter extends ArrayAdapter<FornitoreDTO> {
|
||||
return binding.getRoot();
|
||||
}
|
||||
|
||||
private class FornitoreFilter extends Filter {
|
||||
|
||||
private ArrayList<FornitoreDTO> sourceObjects;
|
||||
|
||||
private Filter fornitoreFilter = new Filter() {
|
||||
@Override
|
||||
protected FilterResults performFiltering(CharSequence constraint) {
|
||||
if(constraint != null) {
|
||||
suggestions.clear();
|
||||
for (FornitoreDTO fornitore : itemsAll) {
|
||||
String tmpDescr = fornitore.getCodAlis() + " " + fornitore.getDescrizione();
|
||||
public FornitoreFilter(List<FornitoreDTO> objects) {
|
||||
if (objects == null) return;
|
||||
sourceObjects = new ArrayList<>();
|
||||
|
||||
if(tmpDescr.toLowerCase().contains(constraint.toString().toLowerCase())){
|
||||
suggestions.add(fornitore);
|
||||
}
|
||||
}
|
||||
FilterResults filterResults = new FilterResults();
|
||||
filterResults.values = suggestions;
|
||||
filterResults.count = suggestions.size();
|
||||
return filterResults;
|
||||
} else {
|
||||
return new FilterResults();
|
||||
synchronized (this) {
|
||||
sourceObjects.addAll(objects);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FilterResults performFiltering(CharSequence constraint) {
|
||||
FilterResults result = new FilterResults();
|
||||
if (constraint != null) {
|
||||
suggestions.clear();
|
||||
for (FornitoreDTO fornitore : sourceObjects) {
|
||||
String tmpDescr = fornitore.getCodAlis() + " " + fornitore.getDescrizione();
|
||||
|
||||
if (tmpDescr.toLowerCase().contains(constraint.toString().toLowerCase())) {
|
||||
suggestions.add(fornitore);
|
||||
}
|
||||
}
|
||||
result.values = suggestions;
|
||||
result.count = suggestions.size();
|
||||
} else {
|
||||
// add all objects
|
||||
synchronized (this) {
|
||||
result.values = sourceObjects;
|
||||
result.count = sourceObjects.size();
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void publishResults(CharSequence constraint, FilterResults results) {
|
||||
|
||||
boolean error;
|
||||
|
||||
do {
|
||||
try {
|
||||
ArrayList<FornitoreDTO> filteredList = (ArrayList<FornitoreDTO>) results.values;
|
||||
if (results.count > 0) {
|
||||
clear();
|
||||
|
||||
for (FornitoreDTO c : filteredList) {
|
||||
add(c);
|
||||
}
|
||||
|
||||
notifyDataSetChanged();
|
||||
|
||||
}
|
||||
error = false;
|
||||
} catch (ConcurrentModificationException ex) {
|
||||
error = true;
|
||||
}
|
||||
} while (error);
|
||||
|
||||
|
||||
if(constraint != null && constraint.length() > 2) {
|
||||
ArrayList<FornitoreDTO> filtered = (ArrayList<FornitoreDTO>) results.values;
|
||||
notifyDataSetChanged();
|
||||
clear();
|
||||
for (int i = 0, l = filtered.size(); i < l; i++)
|
||||
add(filtered.get(i));
|
||||
notifyDataSetInvalidated();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -105,5 +104,6 @@ public class AutoCompleteFornitoreAdapter extends ArrayAdapter<FornitoreDTO> {
|
||||
public CharSequence convertResultToString(Object resultValue) {
|
||||
return ((FornitoreDTO) resultValue).getCodAlis();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -6,8 +6,10 @@ import android.content.SharedPreferences;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.text.SpannableString;
|
||||
import android.view.Gravity;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.appcompat.widget.PopupMenu;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.databinding.ObservableArrayList;
|
||||
import androidx.preference.PreferenceManager;
|
||||
@ -68,6 +70,7 @@ import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFrag
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUView;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_vettore.DialogAskVettoreView;
|
||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
|
||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||
import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArtsView;
|
||||
@ -78,6 +81,7 @@ import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPesoLUV
|
||||
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.scan_art.DialogScanArtView;
|
||||
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiView;
|
||||
import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNoView;
|
||||
|
||||
public class SpedizioneActivity extends BaseActivity implements SpedizioneViewModel.Listener, BottomSheetFragmentLUContentViewModel.Listener, BottomSheetFragmentLUContentView.Listener {
|
||||
@ -99,7 +103,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
public BindableBoolean noItemsToPick = new BindableBoolean(false);
|
||||
public BindableBoolean noLUPresent = new BindableBoolean(true);
|
||||
public BindableBoolean bottomSheetEnabled = new BindableBoolean(false);
|
||||
public BindableBoolean closeOrderButtonEnabled = new BindableBoolean(false);
|
||||
|
||||
private boolean mEnableFakeGiacenza;
|
||||
private boolean mFlagShowCodForn;
|
||||
@ -119,6 +122,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
|
||||
private final int PICK_UL_REQUEST = 1;
|
||||
|
||||
private PopupMenu fabPopupMenu;
|
||||
|
||||
public static void startActivity(Context context,
|
||||
List<SitArtOrdDTO> ordini,
|
||||
List<OrdineUscitaInevasoDTO> selectedOrders,
|
||||
@ -196,13 +201,9 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
|
||||
this.initVars();
|
||||
this.initBarcodeReader();
|
||||
this.initFab();
|
||||
this.initRecyclerView();
|
||||
|
||||
closeOrderButtonEnabled.set(SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose()
|
||||
|| SettingsManager.iDB().isFlagPrintPackingListOnOrderClose()
|
||||
|| (this.isOrdTrasf() && !UtilityString.isNullOrEmpty(SettingsManager.iDB().getCodDtipOrdTrasfV()))
|
||||
);
|
||||
|
||||
|
||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||
mEnableFakeGiacenza = SettingsManager.iDB().isFlagSpedizioneEnableFakeGiacenza();
|
||||
@ -223,17 +224,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
mGestioneCol, mSegnoCol, mDefaultCausaleUL,
|
||||
mEnableQuantityReset,
|
||||
useQtaOrd);
|
||||
}
|
||||
|
||||
|
||||
private boolean isOrdTrasf() {
|
||||
|
||||
return mTestateOrdini != null && !mTestateOrdini.isEmpty() && Stream.of(mTestateOrdini)
|
||||
.map(OrdineUscitaInevasoDTO::isOrdTrasf)
|
||||
.withoutNulls()
|
||||
.distinctBy(x -> x)
|
||||
.findFirst()
|
||||
.get();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -271,6 +262,48 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
BarcodeManager.enable();
|
||||
}
|
||||
|
||||
|
||||
private void initFab() {
|
||||
fabPopupMenu = new PopupMenu(this,
|
||||
this.mBindings.spedizioneOrdineInevasoFab, (Gravity.END | Gravity.BOTTOM),
|
||||
androidx.appcompat.R.attr.popupMenuStyle,
|
||||
com.google.android.material.R.style.Widget_Material3_PopupMenu_ContextMenu);
|
||||
|
||||
fabPopupMenu.setForceShowIcon(true);
|
||||
fabPopupMenu.getMenuInflater().inflate(R.menu.spedizione_ordine_inevaso_fab_menu, fabPopupMenu.getMenu());
|
||||
|
||||
boolean isCloseOrderEnabled = SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose()
|
||||
|| SettingsManager.iDB().isFlagPrintPackingListOnOrderClose()
|
||||
|| (mViewmodel.isOrdTrasf() && !UtilityString.isNullOrEmpty(SettingsManager.iDB().getCodDtipOrdTrasfV()));
|
||||
|
||||
if (!isCloseOrderEnabled) {
|
||||
fabPopupMenu.getMenu().removeItem(R.id.close_order);
|
||||
}
|
||||
|
||||
if(!SettingsManager.iDB().isFlagTracciamentoImballiScaricoEnabled())
|
||||
fabPopupMenu.getMenu().removeItem(R.id.track_packaging);
|
||||
|
||||
fabPopupMenu.setOnMenuItemClickListener(item -> {
|
||||
int itemId = item.getItemId();
|
||||
|
||||
if (itemId == R.id.close_order) {
|
||||
closeOrder();
|
||||
return true;
|
||||
} else if (itemId == R.id.show_created_ul) {
|
||||
showCreatedUL();
|
||||
return true;
|
||||
} else if (itemId == R.id.track_packaging) {
|
||||
trackPackaging();
|
||||
return true;
|
||||
} else if (itemId == R.id.create_ul) {
|
||||
createNewUL();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
private void initRecyclerView() {
|
||||
this.mViewmodel.getPickingList().observe(this, updatedData -> {
|
||||
this.mSpedizioneMutableData.clear();
|
||||
@ -383,7 +416,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
|
||||
MtbColr mtbColrToDispatch = mtbColtToPick.getMtbColr() != null && mtbColtToPick.getMtbColr().size() > 0 ? mtbColtToPick.getMtbColr().get(0) : null;
|
||||
if (mtbColrToDispatch != null) {
|
||||
if(!UtilityString.isNullOrEmpty(mtbColrToDispatch.getPartitaMag()))
|
||||
if (!UtilityString.isNullOrEmpty(mtbColrToDispatch.getPartitaMag()))
|
||||
cloneModel.setSubDescrizione1(String.format(getString(R.string.batch_lot_text), mtbColrToDispatch.getPartitaMag()));
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(x.getSitArtOrdDTO().getCodJcom())) {
|
||||
@ -642,13 +675,18 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
return sortedList;
|
||||
}
|
||||
|
||||
|
||||
public void showFabMenu() {
|
||||
fabPopupMenu.show();
|
||||
}
|
||||
|
||||
private String getCommessa(String codJcom) {
|
||||
var commessaMagazzino = SettingsManager.iDB().getCommessaMagazzino();
|
||||
|
||||
if(UtilityString.isNullOrEmpty(commessaMagazzino)) {
|
||||
if (UtilityString.isNullOrEmpty(commessaMagazzino)) {
|
||||
return UtilityString.isNull(codJcom, "Magazzino").toUpperCase();
|
||||
} else {
|
||||
if(commessaMagazzino.equalsIgnoreCase(codJcom) || codJcom == null)
|
||||
if (commessaMagazzino.equalsIgnoreCase(codJcom) || codJcom == null)
|
||||
return "Magazzino".toUpperCase();
|
||||
else
|
||||
return codJcom.toUpperCase();
|
||||
@ -698,7 +736,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
|
||||
|
||||
public void createNewUL() {
|
||||
this.mBindings.spedizioneFab.close(true);
|
||||
this.fabPopupMenu.dismiss();
|
||||
|
||||
this.onLoadingStarted();
|
||||
|
||||
@ -707,8 +745,23 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public void trackPackaging() {
|
||||
this.fabPopupMenu.dismiss();
|
||||
|
||||
DialogTracciamentoImballiView.newInstance(imballiData -> {
|
||||
|
||||
if (imballiData != null && !imballiData.isEmpty()) {
|
||||
DialogAskVettoreView.newInstance(mViewmodel.getDefaultVettore(), vettoreData -> {
|
||||
mViewmodel.registraImballi(vettoreData, imballiData);
|
||||
})
|
||||
.show(getSupportFragmentManager(), DialogAskVettoreView.class.getName());
|
||||
}
|
||||
}).show(getSupportFragmentManager(), DialogTracciamentoImballiView.class.getName());
|
||||
}
|
||||
|
||||
public void showCreatedUL() {
|
||||
this.mBindings.spedizioneFab.close(true);
|
||||
this.fabPopupMenu.dismiss();
|
||||
|
||||
ArrayList<MtbColt> createdMtbColts = this.mViewmodel.getCreatedMtbColts();
|
||||
|
||||
@ -718,7 +771,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
|
||||
|
||||
public void closeOrder() {
|
||||
this.mBindings.spedizioneFab.close(true);
|
||||
this.fabPopupMenu.dismiss();
|
||||
|
||||
this.mViewmodel.closeOrder();
|
||||
}
|
||||
@ -727,7 +780,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
public void onLUOpened(MtbColt mtbColt) {
|
||||
this.addExtraItemsEnabled.set(SettingsManager.iDB().isFlagCanAddExtraItemSpedizione());
|
||||
noLUPresent.set(false);
|
||||
closeOrderButtonEnabled.set(false);
|
||||
|
||||
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
|
||||
|
||||
@ -739,7 +791,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
this.addExtraItemsEnabled.set(false);
|
||||
noLUPresent.set(true);
|
||||
this.mBottomSheetFragmentLUContentViewModel.setMtbColt(null);
|
||||
closeOrderButtonEnabled.set(SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose() || SettingsManager.iDB().isFlagPrintPackingListOnOrderClose());
|
||||
|
||||
if (this.mShouldCloseActivity) super.onBackPressed();
|
||||
}
|
||||
@ -776,7 +827,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
R.string.button_ignore_print,
|
||||
onComplete)
|
||||
.show(getSupportFragmentManager(), "tag");
|
||||
;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -9,6 +9,7 @@ import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsu
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliSpedizioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.DocumentRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
|
||||
@ -34,7 +35,8 @@ public class SpedizioneModule {
|
||||
DocumentRESTConsumer documentRESTConsumer,
|
||||
ColliSpedizioneRESTConsumer colliSpedizioneRESTConsumer,
|
||||
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer,
|
||||
MagazzinoAutomaticoRESTConsumer magazzinoAutomaticoRESTConsumer) {
|
||||
MagazzinoAutomaticoRESTConsumer magazzinoAutomaticoRESTConsumer,
|
||||
ImballiRESTConsumer imballiRESTConsumer) {
|
||||
return new SpedizioneViewModel(articoloRESTConsumer,
|
||||
barcodeRESTConsumer,
|
||||
colliDataRecoverService,
|
||||
@ -45,7 +47,8 @@ public class SpedizioneModule {
|
||||
documentRESTConsumer,
|
||||
colliSpedizioneRESTConsumer,
|
||||
colliLavorazioneRESTConsumer,
|
||||
magazzinoAutomaticoRESTConsumer);
|
||||
magazzinoAutomaticoRESTConsumer,
|
||||
imballiRESTConsumer);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -3,16 +3,16 @@ package it.integry.integrywmsnative.gest.spedizione;
|
||||
import androidx.databinding.ObservableArrayList;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
import com.annimon.stream.Optional;
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import org.apache.commons.lang3.NotImplementedException;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
@ -42,6 +42,7 @@ import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
||||
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||
import it.integry.integrywmsnative.core.model.VtbVett;
|
||||
import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
|
||||
import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO;
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
@ -51,6 +52,7 @@ import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsu
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliSpedizioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.DocumentRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
|
||||
@ -61,6 +63,7 @@ import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
|
||||
import it.integry.integrywmsnative.core.rest.model.LoadColliDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.imballi.ImballoQuantityDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.magazzino_automatico.MagazzinoAutomaticoPickItemRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.magazzino_automatico.MagazzinoAutomaticoPickItemsRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.magazzino_automatico.MagazzinoAutomaticoPickOrderRequestDTO;
|
||||
@ -86,6 +89,7 @@ import it.integry.integrywmsnative.gest.spedizione.exceptions.OrdersLoadExceptio
|
||||
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
||||
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
|
||||
import it.integry.integrywmsnative.gest.spedizione.model.PrintOrderCloseDTO;
|
||||
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.TracciamentoImballoDTO;
|
||||
|
||||
public class SpedizioneViewModel {
|
||||
|
||||
@ -101,6 +105,7 @@ public class SpedizioneViewModel {
|
||||
private String mDefaultCodMdep = null;
|
||||
private final List<FiltroOrdineDTO> mDefaultFiltroOrdine = new ArrayList<>();
|
||||
private Integer mDefaultCausaleOfUL = null;
|
||||
private VtbVett mDefaultVettore = null;
|
||||
|
||||
private boolean mEnableGiacenza;
|
||||
private boolean mEnableCheckPartitaMag;
|
||||
@ -124,13 +129,24 @@ public class SpedizioneViewModel {
|
||||
private final DocumentRESTConsumer mDocumentRESTConsumer;
|
||||
private final ColliSpedizioneRESTConsumer mColliSpedizioneRESTConsumer;
|
||||
private final ColliLavorazioneRESTConsumer mColliLavorazioneRESTConsumer;
|
||||
|
||||
private final MagazzinoAutomaticoRESTConsumer mMagazzinoAutomaticoRESTConsumer;
|
||||
private final ImballiRESTConsumer mImballiRESTConsumer;
|
||||
|
||||
private ColliScaricoRESTConsumerInterface mColliScaricoRESTConsumer;
|
||||
|
||||
@Inject
|
||||
public SpedizioneViewModel(ArticoloRESTConsumer articoloRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, ColliDataRecoverService colliDataRecoverService, OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, PrinterRESTConsumer printerRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer, DocumentRESTConsumer documentRESTConsumer, ColliSpedizioneRESTConsumer colliSpedizioneRESTConsumer, ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer, MagazzinoAutomaticoRESTConsumer mMagazzinoAutomaticoRESTConsumer) {
|
||||
public SpedizioneViewModel(ArticoloRESTConsumer articoloRESTConsumer,
|
||||
BarcodeRESTConsumer barcodeRESTConsumer,
|
||||
ColliDataRecoverService colliDataRecoverService,
|
||||
OrdiniRESTConsumer ordiniRESTConsumer,
|
||||
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
|
||||
PrinterRESTConsumer printerRESTConsumer,
|
||||
PosizioniRESTConsumer posizioniRESTConsumer,
|
||||
DocumentRESTConsumer documentRESTConsumer,
|
||||
ColliSpedizioneRESTConsumer colliSpedizioneRESTConsumer,
|
||||
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer,
|
||||
MagazzinoAutomaticoRESTConsumer mMagazzinoAutomaticoRESTConsumer,
|
||||
ImballiRESTConsumer imballiRESTConsumer) {
|
||||
this.mArticoloRESTConsumer = articoloRESTConsumer;
|
||||
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
|
||||
this.mColliDataRecoverService = colliDataRecoverService;
|
||||
@ -142,6 +158,7 @@ public class SpedizioneViewModel {
|
||||
this.mColliSpedizioneRESTConsumer = colliSpedizioneRESTConsumer;
|
||||
this.mColliLavorazioneRESTConsumer = colliLavorazioneRESTConsumer;
|
||||
this.mMagazzinoAutomaticoRESTConsumer = mMagazzinoAutomaticoRESTConsumer;
|
||||
this.mImballiRESTConsumer = imballiRESTConsumer;
|
||||
}
|
||||
|
||||
|
||||
@ -159,10 +176,6 @@ public class SpedizioneViewModel {
|
||||
this.mEnableQuantityReset = enableQuantityReset;
|
||||
this.mUseQtaOrd = useQtaOrd;
|
||||
|
||||
if (testateOrdini != null && testateOrdini.size() > 0) {
|
||||
this.mIsOrdTrasf = Stream.of(testateOrdini).map(OrdineUscitaInevasoDTO::isOrdTrasf).withoutNulls().distinctBy(x -> x).findFirst().get();
|
||||
}
|
||||
|
||||
if (enableGiacenza) {
|
||||
mOrdiniRestConsumerService.getSuggestedPickingList(this.mDefaultCodMdep, pickingList, pickingObjectList -> {
|
||||
this.mPickingList.postValue(pickingObjectList);
|
||||
@ -183,38 +196,67 @@ public class SpedizioneViewModel {
|
||||
|
||||
|
||||
private void getEmptyPickingList(List<SitArtOrdDTO> sitArtOrdList, RunnableArgs<List<PickingObjectDTO>> onComplete) {
|
||||
List<String> codMarts = Stream.of(sitArtOrdList).map(x -> x.getCodMart().trim()).toList();
|
||||
List<String> codMarts = sitArtOrdList.stream()
|
||||
.map(x -> x.getCodMart().trim())
|
||||
.collect(Collectors.toList());
|
||||
|
||||
this.mArticoloRESTConsumer.getByCodMarts(codMarts, listMtbAarts -> {
|
||||
List<PickingObjectDTO> pickingList = Stream.of(sitArtOrdList).map(sitArtOrdDTO -> {
|
||||
MtbAart mtbAart = null;
|
||||
List<PickingObjectDTO> pickingList = sitArtOrdList.stream()
|
||||
.map(sitArtOrdDTO -> {
|
||||
MtbAart mtbAart = null;
|
||||
|
||||
for (MtbAart mtbAartItem : listMtbAarts) {
|
||||
if (mtbAartItem.getCodMart().trim().equalsIgnoreCase(sitArtOrdDTO.getCodMart().trim())) {
|
||||
mtbAart = mtbAartItem;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for (MtbAart mtbAartItem : listMtbAarts) {
|
||||
if (mtbAartItem.getCodMart().trim().equalsIgnoreCase(sitArtOrdDTO.getCodMart().trim())) {
|
||||
mtbAart = mtbAartItem;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return new PickingObjectDTO().setSitArtOrdDTO(sitArtOrdDTO).setMtbAart(mtbAart);
|
||||
}).toList();
|
||||
return new PickingObjectDTO().setSitArtOrdDTO(sitArtOrdDTO).setMtbAart(mtbAart);
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
onComplete.run(pickingList);
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
private void initDefaultVars() {
|
||||
if (this.mTestateOrdini != null && this.mTestateOrdini.size() > 0) {
|
||||
if (this.mTestateOrdini != null && !this.mTestateOrdini.isEmpty()) {
|
||||
|
||||
List<String> foundRagSoc = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getRagSocOrd).distinctBy(x -> x).toList();
|
||||
this.mIsOrdTrasf = mTestateOrdini.stream()
|
||||
.map(OrdineUscitaInevasoDTO::isOrdTrasf)
|
||||
.filter(Objects::nonNull)
|
||||
.distinct()
|
||||
.findFirst()
|
||||
.orElse(false);
|
||||
|
||||
if (foundRagSoc != null && foundRagSoc.size() == 1) {
|
||||
List<String> foundRagSoc = mTestateOrdini.stream()
|
||||
.map(OrdineUscitaInevasoDTO::getRagSocOrd)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (foundRagSoc.size() == 1) {
|
||||
mDefaultRagSocOfUL = foundRagSoc.get(0);
|
||||
}
|
||||
|
||||
List<VtbVett> foundVett = mTestateOrdini.stream()
|
||||
.filter(x -> !UtilityString.isNullOrEmpty(x.getCodVvet()))
|
||||
.map(x -> new VtbVett()
|
||||
.setCodVvet(x.getCodVvet())
|
||||
.setRagSoc(x.getDescrizioneVettore()))
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (foundVett.size() == 1) {
|
||||
mDefaultVettore = foundVett.get(0);
|
||||
}
|
||||
|
||||
if (mDefaultGestioneOfUL == null) {
|
||||
//Definizione della gestione collo di default
|
||||
List<GestioneEnum> foundGestioni = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getGestioneEnum).withoutNulls().distinct().toList();
|
||||
List<GestioneEnum> foundGestioni = mTestateOrdini.stream()
|
||||
.map(OrdineUscitaInevasoDTO::getGestioneEnum)
|
||||
.filter(Objects::nonNull)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (foundGestioni.size() > 1) {
|
||||
return;
|
||||
@ -254,6 +296,11 @@ public class SpedizioneViewModel {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public boolean isOrdTrasf() {
|
||||
return mIsOrdTrasf;
|
||||
}
|
||||
|
||||
private void onOrderClosedPrintingDone() {
|
||||
if (this.mIsOrdTrasf && !UtilityString.isNullOrEmpty(SettingsManager.iDB().getCodDtipOrdTrasfV())) {
|
||||
this.sendCreateDocsRequest();
|
||||
@ -492,7 +539,8 @@ public class SpedizioneViewModel {
|
||||
}
|
||||
} else {
|
||||
|
||||
boolean codMdepIsValid = Stream.of(SettingsManager.iDB().getAvailableCodMdep())
|
||||
boolean codMdepIsValid = SettingsManager.iDB().getAvailableCodMdep()
|
||||
.stream()
|
||||
.anyMatch(x -> x.getCodMdep().equalsIgnoreCase(mtbColt.getCodMdep()));
|
||||
|
||||
if (codMdepIsValid) {
|
||||
@ -537,7 +585,7 @@ public class SpedizioneViewModel {
|
||||
mColliMagazzinoRESTConsumer.getByTestata(mtbColtList.get(0), true, false, mtbColt -> {
|
||||
if (mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) {
|
||||
|
||||
boolean codMdepIsValid = Stream.of(SettingsManager.iDB().getAvailableCodMdep())
|
||||
boolean codMdepIsValid = SettingsManager.iDB().getAvailableCodMdep().stream()
|
||||
.anyMatch(x -> x.getCodMdep().equalsIgnoreCase(mtbColt.getCodMdep()));
|
||||
|
||||
if (codMdepIsValid) {
|
||||
@ -560,7 +608,7 @@ public class SpedizioneViewModel {
|
||||
if (mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) {
|
||||
if (mtbColt.getSegno() != -1) {
|
||||
|
||||
boolean codMdepIsValid = Stream.of(SettingsManager.iDB().getAvailableCodMdep())
|
||||
boolean codMdepIsValid = SettingsManager.iDB().getAvailableCodMdep().stream()
|
||||
.anyMatch(x -> x.getCodMdep().equalsIgnoreCase(mtbColt.getCodMdep()));
|
||||
|
||||
if (codMdepIsValid) {
|
||||
@ -633,26 +681,28 @@ public class SpedizioneViewModel {
|
||||
}
|
||||
|
||||
private void executeMagazzinoAutomatico(MtbDepoPosizione mtbDepoPosizione, Runnable onComplete) {
|
||||
var magazzinoAutomaticoPickableArts = Stream.of(Objects.requireNonNull(this.mPickingList.getValue()))
|
||||
.filter(x -> Stream.of(x.getMtbColts()).anyMatch(y -> y.getPosizione() != null && y.getPosizione().equalsIgnoreCase(mtbDepoPosizione.getPosizione())) &&
|
||||
var magazzinoAutomaticoPickableArts = Objects.requireNonNull(this.mPickingList.getValue())
|
||||
.stream()
|
||||
.filter(x -> x.getMtbColts().stream()
|
||||
.anyMatch(y -> y.getPosizione() != null && y.getPosizione().equalsIgnoreCase(mtbDepoPosizione.getPosizione())) &&
|
||||
x.getSitArtOrdDTO() != null &&
|
||||
UtilityBigDecimal.greaterThan(x.getSitArtOrdDTO().getQtaOrd(), BigDecimal.ZERO))
|
||||
.toList();
|
||||
.collect(Collectors.toList());
|
||||
|
||||
var mtbAarts = Stream.of(magazzinoAutomaticoPickableArts)
|
||||
var mtbAarts = magazzinoAutomaticoPickableArts.stream()
|
||||
.map(PickingObjectDTO::getMtbAart)
|
||||
.toList();
|
||||
.collect(Collectors.toList());
|
||||
|
||||
this.sendChooseArtsRequest(mtbAarts, selectedArts -> {
|
||||
|
||||
final List<MagazzinoAutomaticoPickOrderRequestDTO> orders = Stream.of(this.mTestateOrdini)
|
||||
final List<MagazzinoAutomaticoPickOrderRequestDTO> orders = this.mTestateOrdini.stream()
|
||||
.map(x -> new MagazzinoAutomaticoPickOrderRequestDTO(UtilityDate.toLocalDate(x.getDataOrdD()), x.getGestione(), x.getNumOrd())
|
||||
.setDataCons(x.getDataConsD() != null ? UtilityDate.toLocalDate(x.getDataConsD()) : null))
|
||||
.toList();
|
||||
.collect(Collectors.toList());
|
||||
|
||||
final List<MagazzinoAutomaticoPickItemRequestDTO> magazzinoAutomaticoPickItemRequestDTOList = new ArrayList<>();
|
||||
for (MtbAart selectedArt : selectedArts) {
|
||||
final PickingObjectDTO pickingObjectDTO = Stream.of(magazzinoAutomaticoPickableArts)
|
||||
final PickingObjectDTO pickingObjectDTO = magazzinoAutomaticoPickableArts.stream()
|
||||
.filter(x -> x.getMtbAart().getCodMart().equalsIgnoreCase(selectedArt.getCodMart()))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
@ -682,10 +732,10 @@ public class SpedizioneViewModel {
|
||||
}
|
||||
|
||||
public void executeEmptyMagazzinoAutomaticoRequest(MtbDepoPosizione mtbDepoPosizione, Runnable onComplete) {
|
||||
final List<MagazzinoAutomaticoPickOrderRequestDTO> orders = Stream.of(this.mTestateOrdini)
|
||||
final List<MagazzinoAutomaticoPickOrderRequestDTO> orders = this.mTestateOrdini.stream()
|
||||
.map(x -> new MagazzinoAutomaticoPickOrderRequestDTO(UtilityDate.toLocalDate(x.getDataOrdD()), x.getGestione(), x.getNumOrd())
|
||||
.setDataCons(UtilityDate.toLocalDate(x.getDataConsD())))
|
||||
.toList();
|
||||
.collect(Collectors.toList());
|
||||
|
||||
var magazzinoAutomaticoPickRequest = new MagazzinoAutomaticoPickItemsRequestDTO()
|
||||
.setShouldCreateUDS(true)
|
||||
@ -703,21 +753,22 @@ public class SpedizioneViewModel {
|
||||
|
||||
if (mEnableGiacenza) {
|
||||
|
||||
Stream.of(pickingList).forEach(pickingObjectDTO -> {
|
||||
if (Stream.of(pickingObjectDTO.getMtbColts())
|
||||
.anyMatch(x ->
|
||||
Objects.equals(x.getNumCollo(), scannedUL.getNumCollo()) &&
|
||||
x.getDataColloS().equals(scannedUL.getDataColloS()) &&
|
||||
x.getSerCollo().equalsIgnoreCase(scannedUL.getSerCollo()) &&
|
||||
(scannedUL.getGestioneEnum() == GestioneEnum.ACQUISTO || scannedUL.getGestioneEnum() == GestioneEnum.LAVORAZIONE))) {
|
||||
pickingList
|
||||
.forEach(pickingObjectDTO -> {
|
||||
if (pickingObjectDTO.getMtbColts().stream()
|
||||
.anyMatch(x ->
|
||||
Objects.equals(x.getNumCollo(), scannedUL.getNumCollo()) &&
|
||||
x.getDataColloS().equals(scannedUL.getDataColloS()) &&
|
||||
x.getSerCollo().equalsIgnoreCase(scannedUL.getSerCollo()) &&
|
||||
(scannedUL.getGestioneEnum() == GestioneEnum.ACQUISTO || scannedUL.getGestioneEnum() == GestioneEnum.LAVORAZIONE))) {
|
||||
|
||||
matchPickingObject.add(pickingObjectDTO);
|
||||
}
|
||||
});
|
||||
matchPickingObject.add(pickingObjectDTO);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//Controllo se nel collo ho degli articoli che corrispondono per codice / taglia / colore / lotto
|
||||
Stream.of(scannedUL.getMtbColr()).filter(x -> !UtilityString.isNullOrEmpty(x.getCodMart())).forEach(x -> {
|
||||
scannedUL.getMtbColr().stream().filter(x -> !UtilityString.isNullOrEmpty(x.getCodMart())).forEach(x -> {
|
||||
|
||||
for (PickingObjectDTO pickingObject : pickingList) {
|
||||
//Da verificare se il controllo per partita deve essere sempre effettuato
|
||||
@ -736,7 +787,7 @@ public class SpedizioneViewModel {
|
||||
ObservableArrayList<MtbColr> cloneMtbColrs = (ObservableArrayList<MtbColr>) cloneMtbColt.getMtbColr().clone();
|
||||
|
||||
|
||||
Stream.of(cloneMtbColt.getMtbColr())
|
||||
cloneMtbColt.getMtbColr().stream()
|
||||
.filter(x -> !(UtilityString.equalsIgnoreCase(x.getCodMart(), matchedObject.getSitArtOrdDTO().getCodMart()) &&
|
||||
UtilityString.equalsIgnoreCase(x.getCodTagl(), matchedObject.getSitArtOrdDTO().getCodTagl()) &&
|
||||
UtilityString.equalsIgnoreCase(x.getCodCol(), matchedObject.getSitArtOrdDTO().getCodCol()) &&
|
||||
@ -760,12 +811,12 @@ public class SpedizioneViewModel {
|
||||
private void searchArtFromAnag(MtbAart mtbAart, PickDataDTO pickData, Runnable onComplete) {
|
||||
final List<PickingObjectDTO> pickingList = mPickingList.getValue();
|
||||
|
||||
List<PickingObjectDTO> matchPickingObject = Stream.of(pickingList)
|
||||
List<PickingObjectDTO> matchPickingObject = pickingList.stream()
|
||||
.filter(x -> UtilityString.equalsIgnoreCase(mtbAart.getCodMart(), x.getSitArtOrdDTO().getCodMart()))
|
||||
.filter(x -> x.getSitArtOrdDTO().isFlagEnableScanArt()).filter(x -> {
|
||||
MtbPartitaMag mtbPartitaMag = pickData != null && pickData.getManualPickDTO() != null && pickData.getManualPickDTO().getMtbPartitaMag() != null ? pickData.getManualPickDTO().getMtbPartitaMag() : null;
|
||||
return !mEnableCheckPartitaMag || (mtbPartitaMag != null && UtilityString.equalsIgnoreCase(x.getSitArtOrdDTO().getPartitaMag(), mtbPartitaMag.getPartitaMag()));
|
||||
}).toList();
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
for (PickingObjectDTO pickingObjectDTO : matchPickingObject) {
|
||||
pickingObjectDTO.setTempPickData(pickData);
|
||||
@ -787,7 +838,7 @@ public class SpedizioneViewModel {
|
||||
|
||||
List<PickingObjectDTO> pickingList = mPickingList.getValue();
|
||||
|
||||
Stream.of(pickingList).filter(x -> x != matchedItem).forEach(x -> x.setHidden(true));
|
||||
pickingList.stream().filter(x -> x != matchedItem).forEach(x -> x.setHidden(true));
|
||||
|
||||
this.sendFilterApplied(null);
|
||||
this.getPickingList().postValue(pickingList);
|
||||
@ -828,14 +879,14 @@ public class SpedizioneViewModel {
|
||||
|
||||
List<MtbColr> scannedMtbColrs = pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr();
|
||||
|
||||
List<MtbPartitaMag> availableBatchLots = Stream.of(scannedMtbColrs)
|
||||
List<MtbPartitaMag> availableBatchLots = scannedMtbColrs.stream()
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(pickingObjectDTO.getMtbAart().getCodMart()) &&
|
||||
(x.getPartitaMag() == null || x.getMtbPartitaMag().getDataScad() == null ||
|
||||
UtilityDate.getNow().isBefore(x.getMtbPartitaMag().getDataScad())))
|
||||
|
||||
.distinctBy(MtbColr::getPartitaMag)
|
||||
.map(x -> x.getPartitaMag() == null ? new MtbPartitaMag().setCodMart(x.getMtbAart().getCodMart()) : x.getMtbPartitaMag())
|
||||
.toList();
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
//Controllo se una delle partite combacia con quella che voglio evadere
|
||||
// if (refMtbColr != null && refMtbColr.getMtbPartitaMag() != null) {
|
||||
@ -854,24 +905,30 @@ public class SpedizioneViewModel {
|
||||
|
||||
List<MtbPartitaMag> tmp = new ArrayList<>();
|
||||
|
||||
if (Stream.of(availableBatchLots).anyMatch(x -> x.getDataScad() != null)) {
|
||||
tmp.addAll(Stream.of(availableBatchLots)
|
||||
if (availableBatchLots.stream().anyMatch(x -> x.getDataScad() != null)) {
|
||||
tmp.addAll(availableBatchLots.stream()
|
||||
.filter(x -> x.getDataScad() != null && UtilityDate.getNow().isBefore(x.getDataScad()))
|
||||
.sortBy(MtbPartitaMag::getDataScad).
|
||||
toList());
|
||||
.sorted(Comparator.comparing(MtbPartitaMag::getDataScad))
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
if (Stream.of(availableBatchLots).anyMatch(x -> x.getDataScad() == null)) {
|
||||
tmp.addAll(Stream.of(availableBatchLots)
|
||||
if (availableBatchLots.stream().anyMatch(x -> x.getDataScad() == null)) {
|
||||
tmp.addAll(availableBatchLots.stream()
|
||||
.filter(x -> x.getDataScad() == null)
|
||||
.sortBy(x -> UtilityString.isNull(x.getPartitaMag(), "")).toList());
|
||||
.sorted(Comparator.comparing(MtbPartitaMag::getPartitaMag))
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
this.sendBatchLotSelectionRequest(tmp, selected -> {
|
||||
this.sendOnLoadingEnded();
|
||||
|
||||
if (selected != null) {
|
||||
MtbColr scannedMtbColr = Stream.of(pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr()).filter(x -> x.getCodMart().equalsIgnoreCase(pickingObjectDTO.getMtbAart().getCodMart()) && ((x.getPartitaMag() != null && selected.getPartitaMag() != null && x.getPartitaMag().equalsIgnoreCase(selected.getPartitaMag())) || (x.getPartitaMag() == null && selected.getPartitaMag() == null))).toList().get(0);
|
||||
MtbColr scannedMtbColr = pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr().stream()
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(pickingObjectDTO.getMtbAart().getCodMart()) &&
|
||||
((x.getPartitaMag() != null && selected.getPartitaMag() != null && x.getPartitaMag().equalsIgnoreCase(selected.getPartitaMag()))
|
||||
|| (x.getPartitaMag() == null && selected.getPartitaMag() == null)))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
|
||||
dispatchOrdineRowOnPostBatchLotSelection(pickingObjectDTO, refMtbColt, refMtbColr, scannedMtbColr, canPartitaMagBeChanged);
|
||||
}
|
||||
@ -894,10 +951,11 @@ public class SpedizioneViewModel {
|
||||
AtomicBigDecimal numCnfWithdrawRows = new AtomicBigDecimal();
|
||||
AtomicBigDecimal qtaColWithdrawRows = new AtomicBigDecimal();
|
||||
|
||||
Stream.of(pickingObjectDTO.getWithdrawMtbColrs()).forEach(row -> {
|
||||
numCnfWithdrawRows.addAndGet(row.getNumCnf());
|
||||
qtaColWithdrawRows.addAndGet(row.getQtaCol());
|
||||
});
|
||||
pickingObjectDTO.getWithdrawMtbColrs().stream()
|
||||
.forEach(row -> {
|
||||
numCnfWithdrawRows.addAndGet(row.getNumCnf());
|
||||
qtaColWithdrawRows.addAndGet(row.getQtaCol());
|
||||
});
|
||||
|
||||
BigDecimal numCnfDaEvadere = pickingObjectDTO.getSitArtOrdDTO().getNumCnfOrd().subtract(numCnfWithdrawRows.getBigDecimalValue());
|
||||
BigDecimal qtaDaEvadere = pickingObjectDTO.getSitArtOrdDTO().getQtaOrd().subtract(qtaColWithdrawRows.getBigDecimalValue());
|
||||
@ -1158,7 +1216,10 @@ public class SpedizioneViewModel {
|
||||
public void dispatchRowEdit(final MtbColr mtbColrToEdit) {
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
Optional<PickingObjectDTO> optionalPickingObjectDTO = Stream.of(this.mPickingList.getValue()).filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToEdit)).findSingle();
|
||||
Optional<PickingObjectDTO> optionalPickingObjectDTO =
|
||||
this.mPickingList.getValue().stream()
|
||||
.filter(x -> x.getWithdrawMtbColrs().stream().anyMatch(y -> y == mtbColrToEdit))
|
||||
.findFirst();
|
||||
|
||||
PickingObjectDTO pickingObjectDTO = null;
|
||||
|
||||
@ -1187,10 +1248,11 @@ public class SpedizioneViewModel {
|
||||
AtomicBigDecimal numCnfWithdrawRows = new AtomicBigDecimal(0);
|
||||
AtomicBigDecimal qtaColWithdrawRows = new AtomicBigDecimal(0);
|
||||
|
||||
Stream.of(finalPickingObjectDTO.getWithdrawMtbColrs()).forEach(row -> {
|
||||
numCnfWithdrawRows.addAndGet(row.getNumCnf());
|
||||
qtaColWithdrawRows.addAndGet(row.getQtaCol());
|
||||
});
|
||||
finalPickingObjectDTO.getWithdrawMtbColrs()
|
||||
.forEach(row -> {
|
||||
numCnfWithdrawRows.addAndGet(row.getNumCnf());
|
||||
qtaColWithdrawRows.addAndGet(row.getQtaCol());
|
||||
});
|
||||
|
||||
numCnfDaEvadere = totalNumCnfOrd.subtract(numCnfWithdrawRows.getBigDecimalValue()).add(mtbColrToEdit.getNumCnf());
|
||||
qtaDaEvadere = totalQtaOrd.subtract(qtaColWithdrawRows.getBigDecimalValue()).add(mtbColrToEdit.getQtaCol());
|
||||
@ -1215,7 +1277,13 @@ public class SpedizioneViewModel {
|
||||
|
||||
if (mtbColrRifs != null && mtbColrRifs.size() > 0) {
|
||||
//TODO: Da capire se è necessario controllare anche il cod_jcom
|
||||
Optional<MtbColr> optionalMtbColr = Stream.of(mtbColrRifs).filter(x -> UtilityString.equalsIgnoreCase(x.getCodMart(), mtbColrToEdit.getCodMart()) && UtilityString.equalsIgnoreCase(x.getCodCol(), mtbColrToEdit.getCodCol()) && UtilityString.equalsIgnoreCase(x.getCodTagl(), mtbColrToEdit.getCodTagl()) && UtilityString.equalsIgnoreCase(x.getPartitaMag(), mtbColrToEdit.getPartitaMag())).findSingle();
|
||||
Optional<MtbColr> optionalMtbColr =
|
||||
mtbColrRifs.stream()
|
||||
.filter(x -> UtilityString.equalsIgnoreCase(x.getCodMart(), mtbColrToEdit.getCodMart()) &&
|
||||
UtilityString.equalsIgnoreCase(x.getCodCol(), mtbColrToEdit.getCodCol()) &&
|
||||
UtilityString.equalsIgnoreCase(x.getCodTagl(), mtbColrToEdit.getCodTagl()) &&
|
||||
UtilityString.equalsIgnoreCase(x.getPartitaMag(), mtbColrToEdit.getPartitaMag()))
|
||||
.findFirst();
|
||||
|
||||
mtbColrRif = optionalMtbColr.isPresent() ? optionalMtbColr.get() : null;
|
||||
}
|
||||
@ -1270,15 +1338,16 @@ public class SpedizioneViewModel {
|
||||
|
||||
public void createNewLU(Integer customNumCollo, String customSerCollo, Runnable onComplete) {
|
||||
int causaleCollo = 0;
|
||||
if (mDefaultGestioneOfUL == GestioneEnum.LAVORAZIONE && mDefaultSegnoCol == +1) causaleCollo = 1;
|
||||
if (mDefaultGestioneOfUL == GestioneEnum.LAVORAZIONE && mDefaultSegnoCol == +1)
|
||||
causaleCollo = 1;
|
||||
|
||||
final List<CreateUDSRequestOrderDTO> orders = Stream.of(this.mTestateOrdini)
|
||||
final List<CreateUDSRequestOrderDTO> orders = this.mTestateOrdini.stream()
|
||||
.map(x -> new CreateUDSRequestOrderDTO()
|
||||
.setDataCons(x.getDataConsD() != null ? UtilityDate.toLocalDate(x.getDataConsD()) : null)
|
||||
.setDataOrd(UtilityDate.toLocalDate(x.getDataOrdD()))
|
||||
.setGestione(x.getGestione())
|
||||
.setNumOrd(x.getNumOrd()))
|
||||
.toList();
|
||||
.collect(Collectors.toList());
|
||||
|
||||
final CreateUDSRequestDTO createUDSRequestDTO = new CreateUDSRequestDTO()
|
||||
.setCodMdep(SettingsManager.i().getUserSession().getDepo().getCodMdep())
|
||||
@ -1407,9 +1476,10 @@ public class SpedizioneViewModel {
|
||||
.setQtaCnf(savedMtbColr.getQtaCnf())
|
||||
.setQtaCol(savedMtbColr.getQtaCol());
|
||||
|
||||
Optional<PickingObjectDTO> pickingObjectDTO = Stream.of(this.mPickingList.getValue())
|
||||
.filter(x -> Stream.of(x.getWithdrawMtbColrs())
|
||||
.anyMatch(y -> y == mtbColrToUpdate)).findSingle();
|
||||
Optional<PickingObjectDTO> pickingObjectDTO = this.mPickingList.getValue().stream()
|
||||
.filter(x -> x.getWithdrawMtbColrs().stream()
|
||||
.anyMatch(y -> y == mtbColrToUpdate))
|
||||
.findFirst();
|
||||
|
||||
if (pickingObjectDTO.isPresent()) {
|
||||
pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToUpdate);
|
||||
@ -1437,9 +1507,9 @@ public class SpedizioneViewModel {
|
||||
.setMtbColrToDelete(mtbColrToDelete);
|
||||
|
||||
this.mColliScaricoRESTConsumer.deleteUDSRow(deleteUDSRowRequestoDTO, () -> {
|
||||
Optional<PickingObjectDTO> pickingObjectDTO = Stream.of(this.mPickingList.getValue())
|
||||
.filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToDelete))
|
||||
.findSingle();
|
||||
Optional<PickingObjectDTO> pickingObjectDTO = this.mPickingList.getValue().stream()
|
||||
.filter(x -> x.getWithdrawMtbColrs().stream().anyMatch(y -> y == mtbColrToDelete))
|
||||
.findFirst();
|
||||
|
||||
if (pickingObjectDTO.isPresent()) {
|
||||
pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToDelete);
|
||||
@ -1485,7 +1555,7 @@ public class SpedizioneViewModel {
|
||||
positionedMtbColts -> {
|
||||
|
||||
this.askPrint((shouldPrint && SettingsManager.iDB().isFlagPrintEtichetteOnLUClose()), positionedMtbColts, () -> {
|
||||
Stream.of(positionedMtbColts)
|
||||
positionedMtbColts.stream()
|
||||
.filter(x -> !this.mColliRegistrati.contains(x))
|
||||
.forEach(x -> this.mColliRegistrati.add(x));
|
||||
|
||||
@ -1514,7 +1584,8 @@ public class SpedizioneViewModel {
|
||||
clonedLuToClose.setMtbColr(null);
|
||||
|
||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||
if(mTestateOrdini != null && !mTestateOrdini.isEmpty()) codMdep = mTestateOrdini.get(0).getCodMdep();
|
||||
if (mTestateOrdini != null && !mTestateOrdini.isEmpty())
|
||||
codMdep = mTestateOrdini.get(0).getCodMdep();
|
||||
|
||||
var closeUDSRequestDto = new CloseUDSRequestDTO()
|
||||
.setMtbColt(clonedLuToClose)
|
||||
@ -1716,7 +1787,7 @@ public class SpedizioneViewModel {
|
||||
private void postCloseOperations(List<MtbColt> mtbColtList) {
|
||||
if (mTestateOrdini != null) {
|
||||
for (MtbColt mtbColt : mtbColtList) {
|
||||
Stream.of(mTestateOrdini)
|
||||
mTestateOrdini.stream()
|
||||
.filter(x -> x.getNumOrd().equals(mtbColt.getNumOrd()) && x.getDataOrdD().equals(mtbColt.getDataOrdD()) && x.getGestioneEnum() == mtbColt.getGestioneEnum())
|
||||
.forEach(x -> x.setExistColloBoolean(true));
|
||||
}
|
||||
@ -1735,7 +1806,17 @@ public class SpedizioneViewModel {
|
||||
|
||||
if (pickingObjectDTO.getMtbColts() != null) {
|
||||
|
||||
Optional<MtbColr> optionalMtbColrReference = Stream.of(pickingObjectDTO.getMtbColts()).filter(y -> withdrawMtbColr.getRefMtbColr() != null && withdrawMtbColr.getRefMtbColr().getNumCollo().equals(y.getNumCollo()) && withdrawMtbColr.getRefMtbColr().getDataColloD().equals(y.getDataColloD()) && withdrawMtbColr.getRefMtbColr().getSerCollo().equals(y.getSerCollo()) && withdrawMtbColr.getRefMtbColr().getGestioneEnum().equals(y.getGestioneEnum()) && UtilityString.equalsIgnoreCase(withdrawMtbColr.getRefMtbColr().getCodMart(), y.getMtbColr() != null && y.getMtbColr().size() > 0 ? y.getMtbColr().get(0).getCodMart() : null) && UtilityString.equalsIgnoreCase(withdrawMtbColr.getRefMtbColr().getCodTagl(), y.getMtbColr() != null && y.getMtbColr().size() > 0 ? y.getMtbColr().get(0).getCodTagl() : null) && UtilityString.equalsIgnoreCase(withdrawMtbColr.getRefMtbColr().getCodCol(), y.getMtbColr() != null && y.getMtbColr().size() > 0 ? y.getMtbColr().get(0).getCodCol() : null)).map(y -> y.getMtbColr().get(0)).findFirst();
|
||||
Optional<MtbColr> optionalMtbColrReference = pickingObjectDTO.getMtbColts().stream()
|
||||
.filter(y -> withdrawMtbColr.getRefMtbColr() != null &&
|
||||
withdrawMtbColr.getRefMtbColr().getNumCollo().equals(y.getNumCollo()) &&
|
||||
withdrawMtbColr.getRefMtbColr().getDataColloD().equals(y.getDataColloD()) &&
|
||||
withdrawMtbColr.getRefMtbColr().getSerCollo().equals(y.getSerCollo()) &&
|
||||
withdrawMtbColr.getRefMtbColr().getGestioneEnum().equals(y.getGestioneEnum()) &&
|
||||
UtilityString.equalsIgnoreCase(withdrawMtbColr.getRefMtbColr().getCodMart(), y.getMtbColr() != null && !y.getMtbColr().isEmpty() ? y.getMtbColr().get(0).getCodMart() : null) &&
|
||||
UtilityString.equalsIgnoreCase(withdrawMtbColr.getRefMtbColr().getCodTagl(), y.getMtbColr() != null && !y.getMtbColr().isEmpty() ? y.getMtbColr().get(0).getCodTagl() : null) &&
|
||||
UtilityString.equalsIgnoreCase(withdrawMtbColr.getRefMtbColr().getCodCol(), y.getMtbColr() != null && !y.getMtbColr().isEmpty() ? y.getMtbColr().get(0).getCodCol() : null))
|
||||
.map(y -> y.getMtbColr().get(0))
|
||||
.findFirst();
|
||||
|
||||
|
||||
if (optionalMtbColrReference.isPresent()) {
|
||||
@ -1783,11 +1864,13 @@ public class SpedizioneViewModel {
|
||||
onOrderClosedPrintingDone();
|
||||
return;
|
||||
}
|
||||
List<DtbOrdt> closedOrders = Stream.of(this.mTestateOrdini).map(ord -> {
|
||||
DtbOrdt ordV = new DtbOrdt();
|
||||
ordV.setDataOrd(ord.getDataOrdS()).setNumOrd(ord.getNumOrd()).setGestione(ord.getGestione()).setCodAnag(ord.getCodAnagOrd());
|
||||
return ordV;
|
||||
}).toList();
|
||||
List<DtbOrdt> closedOrders = this.mTestateOrdini.stream()
|
||||
.map(ord -> new DtbOrdt()
|
||||
.setDataOrd(ord.getDataOrdS())
|
||||
.setNumOrd(ord.getNumOrd())
|
||||
.setGestione(ord.getGestione())
|
||||
.setCodAnag(ord.getCodAnagOrd())
|
||||
).toList();
|
||||
|
||||
dto.setPrintList(closedOrders);
|
||||
printClosedOrders(dto, this::onOrderClosedPrintingDone, ex -> this.sendLUPrintError(ex, this::sendOnLoadingEnded));
|
||||
@ -1798,6 +1881,23 @@ public class SpedizioneViewModel {
|
||||
}
|
||||
|
||||
|
||||
public void registraImballi(VtbVett vettore, List<TracciamentoImballoDTO> imballi) {
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
var inputData = imballi.stream()
|
||||
.map(x -> new ImballoQuantityDTO()
|
||||
.setQta(x.getQta().get())
|
||||
.setCodMart(x.getCodMart().get()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
mImballiRESTConsumer.registraScarico(
|
||||
vettore != null ? vettore.getCodVvet() : null, inputData,
|
||||
() -> {
|
||||
this.sendOnLoadingEnded();
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
|
||||
public MutableLiveData<List<PickingObjectDTO>> getPickingList() {
|
||||
return mPickingList;
|
||||
}
|
||||
@ -1806,11 +1906,24 @@ public class SpedizioneViewModel {
|
||||
return (ArrayList<MtbColt>) this.mColliRegistrati;
|
||||
}
|
||||
|
||||
void createDocs() {
|
||||
public VtbVett getDefaultVettore() {
|
||||
return mDefaultVettore;
|
||||
}
|
||||
|
||||
void createDocs() {
|
||||
var loadCollidto = new LoadColliDTO();
|
||||
var codAnag = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getCodAnagOrd).withoutNulls().distinctBy(x -> x).findFirst().get();
|
||||
var codVdes = Stream.of(mTestateOrdini).map(OrdineUscitaInevasoDTO::getCodVdes).withoutNulls().distinctBy(x -> x).findFirst().get();
|
||||
|
||||
var codAnag = mTestateOrdini.stream().map(OrdineUscitaInevasoDTO::getCodAnagOrd)
|
||||
.filter(Objects::nonNull)
|
||||
.distinct()
|
||||
.findFirst()
|
||||
.get();
|
||||
|
||||
var codVdes = mTestateOrdini.stream().map(OrdineUscitaInevasoDTO::getCodVdes)
|
||||
.filter(Objects::nonNull)
|
||||
.distinct()
|
||||
.findFirst()
|
||||
.get();
|
||||
|
||||
loadCollidto.setColli(getCreatedMtbColts());
|
||||
loadCollidto.setCodDtip(SettingsManager.iDB().getCodDtipOrdTrasfV());
|
||||
|
||||
@ -0,0 +1,121 @@
|
||||
package it.integry.integrywmsnative.ui.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.Filter;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.databinding.ArrayAdapterTwoLinesItemBinding;
|
||||
|
||||
public class SimpleAutoCompleteTwoLinesDropdownAdapter<T> extends ArrayAdapter<SimpleAutoCompleteTwoLinesDropdownListModel<T>> {
|
||||
|
||||
private List<SimpleAutoCompleteTwoLinesDropdownListModel<T>> mObjects;
|
||||
|
||||
public SimpleAutoCompleteTwoLinesDropdownAdapter(@NonNull Context context, int resource) {
|
||||
super(context, resource);
|
||||
}
|
||||
|
||||
public SimpleAutoCompleteTwoLinesDropdownAdapter(@NonNull Context context, @NonNull SimpleAutoCompleteTwoLinesDropdownListModel<T>[] objects) {
|
||||
super(context, R.layout.array_adapter_two_lines_item, objects);
|
||||
mObjects = Arrays.asList(objects);
|
||||
}
|
||||
|
||||
public SimpleAutoCompleteTwoLinesDropdownAdapter(@NonNull Context context, @NonNull List<SimpleAutoCompleteTwoLinesDropdownListModel<T>> objects) {
|
||||
super(context, R.layout.array_adapter_two_lines_item, objects);
|
||||
mObjects = objects;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Filter getFilter() {
|
||||
return new StringFilter(mObjects);
|
||||
}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
|
||||
SimpleAutoCompleteTwoLinesDropdownListModel<T> item = mObjects.get(position);
|
||||
// Check if an existing view is being reused, otherwise inflate the view
|
||||
ArrayAdapterTwoLinesItemBinding bindings = ArrayAdapterTwoLinesItemBinding.inflate(LayoutInflater.from(getContext()), parent, false);
|
||||
|
||||
// if (convertView == null) {
|
||||
// bindings = ArrayAdapterTwoLinesItemBinding.inflate(LayoutInflater.from(getContext()), parent, false);
|
||||
// convertView = bindings.getRoot();
|
||||
// convertView.setTag(bindings);
|
||||
// } else {
|
||||
// bindings = (ArrayAdapterTwoLinesItemBinding) convertView.getTag();
|
||||
// }
|
||||
|
||||
// Populate the data into the template view using the data object
|
||||
bindings.itemTitle.setText(item.getTitle());
|
||||
bindings.itemDescription.setText(item.getDescription());
|
||||
|
||||
return bindings.getRoot();
|
||||
}
|
||||
|
||||
private class StringFilter extends Filter {
|
||||
|
||||
private ArrayList<SimpleAutoCompleteTwoLinesDropdownListModel<T>> sourceObjects;
|
||||
|
||||
public StringFilter(List<SimpleAutoCompleteTwoLinesDropdownListModel<T>> objects) {
|
||||
if(objects == null) return;
|
||||
sourceObjects = new ArrayList<>();
|
||||
|
||||
synchronized (this) {
|
||||
sourceObjects.addAll(objects);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FilterResults performFiltering(CharSequence chars) {
|
||||
String filterSeq = chars.toString().toLowerCase();
|
||||
FilterResults result = new FilterResults();
|
||||
if (!filterSeq.isEmpty()) {
|
||||
ArrayList<SimpleAutoCompleteTwoLinesDropdownListModel<T>> filter = new ArrayList<>();
|
||||
|
||||
for (SimpleAutoCompleteTwoLinesDropdownListModel<T> object : sourceObjects) {
|
||||
// the filtering itself:
|
||||
if (object.getDescription().toLowerCase().contains(filterSeq) ||
|
||||
object.getTitle().toLowerCase().contains(filterSeq))
|
||||
filter.add(object);
|
||||
}
|
||||
|
||||
result.count = filter.size();
|
||||
result.values = filter;
|
||||
} else {
|
||||
// add all objects
|
||||
synchronized (this) {
|
||||
result.values = sourceObjects;
|
||||
result.count = sourceObjects.size();
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
protected void publishResults(CharSequence constraint,
|
||||
FilterResults results) {
|
||||
// NOTE: this function is *always* called from the UI thread.
|
||||
if(constraint != null && constraint.length() > 2) {
|
||||
ArrayList<SimpleAutoCompleteTwoLinesDropdownListModel<T>> filtered = (ArrayList<SimpleAutoCompleteTwoLinesDropdownListModel<T>>) results.values;
|
||||
notifyDataSetChanged();
|
||||
clear();
|
||||
for (int i = 0, l = filtered.size(); i < l; i++)
|
||||
add(filtered.get(i));
|
||||
notifyDataSetInvalidated();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package it.integry.integrywmsnative.ui.adapter;
|
||||
|
||||
public class SimpleAutoCompleteTwoLinesDropdownListModel<T> {
|
||||
|
||||
private String title;
|
||||
private String description;
|
||||
|
||||
private T originalModel;
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public SimpleAutoCompleteTwoLinesDropdownListModel<T> setTitle(String title) {
|
||||
this.title = title;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public SimpleAutoCompleteTwoLinesDropdownListModel<T> setDescription(String description) {
|
||||
this.description = description;
|
||||
return this;
|
||||
}
|
||||
|
||||
public T getOriginalModel() {
|
||||
return originalModel;
|
||||
}
|
||||
|
||||
public SimpleAutoCompleteTwoLinesDropdownListModel<T> setOriginalModel(T originalModel) {
|
||||
this.originalModel = originalModel;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@ -2,13 +2,14 @@ package it.integry.integrywmsnative.view.dialogs.ask_linea_prod;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||
|
||||
@Module(subcomponents = DialogAskLineaProdComponent.class)
|
||||
public class DialogAskLineaProdModule {
|
||||
|
||||
@Provides
|
||||
DialogAskLineaProdViewModel providesDialogAskLineaProdViewModel() {
|
||||
return new DialogAskLineaProdViewModel();
|
||||
DialogAskLineaProdViewModel providesDialogAskLineaProdViewModel(BarcodeRESTConsumer barcodeRESTConsumer) {
|
||||
return new DialogAskLineaProdViewModel(barcodeRESTConsumer);
|
||||
}
|
||||
|
||||
}
|
||||
@ -21,13 +21,14 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.databinding.DialogAskLineaProdBinding;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_linea_prod.dto.DialogAskLineaProdResponse;
|
||||
|
||||
public class DialogAskLineaProdView extends BaseDialogFragment implements DialogAskLineaProdViewModel.Listener {
|
||||
|
||||
@Inject
|
||||
DialogAskLineaProdViewModel mViewModel;
|
||||
|
||||
private final RunnableArgs<String> onComplete;
|
||||
private final RunnableArgs<DialogAskLineaProdResponse> onComplete;
|
||||
private final Runnable onAbort;
|
||||
|
||||
private DialogAskLineaProdBinding mBindings;
|
||||
@ -37,11 +38,11 @@ public class DialogAskLineaProdView extends BaseDialogFragment implements Dialog
|
||||
private int mBarcodeScannerIstanceID;
|
||||
|
||||
//Pass here all external parameters
|
||||
public static DialogAskLineaProdView newInstance(RunnableArgs<String> onComplete, Runnable onAbort) {
|
||||
public static DialogAskLineaProdView newInstance(RunnableArgs<DialogAskLineaProdResponse> onComplete, Runnable onAbort) {
|
||||
return new DialogAskLineaProdView(onComplete, onAbort);
|
||||
}
|
||||
|
||||
private DialogAskLineaProdView(RunnableArgs<String> onComplete, Runnable onAbort) {
|
||||
private DialogAskLineaProdView(RunnableArgs<DialogAskLineaProdResponse> onComplete, Runnable onAbort) {
|
||||
super();
|
||||
this.onComplete = onComplete;
|
||||
this.onAbort = onAbort;
|
||||
@ -101,8 +102,8 @@ public class DialogAskLineaProdView extends BaseDialogFragment implements Dialog
|
||||
};
|
||||
|
||||
@Override
|
||||
public void onProductionLineSelected(String codJfas) {
|
||||
this.onComplete.run(codJfas);
|
||||
public void onProductionLineSelected(DialogAskLineaProdResponse response) {
|
||||
this.onComplete.run(response);
|
||||
|
||||
requireActivity().runOnUiThread(this::dismiss);
|
||||
}
|
||||
|
||||
@ -1,37 +1,86 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_linea_prod;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||
import it.integry.integrywmsnative.core.exception.InvalidLineaProdBarcodeException;
|
||||
import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException;
|
||||
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityPosizione;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_linea_prod.dto.DialogAskLineaProdResponse;
|
||||
|
||||
public class DialogAskLineaProdViewModel {
|
||||
|
||||
private Listener mListener;
|
||||
|
||||
private final BarcodeRESTConsumer barcodeRESTConsumer;
|
||||
|
||||
@Inject
|
||||
public DialogAskLineaProdViewModel(BarcodeRESTConsumer barcodeRESTConsumer) {
|
||||
this.barcodeRESTConsumer = barcodeRESTConsumer;
|
||||
}
|
||||
|
||||
|
||||
public void processBarcodeDTO(BarcodeScanDTO data, Runnable onComplete) {
|
||||
if (UtilityBarcode.isEtichettaPosizione(data)) {
|
||||
|
||||
MtbDepoPosizione foundPosizione = UtilityPosizione.getFromCache(data.getStringValue());
|
||||
|
||||
if (foundPosizione == null || !foundPosizione.isFlagLineaProduzione()) {
|
||||
this.sendError(new InvalidLineaProdBarcodeException(data.getStringValue()));
|
||||
onComplete.run();
|
||||
return;
|
||||
}
|
||||
|
||||
onComplete.run();
|
||||
this.sendOnProductionLineSelected(foundPosizione.getPosizione());
|
||||
|
||||
if (UtilityBarcode.isEtichetta128(data)) {
|
||||
this.executeEtichettaEan128(data, onComplete);
|
||||
} else if (UtilityBarcode.isEtichettaPosizione(data)) {
|
||||
executeEtichettaPosizione(data, onComplete);
|
||||
} else {
|
||||
this.sendError(new NoResultFromBarcodeException());
|
||||
onComplete.run();
|
||||
}
|
||||
}
|
||||
|
||||
private void executeEtichettaEan128(BarcodeScanDTO data, Runnable onComplete) {
|
||||
this.barcodeRESTConsumer.decodeEan128(data, ean128Model -> {
|
||||
|
||||
if (UtilityString.isNullOrEmpty(ean128Model.Internal2)) {
|
||||
this.sendError(new InvalidLineaProdBarcodeException("Id lotto non presente"));
|
||||
onComplete.run();
|
||||
return;
|
||||
}
|
||||
|
||||
if (UtilityString.isNullOrEmpty(ean128Model.Internal3)) {
|
||||
this.sendError(new InvalidLineaProdBarcodeException("Fase non presente"));
|
||||
onComplete.run();
|
||||
return;
|
||||
}
|
||||
|
||||
MtbDepoPosizione foundPosizione = UtilityPosizione.getFromCache(ean128Model.Internal3);
|
||||
|
||||
if (foundPosizione == null || !foundPosizione.isFlagLineaProduzione()) {
|
||||
this.sendError(new InvalidLineaProdBarcodeException(ean128Model.Internal3));
|
||||
onComplete.run();
|
||||
return;
|
||||
}
|
||||
|
||||
onComplete.run();
|
||||
this.sendOnProductionLineSelected(
|
||||
new DialogAskLineaProdResponse(foundPosizione.getPosizione(), Integer.parseInt(ean128Model.Internal2)));
|
||||
|
||||
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
private void executeEtichettaPosizione(BarcodeScanDTO data, Runnable onComplete) {
|
||||
MtbDepoPosizione foundPosizione = UtilityPosizione.getFromCache(data.getStringValue());
|
||||
|
||||
if (foundPosizione == null || !foundPosizione.isFlagLineaProduzione()) {
|
||||
this.sendError(new InvalidLineaProdBarcodeException(data.getStringValue()));
|
||||
onComplete.run();
|
||||
return;
|
||||
}
|
||||
|
||||
onComplete.run();
|
||||
this.sendOnProductionLineSelected(new DialogAskLineaProdResponse(foundPosizione.getPosizione(), null));
|
||||
}
|
||||
|
||||
|
||||
public DialogAskLineaProdViewModel setListener(Listener listener) {
|
||||
this.mListener = listener;
|
||||
return this;
|
||||
@ -45,8 +94,8 @@ public class DialogAskLineaProdViewModel {
|
||||
if (this.mListener != null) mListener.onLoadingEnded();
|
||||
}
|
||||
|
||||
private void sendOnProductionLineSelected(String codJfas) {
|
||||
if (this.mListener != null) mListener.onProductionLineSelected(codJfas);
|
||||
private void sendOnProductionLineSelected(DialogAskLineaProdResponse response) {
|
||||
if (this.mListener != null) mListener.onProductionLineSelected(response);
|
||||
}
|
||||
|
||||
private void sendError(Exception ex) {
|
||||
@ -55,6 +104,7 @@ public class DialogAskLineaProdViewModel {
|
||||
|
||||
public interface Listener extends ILoadingListener {
|
||||
void onError(Exception ex);
|
||||
void onProductionLineSelected(String codJfas);
|
||||
|
||||
void onProductionLineSelected(DialogAskLineaProdResponse response);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_linea_prod.dto;
|
||||
|
||||
public class DialogAskLineaProdResponse {
|
||||
|
||||
|
||||
private String posizione;
|
||||
private final Integer idLotto;
|
||||
|
||||
|
||||
public DialogAskLineaProdResponse(String posizione, Integer idLotto) {
|
||||
this.posizione = posizione;
|
||||
this.idLotto = idLotto;
|
||||
}
|
||||
|
||||
public String getPosizione() {
|
||||
return posizione;
|
||||
}
|
||||
|
||||
public Integer getIdLotto() {
|
||||
return idLotto;
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,17 +1,14 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_should_versamento_automatico_ul;
|
||||
|
||||
import android.content.DialogInterface;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@ -22,10 +19,9 @@ import it.integry.integrywmsnative.databinding.DialogAskShouldVersamentoAutomati
|
||||
|
||||
public class DialogAskShouldVersamentoAutomaticoULView extends BaseDialogFragment {
|
||||
|
||||
private RunnableArgs<Boolean> mOnDismiss;
|
||||
private final RunnableArgs<Boolean> mOnDismiss;
|
||||
private DialogAskShouldVersamentoAutomaticoUlBinding mBindings;
|
||||
|
||||
private boolean returnValue = false;
|
||||
private Context mContext;
|
||||
|
||||
public static DialogAskShouldVersamentoAutomaticoULView newInstance(@NotNull RunnableArgs<Boolean> onDismiss) {
|
||||
return new DialogAskShouldVersamentoAutomaticoULView(onDismiss);
|
||||
@ -37,39 +33,32 @@ public class DialogAskShouldVersamentoAutomaticoULView extends BaseDialogFragmen
|
||||
this.mOnDismiss = onDismiss;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||
mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_ask_should_versamento_automatico_ul, container, false);
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
this.mContext = requireContext();
|
||||
|
||||
mBindings = DialogAskShouldVersamentoAutomaticoUlBinding.inflate(LayoutInflater.from(this.mContext), null, false);
|
||||
mBindings.setLifecycleOwner(this);
|
||||
|
||||
getDialog().setCanceledOnTouchOutside(false);
|
||||
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
||||
|
||||
mBindings.setView(this);
|
||||
|
||||
return mBindings.getRoot();
|
||||
}
|
||||
setCancelable(false);
|
||||
|
||||
@Override
|
||||
public void onDismiss(@NonNull DialogInterface dialog) {
|
||||
super.onDismiss(dialog);
|
||||
var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
|
||||
.setView(mBindings.getRoot())
|
||||
.setCancelable(isCancelable())
|
||||
.setNegativeButton(R.string.no, (dialog, which) -> {
|
||||
this.mOnDismiss.run(false);
|
||||
})
|
||||
.setPositiveButton(R.string.yes, (dialog, which) -> {
|
||||
this.mOnDismiss.run(true);
|
||||
})
|
||||
.create();
|
||||
|
||||
if (mOnDismiss != null) {
|
||||
this.mOnDismiss.run(returnValue);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void confirm() {
|
||||
this.returnValue = true;
|
||||
dismiss();
|
||||
}
|
||||
|
||||
public void abort() {
|
||||
this.returnValue = false;
|
||||
dismiss();
|
||||
alertDialog.setCanceledOnTouchOutside(isCancelable());
|
||||
alertDialog.setOnShowListener(this);
|
||||
return alertDialog;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,14 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_vettore;
|
||||
|
||||
import dagger.Subcomponent;
|
||||
|
||||
@Subcomponent
|
||||
public interface DialogAskVettoreComponent {
|
||||
|
||||
@Subcomponent.Factory
|
||||
interface Factory {
|
||||
DialogAskVettoreComponent create();
|
||||
}
|
||||
|
||||
void inject(DialogAskVettoreView dialogAskVettoreView);
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_vettore;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.VettoriRESTConsumer;
|
||||
|
||||
@Module(subcomponents = DialogAskVettoreComponent.class)
|
||||
public class DialogAskVettoreModule {
|
||||
|
||||
@Provides
|
||||
DialogAskVettoreViewModel providesDialogAskVettoreViewModel(VettoriRESTConsumer vettoriRESTConsumer) {
|
||||
return new DialogAskVettoreViewModel(vettoriRESTConsumer);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,147 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_vettore;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.ListPopupWindow;
|
||||
import androidx.databinding.ObservableField;
|
||||
import androidx.databinding.ObservableList;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.integrywmsnative.MainApplication;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
|
||||
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.model.VtbVett;
|
||||
import it.integry.integrywmsnative.databinding.DialogAskVettoreBinding;
|
||||
import it.integry.integrywmsnative.ui.adapter.SimpleAutoCompleteTwoLinesDropdownAdapter;
|
||||
import it.integry.integrywmsnative.ui.adapter.SimpleAutoCompleteTwoLinesDropdownListModel;
|
||||
|
||||
public class DialogAskVettoreView extends BaseDialogFragment implements DialogAskVettoreViewModel.Listener {
|
||||
|
||||
|
||||
@Inject
|
||||
DialogAskVettoreViewModel mViewModel;
|
||||
|
||||
private ListPopupWindow listPopupWindow;
|
||||
|
||||
private DialogAskVettoreBinding mBindings;
|
||||
private Context mContext;
|
||||
|
||||
private final RunnableArgs<VtbVett> onComplete;
|
||||
|
||||
public ObservableField<VtbVett> selectedVettore = new ObservableField<>();
|
||||
|
||||
//Pass here all external parameters
|
||||
public static DialogAskVettoreView newInstance(VtbVett preselectedVett, @NotNull RunnableArgs<VtbVett> onComplete) {
|
||||
return new DialogAskVettoreView(preselectedVett, onComplete);
|
||||
}
|
||||
|
||||
private DialogAskVettoreView(VtbVett preselectedVett, @NotNull RunnableArgs<VtbVett> onComplete) {
|
||||
super();
|
||||
|
||||
this.selectedVettore.set(preselectedVett);
|
||||
this.onComplete = onComplete;
|
||||
|
||||
MainApplication.appComponent
|
||||
.dialogAskVettoreComponent()
|
||||
.create()
|
||||
.inject(this);
|
||||
}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
this.mContext = requireContext();
|
||||
|
||||
mBindings = DialogAskVettoreBinding.inflate(LayoutInflater.from(this.mContext), null, false);
|
||||
mBindings.setLifecycleOwner(this);
|
||||
mBindings.setView(this);
|
||||
mBindings.setViewmodel(mViewModel);
|
||||
|
||||
setCancelable(false);
|
||||
|
||||
var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
|
||||
.setView(mBindings.getRoot())
|
||||
.setNeutralButton(R.string.skip, (dialog, which) -> {
|
||||
if(this.onComplete != null) this.onComplete.run(null);
|
||||
})
|
||||
.setPositiveButton(R.string.confirm, (dialog, which) -> {
|
||||
if(this.onComplete != null) this.onComplete.run(selectedVettore.get());
|
||||
})
|
||||
.setCancelable(isCancelable())
|
||||
.create();
|
||||
|
||||
alertDialog.setCanceledOnTouchOutside(isCancelable());
|
||||
alertDialog.setOnShowListener(this);
|
||||
return alertDialog;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onInit(DialogInterface dialogInterface) {
|
||||
super.onInit(dialogInterface);
|
||||
|
||||
mViewModel
|
||||
.setListener(this)
|
||||
.init();
|
||||
|
||||
listPopupWindow = new ListPopupWindow(requireActivity());
|
||||
listPopupWindow.setAnchorView(mBindings.buttonVettore);
|
||||
|
||||
mViewModel.getVettoriDisponibili().addOnListChangedCallback(new OnListGeneralChangedCallback() {
|
||||
@Override
|
||||
public void onChanged(ObservableList sender) {
|
||||
var list = mViewModel.getVettoriDisponibili().stream()
|
||||
.sorted(Comparator.comparing(VtbVett::getCodVvet))
|
||||
.map(x -> new SimpleAutoCompleteTwoLinesDropdownListModel<VtbVett>()
|
||||
.setTitle(x.getCodVvet())
|
||||
.setDescription(x.getRagSoc())
|
||||
.setOriginalModel(x))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
list.add(0, new SimpleAutoCompleteTwoLinesDropdownListModel<VtbVett>()
|
||||
.setTitle("")
|
||||
.setDescription("Nessuna selezione")
|
||||
.setOriginalModel(null));
|
||||
|
||||
requireActivity().runOnUiThread(() -> {
|
||||
|
||||
listPopupWindow.setAdapter(new SimpleAutoCompleteTwoLinesDropdownAdapter<>(requireActivity(), list));
|
||||
|
||||
listPopupWindow.setOnItemClickListener((parent, view, position, id) -> {
|
||||
if(position == 0)
|
||||
selectedVettore.set(null);
|
||||
else selectedVettore.set(list.get(position).getOriginalModel());
|
||||
|
||||
listPopupWindow.dismiss();
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void togglePopupShow() {
|
||||
if(this.listPopupWindow.isShowing())
|
||||
this.listPopupWindow.dismiss();
|
||||
else
|
||||
this.listPopupWindow.show();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,58 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_vettore;
|
||||
|
||||
import androidx.databinding.ObservableArrayList;
|
||||
|
||||
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||
import it.integry.integrywmsnative.core.model.VtbVett;
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.VettoriRESTConsumer;
|
||||
|
||||
public class DialogAskVettoreViewModel {
|
||||
|
||||
private final VettoriRESTConsumer vettoriRESTConsumer;
|
||||
|
||||
private final ObservableArrayList<VtbVett> vettoriDisponibili = new ObservableArrayList<>();
|
||||
|
||||
private Listener mListener;
|
||||
|
||||
public DialogAskVettoreViewModel(VettoriRESTConsumer vettoriRESTConsumer) {
|
||||
this.vettoriRESTConsumer = vettoriRESTConsumer;
|
||||
}
|
||||
|
||||
|
||||
public void init() {
|
||||
this.vettoriRESTConsumer.retrieveRecentlyUsedInOrders(GestioneEnum.VENDITA, recentlyUsedVett -> {
|
||||
|
||||
if (recentlyUsedVett == null || recentlyUsedVett.isEmpty())
|
||||
return;
|
||||
|
||||
vettoriDisponibili.addAll(recentlyUsedVett);
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
public ObservableArrayList<VtbVett> getVettoriDisponibili() {
|
||||
return vettoriDisponibili;
|
||||
}
|
||||
|
||||
private void sendOnLoadingStarted() {
|
||||
if (this.mListener != null) mListener.onLoadingStarted();
|
||||
}
|
||||
|
||||
private void sendOnLoadingEnded() {
|
||||
if (this.mListener != null) mListener.onLoadingEnded();
|
||||
}
|
||||
|
||||
private void sendError(Exception ex) {
|
||||
if (this.mListener != null) mListener.onError(ex);
|
||||
}
|
||||
|
||||
public DialogAskVettoreViewModel setListener(Listener listener) {
|
||||
this.mListener = listener;
|
||||
return this;
|
||||
}
|
||||
|
||||
interface Listener extends ILoadingListener {
|
||||
void onError(Exception ex);
|
||||
}
|
||||
|
||||
}
|
||||
@ -2,14 +2,14 @@ package it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
||||
|
||||
@Module(subcomponents = DialogInfoAggiuntiveLUComponent.class)
|
||||
public class DialogInfoAggiuntiveLUModule {
|
||||
|
||||
@Provides
|
||||
DialogInfoAggiuntiveLUViewModel providesDialogInfoAggiuntiveLUViewModel(MagazzinoRESTConsumer magazzinoRESTConsumer) {
|
||||
return new DialogInfoAggiuntiveLUViewModel(magazzinoRESTConsumer);
|
||||
DialogInfoAggiuntiveLUViewModel providesDialogInfoAggiuntiveLUViewModel(ImballiRESTConsumer imballiRESTConsumer) {
|
||||
return new DialogInfoAggiuntiveLUViewModel(imballiRESTConsumer);
|
||||
}
|
||||
|
||||
}
|
||||
@ -6,6 +6,7 @@ import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.AdapterView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@ -98,19 +99,20 @@ public class DialogInfoAggiuntiveLUView extends BaseDialogFragment implements Di
|
||||
|
||||
alertDialog.setCanceledOnTouchOutside(isCancelable());
|
||||
alertDialog.setOnShowListener(this);
|
||||
|
||||
alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
|
||||
return alertDialog;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onShow(DialogInterface dialogInterface) {
|
||||
super.onShow(dialogInterface);
|
||||
public void onInit(DialogInterface dialogInterface) {
|
||||
super.onInit(dialogInterface);
|
||||
|
||||
this.init();
|
||||
this.mViewModel.init();
|
||||
}
|
||||
|
||||
|
||||
private void init() {
|
||||
if (this.currentMtbColt != null)
|
||||
this.additionalNotes.set(currentMtbColt.getAnnotazioni());
|
||||
|
||||
@ -2,32 +2,33 @@ package it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu;
|
||||
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
||||
|
||||
public class DialogInfoAggiuntiveLUViewModel {
|
||||
|
||||
private final MutableLiveData<List<MtbTCol>> tipiCollo = new MutableLiveData<>();
|
||||
|
||||
private Listener mListener;
|
||||
private final MagazzinoRESTConsumer mMagazzinoRESTConsumer;
|
||||
private final ImballiRESTConsumer imballiRESTConsumer;
|
||||
|
||||
@Inject
|
||||
public DialogInfoAggiuntiveLUViewModel(MagazzinoRESTConsumer mMagazzinoRESTConsumer) {
|
||||
this.mMagazzinoRESTConsumer = mMagazzinoRESTConsumer;
|
||||
public DialogInfoAggiuntiveLUViewModel(ImballiRESTConsumer imballiRESTConsumer) {
|
||||
this.imballiRESTConsumer = imballiRESTConsumer;
|
||||
}
|
||||
|
||||
|
||||
public void init() {
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
mMagazzinoRESTConsumer.getTipiCollo(tipiCollo -> {
|
||||
this.tipiCollo.postValue(tipiCollo);
|
||||
imballiRESTConsumer.retrieveTipiCollo(MtbTCol.FlagUiUlEnum.UL, tipiCollo -> {
|
||||
this.tipiCollo.postValue(tipiCollo == null ? new ArrayList<>() : tipiCollo);
|
||||
this.sendOnLoadingEnded();
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
@ -2,15 +2,15 @@ package it.integry.integrywmsnative.view.dialogs.input_lu_prod;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MesRESTConsumer;
|
||||
|
||||
@Module(subcomponents = DialogInputLUProdComponent.class)
|
||||
public class DialogInputLUProdModule {
|
||||
|
||||
@Provides
|
||||
DialogInputLUProdViewModel providesDialogInputLUProdViewModel(MagazzinoRESTConsumer magazzinoRESTConsumer, MesRESTConsumer mesRESTConsumer) {
|
||||
return new DialogInputLUProdViewModel(magazzinoRESTConsumer, mesRESTConsumer);
|
||||
DialogInputLUProdViewModel providesDialogInputLUProdViewModel(ImballiRESTConsumer imballiRESTConsumer, MesRESTConsumer mesRESTConsumer) {
|
||||
return new DialogInputLUProdViewModel(imballiRESTConsumer, mesRESTConsumer);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -12,12 +12,12 @@ import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingL
|
||||
import it.integry.integrywmsnative.core.model.JtbFasi;
|
||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MesRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||
import it.integry.integrywmsnative.view.dialogs.exception.InvalidGrossWeightQuantityException;
|
||||
import it.integry.integrywmsnative.view.dialogs.exception.InvalidProductionLineException;
|
||||
import it.integry.integrywmsnative.view.dialogs.exception.InvalidNumCnfQuantityException;
|
||||
import it.integry.integrywmsnative.view.dialogs.exception.InvalidProductionLineException;
|
||||
|
||||
public class DialogInputLUProdViewModel {
|
||||
|
||||
@ -50,19 +50,19 @@ public class DialogInputLUProdViewModel {
|
||||
|
||||
private Listener mListener;
|
||||
|
||||
private final MagazzinoRESTConsumer mMagazzinoRESTConsumer;
|
||||
private final ImballiRESTConsumer imballiRESTConsumer;
|
||||
private final MesRESTConsumer mMesRESTConsumer;
|
||||
|
||||
@Inject
|
||||
public DialogInputLUProdViewModel(MagazzinoRESTConsumer magazzinoRESTConsumer, MesRESTConsumer mesRESTConsumer) {
|
||||
this.mMagazzinoRESTConsumer = magazzinoRESTConsumer;
|
||||
public DialogInputLUProdViewModel(ImballiRESTConsumer imballiRESTConsumer, MesRESTConsumer mesRESTConsumer) {
|
||||
this.imballiRESTConsumer = imballiRESTConsumer;
|
||||
this.mMesRESTConsumer = mesRESTConsumer;
|
||||
}
|
||||
|
||||
public void init(String codJfasParent) {
|
||||
new Thread(this::sendOnLoadingStarted).start();
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
mMagazzinoRESTConsumer.getTipiCollo(tipiCollo -> {
|
||||
imballiRESTConsumer.retrieveTipiCollo(MtbTCol.FlagUiUlEnum.UL, tipiCollo -> {
|
||||
this.mTipiColloLiveData.postValue(tipiCollo);
|
||||
|
||||
mMesRESTConsumer.getLineeProduzione(codJfasParent, jtbFasi -> {
|
||||
|
||||
@ -24,7 +24,7 @@ import it.integry.integrywmsnative.core.di.BindableString;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgsss;
|
||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
||||
import it.integry.integrywmsnative.databinding.DialogInputPesoLuBinding;
|
||||
@ -35,7 +35,7 @@ public class DialogInputPesoLUView extends BaseDialogFragment {
|
||||
DialogInputPesoLUViewModel mViewModel;
|
||||
|
||||
@Inject
|
||||
MagazzinoRESTConsumer magazzinoRESTConsumer;
|
||||
ImballiRESTConsumer imballiRESTConsumer;
|
||||
|
||||
private DialogInputPesoLuBinding mBindings;
|
||||
private Context mContext;
|
||||
@ -98,7 +98,7 @@ public class DialogInputPesoLUView extends BaseDialogFragment {
|
||||
|
||||
private void init() {
|
||||
|
||||
magazzinoRESTConsumer.getTipiCollo(codTcols -> {
|
||||
imballiRESTConsumer.retrieveTipiCollo(MtbTCol.FlagUiUlEnum.UL, codTcols -> {
|
||||
this.codTcolList = codTcols;
|
||||
|
||||
List<String> codTcolDescriptions = Stream.of(codTcols)
|
||||
|
||||
@ -641,8 +641,7 @@ public class DialogInputQuantityV2ViewModel {
|
||||
}
|
||||
|
||||
private MtbPartitaMag retrievePartitaMag(String partitaMag, String codMart) throws Exception {
|
||||
return mMagazzinoRESTConsumer.retrievePartitaMagSyncronized(partitaMag, codMart, this::sendError);
|
||||
|
||||
return mMagazzinoRESTConsumer.retrievePartitaMagSyncronized(partitaMag, codMart);
|
||||
}
|
||||
|
||||
public DialogInputQuantityV2ResultDTO getResult() {
|
||||
|
||||
@ -107,7 +107,7 @@ public class DialogScanOrCreateLUView extends BaseDialogFragment implements Dial
|
||||
|
||||
var alertDialog = new MaterialAlertDialogBuilder(requireContext())
|
||||
.setView(mBindings.getRoot())
|
||||
.setCancelable(false)
|
||||
.setCancelable(isCancelable())
|
||||
.create();
|
||||
alertDialog.setCanceledOnTouchOutside(false);
|
||||
alertDialog.setOnShowListener(this);
|
||||
|
||||
@ -0,0 +1,14 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.tracciamento_imballi;
|
||||
|
||||
import dagger.Subcomponent;
|
||||
|
||||
@Subcomponent
|
||||
public interface DialogTracciamentoImballiComponent {
|
||||
|
||||
@Subcomponent.Factory
|
||||
interface Factory {
|
||||
DialogTracciamentoImballiComponent create();
|
||||
}
|
||||
|
||||
void inject(DialogTracciamentoImballiView dialogTracciamentoImballiView);
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.tracciamento_imballi;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
||||
|
||||
@Module(subcomponents = DialogTracciamentoImballiComponent.class)
|
||||
public class DialogTracciamentoImballiModule {
|
||||
|
||||
@Provides
|
||||
DialogTracciamentoImballiViewModel providesDialogTracciamentoImballiViewModel(ImballiRESTConsumer imballiRESTConsumer) {
|
||||
return new DialogTracciamentoImballiViewModel(imballiRESTConsumer);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,207 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.tracciamento_imballi;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.PopupMenu;
|
||||
import androidx.databinding.ObservableBoolean;
|
||||
import androidx.databinding.ObservableList;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.ravikoradiya.liveadapter.LiveAdapter;
|
||||
import com.ravikoradiya.liveadapter.Type;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.integrywmsnative.BR;
|
||||
import it.integry.integrywmsnative.MainApplication;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
|
||||
import it.integry.integrywmsnative.core.expansion.OnGeneralChangedCallback;
|
||||
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.databinding.DialogTracciamentoImballiBinding;
|
||||
import it.integry.integrywmsnative.databinding.DialogTracciamentoImballiListItemModelBinding;
|
||||
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.adapter.DialogTracciamentoImballi_TipoColloAdapter;
|
||||
|
||||
public class DialogTracciamentoImballiView extends BaseDialogFragment implements DialogTracciamentoImballiViewModel.Listener {
|
||||
|
||||
@Inject
|
||||
DialogTracciamentoImballiViewModel mViewModel;
|
||||
|
||||
|
||||
public final ObservableBoolean canAddMoreItems = new ObservableBoolean(true);
|
||||
public DialogTracciamentoImballi_TipoColloAdapter tipoColloAdapter;
|
||||
|
||||
|
||||
private DialogTracciamentoImballiBinding mBindings;
|
||||
private Context mContext;
|
||||
private final RunnableArgs<List<TracciamentoImballoDTO>> onComplete;
|
||||
|
||||
//Pass here all external parameters
|
||||
public static DialogTracciamentoImballiView newInstance(@NotNull RunnableArgs<List<TracciamentoImballoDTO>> onComplete) {
|
||||
return new DialogTracciamentoImballiView(onComplete);
|
||||
}
|
||||
|
||||
private DialogTracciamentoImballiView(@NotNull RunnableArgs<List<TracciamentoImballoDTO>> onComplete) {
|
||||
super();
|
||||
|
||||
this.onComplete = onComplete;
|
||||
|
||||
MainApplication.appComponent
|
||||
.dialogTracciamentoImballiComponent()
|
||||
.create()
|
||||
.inject(this);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
this.mContext = requireContext();
|
||||
|
||||
mBindings = DialogTracciamentoImballiBinding.inflate(LayoutInflater.from(this.mContext), null, false);
|
||||
mBindings.setLifecycleOwner(this);
|
||||
mBindings.setViewmodel(this.mViewModel);
|
||||
mBindings.setView(this);
|
||||
|
||||
setCancelable(false);
|
||||
|
||||
var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
|
||||
.setView(mBindings.getRoot())
|
||||
.setCancelable(isCancelable())
|
||||
.setNeutralButton(R.string.action_close, null)
|
||||
.setPositiveButton(R.string.confirm, (dialog, which) -> {
|
||||
this.onComplete.run(this.mViewModel.getImballiRegistrati().getValue());
|
||||
})
|
||||
.create();
|
||||
|
||||
alertDialog.setCanceledOnTouchOutside(isCancelable());
|
||||
alertDialog.setOnShowListener(this);
|
||||
return alertDialog;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onInit(DialogInterface dialogInterface) {
|
||||
super.onInit(dialogInterface);
|
||||
|
||||
this.initAdapter();
|
||||
this.initRecyclerView();
|
||||
|
||||
this.mViewModel.getImballiRegistrati().observe(this, data -> {
|
||||
onEditableChangedCallback.run();
|
||||
|
||||
data.forEach(x -> {
|
||||
x.getEditable().removeOnPropertyChangedCallback(onEditableChangedCallback);
|
||||
x.getEditable().addOnPropertyChangedCallback(onEditableChangedCallback);
|
||||
});
|
||||
});
|
||||
|
||||
this.mViewModel
|
||||
.setListener(this)
|
||||
.init();
|
||||
}
|
||||
|
||||
private void initAdapter() {
|
||||
mViewModel.getImballiDisponibili().addOnListChangedCallback(new OnListGeneralChangedCallback<>() {
|
||||
@Override
|
||||
public void onChanged(ObservableList sender) {
|
||||
var list = mViewModel.getImballiDisponibili();
|
||||
|
||||
tipoColloAdapter = new DialogTracciamentoImballi_TipoColloAdapter(mContext, R.layout.array_adapter_single_item, list);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private final OnGeneralChangedCallback onEditableChangedCallback = new OnGeneralChangedCallback() {
|
||||
@Override
|
||||
public void run() {
|
||||
var allNotEditable = mViewModel.getImballiRegistrati().getValue()
|
||||
.stream()
|
||||
.noneMatch(TracciamentoImballoDTO::isEditable);
|
||||
canAddMoreItems.set(allNotEditable);
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public void onShow(DialogInterface dialogInterface) {
|
||||
super.onShow(dialogInterface);
|
||||
|
||||
//StackOverflow
|
||||
//The problem seems to be (at least in my case), that since the place where you enter text
|
||||
// is hidden initially (or nested or something), AlertDialog is automatically setting the
|
||||
// flag WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM (or some combination of that and
|
||||
// WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) so that things don't trigger
|
||||
// a soft input to show up.
|
||||
getDialog().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
|
||||
|
||||
|
||||
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
|
||||
}
|
||||
|
||||
|
||||
private void initRecyclerView() {
|
||||
var itemType = new Type<TracciamentoImballoDTO, DialogTracciamentoImballiListItemModelBinding>(R.layout.dialog_tracciamento_imballi__list_item_model, BR.item);
|
||||
itemType.onBind(dialogTracciamentoImballiListItemModelBindingHolder -> {
|
||||
var itemBinding = dialogTracciamentoImballiListItemModelBindingHolder.getBinding();
|
||||
|
||||
itemBinding.filledExposedDropdownArticolo.setText("");
|
||||
itemBinding.textInputQta.setText("");
|
||||
|
||||
itemBinding.filledExposedDropdownArticolo.setAdapter(tipoColloAdapter);
|
||||
itemBinding.filledExposedDropdownArticolo.setOnItemClickListener((adapterView, view, i, l) -> {
|
||||
|
||||
var tipoCollo = ((DialogTracciamentoImballi_TipoColloAdapter.ListModel) adapterView.getItemAtPosition(i)).getOriginalModel();
|
||||
|
||||
itemBinding.getItem().setCodMart(tipoCollo.getCodMart())
|
||||
.setDescrizione(tipoCollo.getDescrizione())
|
||||
.setCodMart(tipoCollo.getCodMart());
|
||||
});
|
||||
|
||||
return null;
|
||||
});
|
||||
itemType.onLongClick(dialogTracciamentoImballiListItemModelBindingHolder -> {
|
||||
var popupMenu = new PopupMenu(requireContext(), dialogTracciamentoImballiListItemModelBindingHolder.itemView);
|
||||
var inflater = popupMenu.getMenuInflater();
|
||||
inflater.inflate(R.menu.edit_delete_menu, popupMenu.getMenu());
|
||||
|
||||
popupMenu.setOnMenuItemClickListener(item -> {
|
||||
int itemId = item.getItemId();
|
||||
|
||||
if (itemId == R.id.edit) {
|
||||
dialogTracciamentoImballiListItemModelBindingHolder.getBinding().getItem().setEditable(true);
|
||||
return true;
|
||||
} else if (itemId == R.id.delete) {
|
||||
var itemToDelete = dialogTracciamentoImballiListItemModelBindingHolder.getBinding().getItem();
|
||||
mViewModel.deleteImballo(itemToDelete);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
popupMenu.show();
|
||||
|
||||
return null;
|
||||
});
|
||||
itemType.areContentsTheSame(TracciamentoImballoDTO::equals);
|
||||
|
||||
new LiveAdapter(this.mViewModel.getImballiRegistrati(), this)
|
||||
.map(TracciamentoImballoDTO.class, itemType)
|
||||
.into(this.mBindings.recyclerview);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,92 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.tracciamento_imballi;
|
||||
|
||||
import androidx.databinding.ObservableArrayList;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
||||
|
||||
public class DialogTracciamentoImballiViewModel {
|
||||
|
||||
private final ImballiRESTConsumer imballiRESTConsumer;
|
||||
|
||||
private final MutableLiveData<List<TracciamentoImballoDTO>> imballiRegistrati = new MutableLiveData<>(new ArrayList<>());
|
||||
private final ObservableArrayList<MtbTCol> imballiDisponibili = new ObservableArrayList<>();
|
||||
|
||||
private Listener mListener;
|
||||
|
||||
public DialogTracciamentoImballiViewModel(ImballiRESTConsumer imballiRESTConsumer) {
|
||||
this.imballiRESTConsumer = imballiRESTConsumer;
|
||||
}
|
||||
|
||||
|
||||
public void init() {
|
||||
this.imballiRESTConsumer.retrieveTipiCollo(MtbTCol.FlagUiUlEnum.UI, tipiCollo -> {
|
||||
|
||||
if (tipiCollo == null || tipiCollo.isEmpty())
|
||||
return;
|
||||
|
||||
imballiDisponibili.addAll(tipiCollo);
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
|
||||
public LiveData<List<TracciamentoImballoDTO>> getImballiRegistrati() {
|
||||
return imballiRegistrati;
|
||||
}
|
||||
|
||||
public ObservableArrayList<MtbTCol> getImballiDisponibili() {
|
||||
return imballiDisponibili;
|
||||
}
|
||||
|
||||
public void addNew() {
|
||||
var tmp = imballiRegistrati.getValue();
|
||||
tmp.add(new TracciamentoImballoDTO());
|
||||
|
||||
imballiRegistrati.postValue(tmp);
|
||||
}
|
||||
|
||||
public void saveCurrent() {
|
||||
var currentOpened = imballiRegistrati.getValue().stream()
|
||||
.filter(TracciamentoImballoDTO::isEditable)
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
|
||||
currentOpened.setEditable(!currentOpened.isEditable());
|
||||
}
|
||||
|
||||
|
||||
public void deleteImballo(TracciamentoImballoDTO imballoToRemove) {
|
||||
Objects.requireNonNull(this.imballiRegistrati.getValue()).remove(imballoToRemove);
|
||||
imballiRegistrati.postValue(imballiRegistrati.getValue());
|
||||
}
|
||||
|
||||
|
||||
private void sendOnLoadingStarted() {
|
||||
if (this.mListener != null) mListener.onLoadingStarted();
|
||||
}
|
||||
|
||||
private void sendOnLoadingEnded() {
|
||||
if (this.mListener != null) mListener.onLoadingEnded();
|
||||
}
|
||||
|
||||
private void sendError(Exception ex) {
|
||||
if (this.mListener != null) mListener.onError(ex);
|
||||
}
|
||||
|
||||
public DialogTracciamentoImballiViewModel setListener(Listener listener) {
|
||||
this.mListener = listener;
|
||||
return this;
|
||||
}
|
||||
|
||||
interface Listener extends ILoadingListener {
|
||||
void onError(Exception ex);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,84 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.tracciamento_imballi;
|
||||
|
||||
import androidx.databinding.ObservableBoolean;
|
||||
import androidx.databinding.ObservableField;
|
||||
|
||||
public class TracciamentoImballoDTO {
|
||||
|
||||
private final ObservableField<String> codTcol = new ObservableField<>();
|
||||
private final ObservableField<String> descrizione = new ObservableField<>();
|
||||
private final ObservableField<String> codMart = new ObservableField<>();
|
||||
private final ObservableField<Integer> qta = new ObservableField<Integer>();
|
||||
|
||||
private final ObservableBoolean editable = new ObservableBoolean(true);
|
||||
|
||||
public ObservableField<String> getCodTcol() {
|
||||
return codTcol;
|
||||
}
|
||||
|
||||
public ObservableField<String> getDescrizione() {
|
||||
return descrizione;
|
||||
}
|
||||
|
||||
public ObservableField<String> getCodMart() {
|
||||
return codMart;
|
||||
}
|
||||
|
||||
public ObservableField<Integer> getQta() {
|
||||
return qta;
|
||||
}
|
||||
|
||||
public TracciamentoImballoDTO setCodTcol(String codTcol) {
|
||||
this.codTcol.set(codTcol);
|
||||
return this;
|
||||
}
|
||||
|
||||
public TracciamentoImballoDTO setDescrizione(String descrizione) {
|
||||
this.descrizione.set(descrizione);
|
||||
return this;
|
||||
}
|
||||
|
||||
public TracciamentoImballoDTO setCodMart(String codMart) {
|
||||
this.codMart.set(codMart);
|
||||
return this;
|
||||
}
|
||||
|
||||
public TracciamentoImballoDTO setQta(Integer qta) {
|
||||
this.qta.set(qta);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ObservableBoolean getEditable() {
|
||||
return editable;
|
||||
}
|
||||
|
||||
public boolean isEditable() {
|
||||
return editable.get();
|
||||
}
|
||||
|
||||
public void setEditable(boolean editable) {
|
||||
this.editable.set(editable);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
|
||||
TracciamentoImballoDTO that = (TracciamentoImballoDTO) o;
|
||||
|
||||
if (!getCodTcol().equals(that.getCodTcol())) return false;
|
||||
if (!getDescrizione().equals(that.getDescrizione())) return false;
|
||||
if (!getCodMart().equals(that.getCodMart())) return false;
|
||||
if (!getQta().equals(that.getQta())) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = getCodTcol() != null ? getCodTcol().hashCode() : 0;
|
||||
result = 31 * result + (getQta() != null ? getQta().hashCode() : 0);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,48 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.widget.ArrayAdapter;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||
|
||||
public class DialogTracciamentoImballi_TipoColloAdapter extends ArrayAdapter<DialogTracciamentoImballi_TipoColloAdapter.ListModel> {
|
||||
|
||||
public DialogTracciamentoImballi_TipoColloAdapter(@NonNull Context context, int resource, List<MtbTCol> inputData) {
|
||||
super(context, resource);
|
||||
|
||||
if(inputData == null) return;
|
||||
|
||||
List<ListModel> mDataset = Stream.of(inputData)
|
||||
.map(x -> new ListModel()
|
||||
.setOriginalModel(x))
|
||||
.toList();
|
||||
|
||||
addAll(mDataset);
|
||||
}
|
||||
|
||||
public static class ListModel {
|
||||
|
||||
private MtbTCol originalModel;
|
||||
|
||||
public MtbTCol getOriginalModel() {
|
||||
return originalModel;
|
||||
}
|
||||
public ListModel setOriginalModel(MtbTCol originalModel) {
|
||||
this.originalModel = originalModel;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.getOriginalModel().getDescrizione();
|
||||
//return this.getOriginalModel().getCodDtip() + " - " + this.getOriginalModel().getDescrizione();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,26 +1,23 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.versamento_automatico_ul_done;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.text.Html;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
|
||||
import it.integry.integrywmsnative.core.rest.model.VersamentoAutomaticoULResponseDTO;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDialog;
|
||||
import it.integry.integrywmsnative.databinding.DialogVersamentoAutomaticoUlDoneBinding;
|
||||
|
||||
public class DialogVersamentoAutomaticoULDoneView extends BaseDialogFragment {
|
||||
@ -29,6 +26,7 @@ public class DialogVersamentoAutomaticoULDoneView extends BaseDialogFragment {
|
||||
private final Runnable mOnDismiss;
|
||||
|
||||
private DialogVersamentoAutomaticoUlDoneBinding mBindings;
|
||||
private Context mContext;
|
||||
|
||||
public static DialogVersamentoAutomaticoULDoneView newInstance(@NotNull VersamentoAutomaticoULResponseDTO versamentoAutomaticoULResponseDTO, @NotNull Runnable onDismiss) {
|
||||
return new DialogVersamentoAutomaticoULDoneView(versamentoAutomaticoULResponseDTO, onDismiss);
|
||||
@ -41,36 +39,40 @@ public class DialogVersamentoAutomaticoULDoneView extends BaseDialogFragment {
|
||||
this.mOnDismiss = onDismiss;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||
mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_versamento_automatico_ul_done, container, false);
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
this.mContext = requireContext();
|
||||
|
||||
mBindings = DialogVersamentoAutomaticoUlDoneBinding.inflate(LayoutInflater.from(this.mContext), null, false);
|
||||
mBindings.setLifecycleOwner(this);
|
||||
|
||||
getDialog().setCanceledOnTouchOutside(false);
|
||||
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
||||
|
||||
UtilityDialog.setTo95PercentWidth(requireContext(), this);
|
||||
|
||||
mBindings.setView(this);
|
||||
|
||||
setCancelable(false);
|
||||
|
||||
var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
|
||||
.setView(mBindings.getRoot())
|
||||
.setCancelable(isCancelable())
|
||||
.setNeutralButton(R.string.action_close, (dialog, which) -> this.mOnDismiss.run())
|
||||
.setPositiveButton(R.string.ok, (dialog, which) -> {
|
||||
this.mOnDismiss.run();
|
||||
})
|
||||
.create();
|
||||
|
||||
alertDialog.setCanceledOnTouchOutside(isCancelable());
|
||||
alertDialog.setOnShowListener(this);
|
||||
return alertDialog;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInit(DialogInterface dialogInterface) {
|
||||
super.onInit(dialogInterface);
|
||||
|
||||
this.initTitle();
|
||||
this.initContent();
|
||||
|
||||
return mBindings.getRoot();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDismiss(@NonNull DialogInterface dialog) {
|
||||
super.onDismiss(dialog);
|
||||
|
||||
if (mOnDismiss != null) {
|
||||
this.mOnDismiss.run();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void initTitle() {
|
||||
int colorBackgroundTitle = -1;
|
||||
|
||||
@ -82,8 +84,7 @@ public class DialogVersamentoAutomaticoULDoneView extends BaseDialogFragment {
|
||||
colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.yellow_600);
|
||||
}
|
||||
|
||||
|
||||
mBindings.base.setBackgroundColor(colorBackgroundTitle);
|
||||
mBindings.icon.setColorFilter(colorBackgroundTitle);
|
||||
}
|
||||
|
||||
private void initContent() {
|
||||
@ -99,72 +100,6 @@ public class DialogVersamentoAutomaticoULDoneView extends BaseDialogFragment {
|
||||
}
|
||||
|
||||
mBindings.descriptionText.setText(Html.fromHtml(text));
|
||||
|
||||
|
||||
|
||||
|
||||
// var notCompletedListAdapter = new BaseAdapter() {
|
||||
//
|
||||
// @Override
|
||||
// public View getView(int position, View convertView, ViewGroup parent) {
|
||||
//
|
||||
// var mtbColr = versamentoAutomaticoULResponseDTO.getFailed().get(position);
|
||||
//
|
||||
// var inflater = LayoutInflater.from(requireContext());
|
||||
// DialogVersamentoAutomaticoUlDoneNotCompletedListItemBinding binding = null;
|
||||
//
|
||||
// if(convertView == null) {
|
||||
// binding = DataBindingUtil.inflate(inflater, R.layout.dialog_versamento_automatico_ul_done__not_completed_list_item, parent, false);
|
||||
// } else {
|
||||
// binding = DataBindingUtil.findBinding(convertView);
|
||||
// }
|
||||
//
|
||||
// binding.setItem(mtbColr);
|
||||
//
|
||||
// convertView = binding.getRoot();
|
||||
//
|
||||
// //Setting qty with unt_mis
|
||||
// if (!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||
// String text = UtilityNumber.decimalToString(mtbColr.getQtaCol());
|
||||
//
|
||||
//
|
||||
// if (mtbColr.getMtbAart() != null) {
|
||||
// text += !UtilityString.isNullOrEmpty(mtbColr.getMtbAart().getUntMis()) ? "\n" + mtbColr.getMtbAart().getUntMis() : "";
|
||||
// }
|
||||
//
|
||||
// binding.qtaTextview.setText(text);
|
||||
// } else {
|
||||
// binding.qtaTextview.setText(UtilityNumber.decimalToString(mtbColr.getNumCnf()) + "\n" + UtilityResources.getString(R.string.unt_mis_col));
|
||||
// }
|
||||
//
|
||||
// return convertView;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public long getItemId(int position) {
|
||||
// return position;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public Object getItem(int position) {
|
||||
// return position;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public int getCount() {
|
||||
// return versamentoAutomaticoULResponseDTO.getFailed().size();
|
||||
// }
|
||||
// };
|
||||
//
|
||||
//
|
||||
// mBindings.detailsNotCompletedList.setAdapter(notCompletedListAdapter);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// public void toggleDetailVisibility() {
|
||||
// mBindings.detailsContainer.toggle(true);
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
|
||||
7
app/src/main/res/drawable/circular_background.xml
Normal file
7
app/src/main/res/drawable/circular_background.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
|
||||
<solid android:color="@android:color/white" />
|
||||
|
||||
<corners android:radius="500dp" />
|
||||
</shape>
|
||||
10
app/src/main/res/drawable/ic_add_to_inbox.xml
Normal file
10
app/src/main/res/drawable/ic_add_to_inbox.xml
Normal file
@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:pathData="M19,0L19,3L16,3L16,5L19,5L19,8L21,8L21,5L24,5L24,3L21,3L21,0L19,0zM5.75,3C5.271,3 4.86,3.34 4.77,3.811L3.02,12.811C3.007,12.873 3,12.936 3,13L3,19C3,20.103 3.897,21 5,21L19,21C20.103,21 21,20.103 21,19L21,13C21,12.936 20.993,12.873 20.98,12.811L20.436,10L18.398,10L18.98,13L16,13C15.57,13 15.188,13.275 15.051,13.684L14.455,15.473C14.35,15.787 14.055,16 13.723,16L10.277,16C9.945,16 9.65,15.788 9.545,15.473L8.947,13.684C8.811,13.276 8.43,13 8,13L5.02,13L6.574,5L14,5L14,3L5.75,3z"
|
||||
android:fillColor="@android:color/white"/>
|
||||
</vector>
|
||||
@ -3,7 +3,7 @@
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="@color/colorPrimary">
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M19,3h-4.18C14.4,1.84 13.3,1 12,1c-1.3,0 -2.4,0.84 -2.82,2L5,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2zM12,3c0.55,0 1,0.45 1,1s-0.45,1 -1,1 -1,-0.45 -1,-1 0.45,-1 1,-1zM10,17l-4,-4 1.41,-1.41L10,14.17l6.59,-6.59L18,9l-8,8z"/>
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/badge_round_corner"
|
||||
android:backgroundTint="@color/colorPrimary"
|
||||
android:backgroundTint="?colorPrimary"
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingTop="2dp"
|
||||
android:paddingRight="6dp"
|
||||
|
||||
@ -6,25 +6,23 @@
|
||||
name="selected"
|
||||
type="it.integry.integrywmsnative.core.di.BindableBoolean" />
|
||||
|
||||
|
||||
|
||||
</data>
|
||||
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="8dp">
|
||||
android:paddingStart="2dp"
|
||||
android:paddingEnd="4dp"
|
||||
android:paddingVertical="2dp">
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatCheckBox
|
||||
<CheckBox
|
||||
android:id="@+id/accettazione_main_list_group_item_container_checkBox"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:clickable="false"
|
||||
android:enabled="false"
|
||||
tools:layout_editor_absoluteX="0dp"
|
||||
tools:layout_editor_absoluteY="1dp"
|
||||
android:focusable="false"
|
||||
app:checked="@{selected}" />
|
||||
|
||||
<RelativeLayout
|
||||
|
||||
@ -1,63 +1,28 @@
|
||||
<layout xmlns:tools="http://schemas.android.com/tools">
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:card_view="http://schemas.android.com/apk/res-auto"
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="2dp"
|
||||
android:background="@color/mainGreen">
|
||||
|
||||
|
||||
<!--<androidx.cardview.widget.CardView-->
|
||||
<!--xmlns:card_view="http://schemas.android.com/apk/res-auto"-->
|
||||
<!--android:id="@+id/card_view"-->
|
||||
<!--android:layout_gravity="center"-->
|
||||
<!--android:layout_width="match_parent"-->
|
||||
<!--android:layout_height="wrap_content"-->
|
||||
<!--card_view:cardUseCompatPadding="true"-->
|
||||
<!--card_view:cardCornerRadius="4dp"-->
|
||||
<!--card_view:cardElevation="4dp">-->
|
||||
<CheckBox
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:checked="true"
|
||||
android:enabled="false" />
|
||||
|
||||
<!--<LinearLayout-->
|
||||
<!--android:layout_width="match_parent"-->
|
||||
<!--android:layout_height="match_parent"-->
|
||||
<!--android:orientation="vertical">-->
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/mainGreen"
|
||||
android:padding="8dp">
|
||||
|
||||
<CheckBox
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:checked="true"
|
||||
android:enabled="false" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/accettazione_main_list_group_header"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@android:color/white"
|
||||
android:textStyle="bold"
|
||||
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||
tools:text="NOME GRUPPO"/>
|
||||
|
||||
</LinearLayout>
|
||||
<TextView
|
||||
android:id="@+id/accettazione_main_list_group_header"
|
||||
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@android:color/white"
|
||||
android:textStyle="bold"
|
||||
tools:text="NOME GRUPPO" />
|
||||
|
||||
|
||||
<!--<LinearLayout-->
|
||||
<!--android:layout_width="match_parent"-->
|
||||
<!--android:layout_height="wrap_content"-->
|
||||
<!--android:orientation="vertical"-->
|
||||
<!--android:id="@+id/accettazione_main_list_group_item_container">-->
|
||||
|
||||
|
||||
|
||||
<!--</LinearLayout>-->
|
||||
|
||||
<!--</LinearLayout>-->
|
||||
|
||||
<!--</androidx.cardview.widget.CardView>-->
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
</layout>
|
||||
@ -25,7 +25,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/badge_round_corner"
|
||||
android:backgroundTint="@color/colorPrimary"
|
||||
android:backgroundTint="?colorPrimary"
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingTop="2dp"
|
||||
android:paddingRight="6dp"
|
||||
|
||||
@ -81,7 +81,7 @@
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/colorPrimary"
|
||||
android:background="?colorPrimary"
|
||||
android:orientation="horizontal"
|
||||
android:padding="16dp">
|
||||
|
||||
@ -245,11 +245,13 @@
|
||||
android:visibility="visible">
|
||||
|
||||
|
||||
<ProgressBar
|
||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||
android:id="@+id/progressBar"
|
||||
style="?android:attr/progressBarStyle"
|
||||
style="?attr/circularProgressIndicatorStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
android:layout_height="wrap_content"
|
||||
android:indeterminate="true"
|
||||
app:trackCornerRadius="4dp"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/AppTheme.NewMaterial.Text"
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{item.codMart}"
|
||||
android:textColor="@color/colorPrimary"
|
||||
android:textColor="?colorPrimary"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
tools:text="COD MART" />
|
||||
@ -76,7 +76,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/badge_round_corner"
|
||||
android:backgroundTint="@color/colorPrimary"
|
||||
android:backgroundTint="?colorPrimary"
|
||||
android:gravity="center"
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingTop="2dp"
|
||||
|
||||
@ -67,7 +67,7 @@
|
||||
android:id="@+id/profile_root_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/colorPrimary"
|
||||
android:background="?colorPrimary"
|
||||
android:orientation="horizontal"
|
||||
android:padding="16dp">
|
||||
|
||||
|
||||
@ -114,7 +114,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/badge_round_corner"
|
||||
android:backgroundTint="@color/colorPrimary"
|
||||
android:backgroundTint="?colorPrimary"
|
||||
android:gravity="center"
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingTop="2dp"
|
||||
|
||||
@ -314,11 +314,13 @@
|
||||
app:layout_constraintEnd_toEndOf="parent">
|
||||
|
||||
|
||||
<ProgressBar
|
||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||
android:id="@+id/progressBar"
|
||||
style="?android:attr/progressBarStyle"
|
||||
style="?attr/circularProgressIndicatorStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
android:layout_height="wrap_content"
|
||||
android:indeterminate="true"
|
||||
app:trackCornerRadius="4dp"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/AppTheme.NewMaterial.Text"
|
||||
|
||||
@ -179,11 +179,13 @@
|
||||
app:layout_constraintEnd_toEndOf="parent">
|
||||
|
||||
|
||||
<ProgressBar
|
||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||
android:id="@+id/progressBar"
|
||||
style="?android:attr/progressBarStyle"
|
||||
style="?attr/circularProgressIndicatorStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
android:layout_height="wrap_content"
|
||||
android:indeterminate="true"
|
||||
app:trackCornerRadius="4dp"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/AppTheme.NewMaterial.Text"
|
||||
|
||||
@ -213,77 +213,17 @@
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<com.github.clans.fab.FloatingActionMenu
|
||||
android:id="@+id/spedizione_fab"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentBottom="true"
|
||||
app:layout_anchor="@+id/spedizione_empty_view"
|
||||
app:layout_anchorGravity="center"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:menu_animationDelayPerItem="50"
|
||||
app:menu_backgroundColor="@color/white_bg_alpha"
|
||||
app:menu_buttonSpacing="0dp"
|
||||
app:menu_colorNormal="@color/colorSecondary"
|
||||
app:menu_colorPressed="@color/colorSecondaryDark"
|
||||
app:menu_fab_size="normal"
|
||||
app:menu_labels_colorNormal="@color/white"
|
||||
app:menu_labels_colorPressed="@color/white_pressed"
|
||||
app:menu_labels_colorRipple="#66FFFFFF"
|
||||
app:menu_labels_cornerRadius="3dp"
|
||||
app:menu_labels_hideAnimation="@anim/fab_slide_out_to_right"
|
||||
app:menu_labels_margin="0dp"
|
||||
app:menu_labels_padding="8dp"
|
||||
app:menu_labels_paddingBottom="4dp"
|
||||
app:menu_labels_paddingLeft="8dp"
|
||||
app:menu_labels_paddingRight="8dp"
|
||||
app:menu_labels_paddingTop="4dp"
|
||||
app:menu_labels_position="left"
|
||||
app:menu_labels_showAnimation="@anim/fab_slide_in_from_right"
|
||||
app:menu_labels_showShadow="true"
|
||||
app:menu_labels_textColor="@color/black_semi_transparent"
|
||||
app:menu_labels_textSize="18sp"
|
||||
app:menu_openDirection="up"
|
||||
app:menu_shadowColor="#66000000"
|
||||
app:menu_shadowRadius="4dp"
|
||||
app:menu_shadowXOffset="1dp"
|
||||
app:menu_shadowYOffset="3dp"
|
||||
app:menu_showShadow="true"
|
||||
app:visibility="@{spedizioneView.noLUPresent}">
|
||||
|
||||
<com.github.clans.fab.FloatingActionButton
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_baseline_assignment_turned_in_24"
|
||||
app:visibility="@{spedizioneView.closeOrderButtonEnabled}"
|
||||
app:fab_colorNormal="@color/white"
|
||||
app:fab_colorPressed="@color/white_pressed"
|
||||
app:fab_colorRipple="#66FFFFFF"
|
||||
app:fab_label="@string/action_close_order"
|
||||
app:onClick="@{() -> spedizioneView.closeOrder()}" />
|
||||
|
||||
<com.github.clans.fab.FloatingActionButton
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_box"
|
||||
app:fab_colorNormal="@color/white"
|
||||
app:fab_colorPressed="@color/white_pressed"
|
||||
app:fab_colorRipple="#66FFFFFF"
|
||||
app:fab_label="@string/action_show_created_ul"
|
||||
app:onClick="@{() -> spedizioneView.showCreatedUL()}" />
|
||||
|
||||
<com.github.clans.fab.FloatingActionButton
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_add_24dp"
|
||||
app:fab_colorNormal="@color/white"
|
||||
app:fab_colorPressed="@color/white_pressed"
|
||||
app:fab_colorRipple="#66FFFFFF"
|
||||
app:fab_label="@string/action_create_ul"
|
||||
app:onClick="@{() -> spedizioneView.createNewUL()}" />
|
||||
|
||||
</com.github.clans.fab.FloatingActionMenu>
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
android:id="@+id/spedizione_ordine_inevaso_fab"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|end"
|
||||
android:layout_margin="16dp"
|
||||
android:onClick="@{() -> spedizioneView.showFabMenu()}"
|
||||
app:srcCompat="@drawable/ic_add_24dp"
|
||||
app:visibility="@{spedizioneView.noLUPresent}"
|
||||
style="?attr/floatingActionButtonPrimaryStyle" />
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/colorPrimary"
|
||||
android:background="?colorPrimary"
|
||||
tools:context=".SplashActivity">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
@ -49,17 +49,23 @@
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.7" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progressBar2"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
|
||||
|
||||
<com.google.android.material.progressindicator.LinearProgressIndicator
|
||||
android:id="@+id/progressBar"
|
||||
style="?attr/linearProgressIndicatorStyle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="8dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="24dp"
|
||||
android:indeterminate="true"
|
||||
android:indeterminateDrawable="@drawable/curved_progress_bar"
|
||||
app:trackCornerRadius="4dp"
|
||||
app:trackThickness="8dp"
|
||||
app:indicatorColor="@android:color/white"
|
||||
app:trackColor="@color/colorPrimaryDark"
|
||||
app:layout_constraintLeft_toRightOf="@+id/guideline_left_progress"
|
||||
app:layout_constraintRight_toLeftOf="@+id/guideline_right_progress"
|
||||
app:layout_constraintTop_toBottomOf="@id/imageView" />
|
||||
app:layout_constraintTop_toBottomOf="@id/imageView"/>
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/loading_info_textview"
|
||||
@ -67,7 +73,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
tools:text="Caricamento DB"
|
||||
app:layout_constraintTop_toBottomOf="@id/progressBar2"
|
||||
app:layout_constraintTop_toBottomOf="@id/progressBar"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:textColor="@android:color/white"
|
||||
|
||||
32
app/src/main/res/layout/array_adapter_two_lines_item.xml
Normal file
32
app/src/main/res/layout/array_adapter_two_lines_item.xml
Normal file
@ -0,0 +1,32 @@
|
||||
<layout>
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingVertical="4dp"
|
||||
android:paddingHorizontal="8dp">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/item_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textAllCaps="true"
|
||||
android:textAppearance="?attr/textAppearanceLabelSmall"
|
||||
android:textStyle="bold"
|
||||
tools:text="Small title" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/item_description"
|
||||
style="@style/AppTheme.NewMaterial.Text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textAppearance="?attr/textAppearanceListItem"
|
||||
tools:text="Description" />
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
</layout>
|
||||
@ -55,7 +55,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{mtbColr.codMart}"
|
||||
android:textColor="@color/colorPrimary"
|
||||
android:textColor="?colorPrimary"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
tools:text="COD MART" />
|
||||
@ -119,7 +119,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/badge_round_corner"
|
||||
android:backgroundTint="@color/colorPrimary"
|
||||
android:backgroundTint="?colorPrimary"
|
||||
android:gravity="center"
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingTop="2dp"
|
||||
|
||||
@ -97,7 +97,7 @@
|
||||
app:layout_constraintEnd_toStartOf="@id/center_buttons_guideline"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/input_commessa"
|
||||
app:strokeColor="@color/colorPrimary" />
|
||||
app:strokeColor="?colorPrimary" />
|
||||
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
|
||||
@ -79,7 +79,7 @@
|
||||
app:layout_constraintEnd_toStartOf="@id/center_buttons_guideline"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/input_destinatario"
|
||||
app:strokeColor="@color/colorPrimary" />
|
||||
app:strokeColor="?colorPrimary" />
|
||||
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
|
||||
@ -42,11 +42,13 @@
|
||||
|
||||
|
||||
|
||||
<ProgressBar
|
||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||
android:id="@+id/progressBar"
|
||||
style="?android:attr/progressBarStyle"
|
||||
style="?attr/circularProgressIndicatorStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
android:layout_height="wrap_content"
|
||||
android:indeterminate="true"
|
||||
app:trackCornerRadius="4dp"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="wrap_content"
|
||||
@ -57,7 +59,7 @@
|
||||
android:layout_gravity="center_vertical"
|
||||
android:gravity="center_horizontal"
|
||||
style="@style/TextAppearance.Material3.BodyMedium"
|
||||
android:text="Scansiona il codice a barre di una linea di produzione"/>
|
||||
android:text="Scansiona il codice a barre di una linea/lotto di produzione"/>
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
|
||||
@ -162,7 +162,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Button.PrimaryOutline"
|
||||
app:icon="@drawable/ic_clear_24dp"
|
||||
app:strokeColor="@color/colorPrimary"
|
||||
app:strokeColor="?colorPrimary"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:text="@string/abort"/>
|
||||
|
||||
|
||||
@ -1,31 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_margin="16dp"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="10">
|
||||
|
||||
|
||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||
android:id="@+id/progressBar"
|
||||
style="?attr/circularProgressIndicatorStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:indeterminate="true"
|
||||
app:trackCornerRadius="4dp" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progressBar"
|
||||
style="?android:attr/progressBarStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/description_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="16sp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="12dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:gravity="center_horizontal"
|
||||
style="@style/TextViewMaterial"
|
||||
tools:text="Scansiona il codice a barre di uno Scaffale"/>
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/description_text"
|
||||
style="@style/TextViewMaterial"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="12dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:textSize="16sp"
|
||||
tools:text="Scansiona il codice a barre di uno Scaffale" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
@ -40,7 +40,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Button.PrimaryOutline"
|
||||
app:strokeColor="@color/colorPrimary"
|
||||
app:strokeColor="?colorPrimary"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:text="@string/abort"/>
|
||||
|
||||
|
||||
@ -81,7 +81,7 @@
|
||||
app:layout_constraintEnd_toStartOf="@id/center_buttons_guideline"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:strokeColor="@color/colorPrimary" />
|
||||
app:strokeColor="?colorPrimary" />
|
||||
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
|
||||
<variable
|
||||
name="view"
|
||||
type="it.integry.integrywmsnative.view.dialogs.ask_should_versamento_automatico_ul.DialogAskShouldVersamentoAutomaticoULView" />
|
||||
@ -13,101 +14,41 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:orientation="vertical"
|
||||
app:cardCornerRadius="12dp"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="0dp">
|
||||
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:paddingVertical="16dp">
|
||||
|
||||
<RelativeLayout
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:src="@drawable/ic_error_white_24dp"
|
||||
app:tint="?colorPrimary" />
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/title_text"
|
||||
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/light_blue_300"
|
||||
android:gravity="center_horizontal">
|
||||
android:layout_marginBottom="16dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/versamento_automatico" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="24dp"
|
||||
android:src="@drawable/ic_error_white_24dp" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/description_text"
|
||||
style="@style/TextAppearance.Material3.BodyMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="24dp"
|
||||
android:paddingTop="24dp"
|
||||
android:paddingRight="24dp">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/title_text"
|
||||
style="@style/TextViewMaterial.Dialog.HeadlineText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/versamento_automatico" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/description_text"
|
||||
style="@style/TextViewMaterial"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:gravity="left"
|
||||
android:text="@string/ask_should_versamento_automatico" />
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp">
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/center_buttons_guideline"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.5" />
|
||||
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/button_abort"
|
||||
style="@style/Button.PrimaryOutline"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:text="@string/no"
|
||||
app:layout_constraintEnd_toStartOf="@id/center_buttons_guideline"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:strokeColor="@color/colorPrimary"
|
||||
android:onClick="@{() -> view.abort()}" />
|
||||
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/button_confirm"
|
||||
style="@style/Button.PrimaryFull"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:text="@string/yes"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/center_buttons_guideline"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:onClick="@{() -> view.confirm()}"/>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/ask_should_versamento_automatico" />
|
||||
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
101
app/src/main/res/layout/dialog_ask_vettore.xml
Normal file
101
app/src/main/res/layout/dialog_ask_vettore.xml
Normal file
@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<data>
|
||||
|
||||
<variable
|
||||
name="viewmodel"
|
||||
type="it.integry.integrywmsnative.view.dialogs.ask_vettore.DialogAskVettoreViewModel" />
|
||||
|
||||
<variable
|
||||
name="view"
|
||||
type="it.integry.integrywmsnative.view.dialogs.ask_vettore.DialogAskVettoreView" />
|
||||
</data>
|
||||
|
||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:orientation="vertical"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="0dp">
|
||||
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:paddingVertical="16dp">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:src="@drawable/ic_error_white_24dp"
|
||||
app:tint="?colorPrimary" />
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/title_text"
|
||||
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/carrier" />
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/button_vettore"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/gray_detail_background_round16"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:foreground="?attr/selectableItemBackground"
|
||||
android:onClick="@{() -> view.togglePopupShow()}"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:paddingVertical="8dp">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:visibility="@{view.selectedVettore == null}"
|
||||
tools:visibility="gone"
|
||||
android:text="@string/select_a_carrier_action" />
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:visibility="@{view.selectedVettore != null}">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textAllCaps="true"
|
||||
android:textAppearance="?attr/textAppearanceLabelSmall"
|
||||
android:textStyle="bold"
|
||||
android:text="@{view.selectedVettore.codVvet}"
|
||||
tools:text="Small title" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/item_description"
|
||||
style="@style/AppTheme.NewMaterial.Text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textAppearance="?attr/textAppearanceListItem"
|
||||
android:text="@{view.selectedVettore.ragSoc}"
|
||||
tools:text="Description" />
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
</androidx.cardview.widget.CardView>
|
||||
</layout>
|
||||
@ -35,7 +35,7 @@
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_toStartOf="@id/already_inventariato"
|
||||
android:text="@{item.codMart}"
|
||||
android:textColor="@color/colorPrimary"
|
||||
android:textColor="?colorPrimary"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginTop="8dp"
|
||||
|
||||
@ -191,7 +191,7 @@
|
||||
<!-- app:layout_constraintEnd_toStartOf="@id/right_buttons_guideline"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="@id/left_buttons_guideline"-->
|
||||
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
||||
<!-- app:strokeColor="@color/colorPrimary" />-->
|
||||
<!-- app:strokeColor="?colorPrimary" />-->
|
||||
|
||||
|
||||
<!-- <com.google.android.material.button.MaterialButton-->
|
||||
@ -236,7 +236,7 @@
|
||||
<!-- app:layout_constraintEnd_toStartOf="@id/center_guideline2"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
||||
<!-- app:strokeColor="@color/colorPrimary" />-->
|
||||
<!-- app:strokeColor="?colorPrimary" />-->
|
||||
|
||||
|
||||
<!-- <com.google.android.material.button.MaterialButton-->
|
||||
|
||||
@ -41,7 +41,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{mtbColr.codMart}"
|
||||
android:textColor="@color/colorPrimary"
|
||||
android:textColor="?colorPrimary"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
style="@style/AppTheme.NewMaterial.Text"
|
||||
@ -121,7 +121,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/badge_round_corner"
|
||||
android:backgroundTint="@color/colorPrimary"
|
||||
android:backgroundTint="?colorPrimary"
|
||||
android:gravity="center"
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingTop="2dp"
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="12dp"
|
||||
android:background="@drawable/badge_round_corner"
|
||||
android:backgroundTint="@color/colorPrimary"
|
||||
android:backgroundTint="?colorPrimary"
|
||||
android:layout_gravity="center"
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingTop="2dp"
|
||||
|
||||
@ -116,7 +116,7 @@
|
||||
app:layout_constraintEnd_toStartOf="@id/center_buttons_guideline"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:strokeColor="@color/colorPrimary" />
|
||||
app:strokeColor="?colorPrimary" />
|
||||
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
|
||||
@ -50,11 +50,13 @@
|
||||
android:orientation="horizontal">
|
||||
|
||||
|
||||
<ProgressBar
|
||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||
android:id="@+id/progressBar"
|
||||
style="?android:attr/progressBarStyle"
|
||||
style="?attr/circularProgressIndicatorStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
android:layout_height="wrap_content"
|
||||
android:indeterminate="true"
|
||||
app:trackCornerRadius="4dp"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/AppTheme.NewMaterial.Text"
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{item.codMart}"
|
||||
android:textColor="@color/colorPrimary"
|
||||
android:textColor="?colorPrimary"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
tools:text="COD MART" />
|
||||
|
||||
@ -53,7 +53,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{item.codMart}"
|
||||
android:textColor="@color/colorPrimary"
|
||||
android:textColor="?colorPrimary"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
tools:text="COD MART" />
|
||||
@ -112,7 +112,7 @@
|
||||
android:layout_marginStart="12dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:background="@drawable/badge_round_corner"
|
||||
android:backgroundTint="@color/colorPrimary"
|
||||
android:backgroundTint="?colorPrimary"
|
||||
android:visibility="@{item.qta != null ? View.VISIBLE : View.GONE}">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
|
||||
@ -58,7 +58,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{item.mtbColr.mtbAart.getCodMart()}"
|
||||
android:textColor="@color/colorPrimary"
|
||||
android:textColor="?colorPrimary"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
tools:text="COD MART" />
|
||||
@ -116,7 +116,7 @@
|
||||
android:layout_marginStart="8dp"
|
||||
android:padding="6dp"
|
||||
android:background="@drawable/badge_round_corner"
|
||||
android:backgroundTint="@color/colorPrimary"
|
||||
android:backgroundTint="?colorPrimary"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical"
|
||||
android:visibility="@{item.mtbColr.qtaCol != null ? View.VISIBLE : View.GONE}">
|
||||
@ -125,7 +125,7 @@
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:backgroundTint="@color/colorPrimary"
|
||||
android:backgroundTint="?colorPrimary"
|
||||
android:gravity="center"
|
||||
android:text="@{UtilityNumber.decimalToString(item.mtbColr.qtaCol, 2)}"
|
||||
android:textAllCaps="true"
|
||||
|
||||
@ -43,7 +43,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{UtilityString.isNull(mtbPartitaMag.partitaMag, "Nessun lotto")}"
|
||||
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||
android:textColor="@color/colorPrimary"
|
||||
android:textColor="?colorPrimary"
|
||||
android:textStyle="bold"
|
||||
tools:text="PARTITA MAG" />
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user