Finish v1.40.05(422)
This commit is contained in:
commit
cd38c1b301
@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
def appVersionCode = 421
|
def appVersionCode = 422
|
||||||
def appVersionName = '1.40.04'
|
def appVersionName = '1.40.05'
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
|
|||||||
@ -116,7 +116,7 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
|||||||
.setTitleText(R.string.prod_ordine_lavorazione_title_fragment)
|
.setTitleText(R.string.prod_ordine_lavorazione_title_fragment)
|
||||||
.setTitleIcon(R.drawable.ic_dashboard_prod_picking_lavorazione)
|
.setTitleIcon(R.drawable.ic_dashboard_prod_picking_lavorazione)
|
||||||
.setDrawerIcon(R.drawable.ic_black_external)
|
.setDrawerIcon(R.drawable.ic_black_external)
|
||||||
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1, SettingsManager.iDB().isFlagShowInfo() ? DialogInfoSituazioneArticoloView.class : null)))
|
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1, SettingsManager.iDB().isFlagProduzioneShowInfo() ? DialogInfoSituazioneArticoloView.class : null)))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(R.id.nav_free_lav_picking)
|
.setID(R.id.nav_free_lav_picking)
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package it.integry.integrywmsnative.core.model;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
||||||
@ -41,6 +42,7 @@ public class MvwSitArtUdcDetInventario {
|
|||||||
private String codJfas;
|
private String codJfas;
|
||||||
private MtbAart mtbAart;
|
private MtbAart mtbAart;
|
||||||
private Integer numOrd;
|
private Integer numOrd;
|
||||||
|
private Date dataOrd;
|
||||||
|
|
||||||
public String getGestione() {
|
public String getGestione() {
|
||||||
return gestione;
|
return gestione;
|
||||||
@ -317,4 +319,13 @@ public class MvwSitArtUdcDetInventario {
|
|||||||
.setPesoLordoKg(getPesoLordoKg())
|
.setPesoLordoKg(getPesoLordoKg())
|
||||||
.setUntMis(getUntMis());
|
.setUntMis(getUntMis());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Date getDataOrd() {
|
||||||
|
return dataOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MvwSitArtUdcDetInventario setDataOrd(Date dataOrd) {
|
||||||
|
this.dataOrd = dataOrd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package it.integry.integrywmsnative.core.rest.consumers;
|
package it.integry.integrywmsnative.core.rest.consumers;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import com.google.gson.reflect.TypeToken;
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
@ -10,6 +12,7 @@ import javax.inject.Singleton;
|
|||||||
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.model.DtbOrdt;
|
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.model.MtbTCol;
|
||||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
@ -86,4 +89,20 @@ 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));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,11 +3,14 @@ package it.integry.integrywmsnative.core.rest.consumers;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.model.DtbOrdt;
|
import it.integry.integrywmsnative.core.model.DtbOrdt;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
||||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
import retrofit2.http.Body;
|
import retrofit2.http.Body;
|
||||||
|
import retrofit2.http.GET;
|
||||||
import retrofit2.http.POST;
|
import retrofit2.http.POST;
|
||||||
|
import retrofit2.http.Query;
|
||||||
|
|
||||||
public interface MagazzinoRESTConsumerService {
|
public interface MagazzinoRESTConsumerService {
|
||||||
|
|
||||||
@ -17,4 +20,8 @@ public interface MagazzinoRESTConsumerService {
|
|||||||
@POST("SM2SaveTerminalino")
|
@POST("SM2SaveTerminalino")
|
||||||
Call<List<ServiceRESTResponse<DtbOrdt>>> saveOrdine(@Body SaveDTO saveDTO);
|
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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -60,20 +60,21 @@ public class DBSettingsModel {
|
|||||||
private String commessaMagazzino;
|
private String commessaMagazzino;
|
||||||
private boolean flagGeneraDocumentoSpedizione = false;
|
private boolean flagGeneraDocumentoSpedizione = false;
|
||||||
private boolean flagIsInventarioCacheEnabled = false;
|
private boolean flagIsInventarioCacheEnabled = false;
|
||||||
private boolean flagAskPrintUlAccettazioneBolla = false;
|
private boolean flagAccettazioneBollaAskPrintUl = false;
|
||||||
private boolean flagAskTipoColloAccettazioneBolla = false;
|
private boolean flagAccettazioneBollaAskTipoCollo = false;
|
||||||
private boolean flagAskVersamentoAutomaticoAccettazioneBolla = false;
|
private boolean flagAccettazioneBollaAskVersamentoAutomatico = false;
|
||||||
private boolean flagCanAddUnknownItemsAccettazioneBolla = false;
|
private boolean flagAccettazioneBollaCanAddUnknownItems = false;
|
||||||
private boolean flagCanAddUnknownBarcodesAccettazioneBolla = false;
|
private boolean flagAccettazioneBollaCanAddUnknownBarcodes = false;
|
||||||
private boolean flagEnableFastPickAccettazioneBolla = false;
|
private boolean flagAccettazioneBollaEnableFastPick = false;
|
||||||
private boolean flagDisableMandatoryTracciabilitaAccettazioneBolla = false;
|
private boolean flagAccettazioneBollaDisableMandatoryTracciabilita = false;
|
||||||
private boolean flagAllowULRecoverAccettazioneBolla = true;
|
private boolean flagAccettazioneBollaAllowULRecover = true;
|
||||||
private boolean flagOverflowQuantityWarning = false;
|
private boolean flagSpedizioneOverflowQuantityWarning = false;
|
||||||
private String viewPosizioni;
|
private String viewPosizioni;
|
||||||
private boolean flagDeleteRowOnClose = false;
|
private boolean flagAccettazioneDeleteRowOnClose = false;
|
||||||
private boolean flagAllowBarcodeFornitore = false;
|
private boolean flagAccettazioneAllowBarcodeFornitore = false;
|
||||||
private boolean flagShowInfo = false;
|
private boolean flagProduzioneShowInfo = false;
|
||||||
private boolean flagAccettazioneBollaUseQtaOrd = true;
|
private boolean flagAccettazioneBollaUseQtaOrd = true;
|
||||||
|
private boolean flagWarningNewPartitaMag = false;
|
||||||
|
|
||||||
public boolean isFlagSpedizioneEnableFakeGiacenza() {
|
public boolean isFlagSpedizioneEnableFakeGiacenza() {
|
||||||
return flagSpedizioneEnableFakeGiacenza;
|
return flagSpedizioneEnableFakeGiacenza;
|
||||||
@ -490,84 +491,84 @@ public class DBSettingsModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isFlagAskPrintUlAccettazioneBolla() {
|
public boolean isFlagAccettazioneBollaAskPrintUl() {
|
||||||
return flagAskPrintUlAccettazioneBolla;
|
return flagAccettazioneBollaAskPrintUl;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DBSettingsModel setFlagAskPrintUlAccettazioneBolla(boolean flagAskPrintUlAccettazioneBolla) {
|
public DBSettingsModel setFlagAccettazioneBollaAskPrintUl(boolean flagAccettazioneBollaAskPrintUl) {
|
||||||
this.flagAskPrintUlAccettazioneBolla = flagAskPrintUlAccettazioneBolla;
|
this.flagAccettazioneBollaAskPrintUl = flagAccettazioneBollaAskPrintUl;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isFlagAskTipoColloAccettazioneBolla() {
|
public boolean isFlagAccettazioneBollaAskTipoCollo() {
|
||||||
return flagAskTipoColloAccettazioneBolla;
|
return flagAccettazioneBollaAskTipoCollo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DBSettingsModel setFlagAskTipoColloAccettazioneBolla(boolean flagAskTipoColloAccettazioneBolla) {
|
public DBSettingsModel setFlagAccettazioneBollaAskTipoCollo(boolean flagAccettazioneBollaAskTipoCollo) {
|
||||||
this.flagAskTipoColloAccettazioneBolla = flagAskTipoColloAccettazioneBolla;
|
this.flagAccettazioneBollaAskTipoCollo = flagAccettazioneBollaAskTipoCollo;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isFlagAskVersamentoAutomaticoAccettazioneBolla() {
|
public boolean isFlagAccettazioneBollaAskVersamentoAutomatico() {
|
||||||
return flagAskVersamentoAutomaticoAccettazioneBolla;
|
return flagAccettazioneBollaAskVersamentoAutomatico;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DBSettingsModel setFlagAskVersamentoAutomaticoAccettazioneBolla(boolean flagAskVersamentoAutomaticoAccettazioneBolla) {
|
public DBSettingsModel setFlagAccettazioneBollaAskVersamentoAutomatico(boolean flagAccettazioneBollaAskVersamentoAutomatico) {
|
||||||
this.flagAskVersamentoAutomaticoAccettazioneBolla = flagAskVersamentoAutomaticoAccettazioneBolla;
|
this.flagAccettazioneBollaAskVersamentoAutomatico = flagAccettazioneBollaAskVersamentoAutomatico;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isFlagCanAddUnknownItemsAccettazioneBolla() {
|
public boolean isFlagAccettazioneBollaCanAddUnknownItems() {
|
||||||
return flagCanAddUnknownItemsAccettazioneBolla;
|
return flagAccettazioneBollaCanAddUnknownItems;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DBSettingsModel setFlagCanAddUnknownItemsAccettazioneBolla(boolean flagCanAddUnknownItemsAccettazioneBolla) {
|
public DBSettingsModel setFlagAccettazioneBollaCanAddUnknownItems(boolean flagAccettazioneBollaCanAddUnknownItems) {
|
||||||
this.flagCanAddUnknownItemsAccettazioneBolla = flagCanAddUnknownItemsAccettazioneBolla;
|
this.flagAccettazioneBollaCanAddUnknownItems = flagAccettazioneBollaCanAddUnknownItems;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isFlagCanAddUnknownBarcodesAccettazioneBolla() {
|
public boolean isFlagAccettazioneBollaCanAddUnknownBarcodes() {
|
||||||
return flagCanAddUnknownBarcodesAccettazioneBolla;
|
return flagAccettazioneBollaCanAddUnknownBarcodes;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DBSettingsModel setFlagCanAddUnknownBarcodesAccettazioneBolla(boolean flagCanAddUnknownBarcodesAccettazioneBolla) {
|
public DBSettingsModel setFlagAccettazioneBollaCanAddUnknownBarcodes(boolean flagAccettazioneBollaCanAddUnknownBarcodes) {
|
||||||
this.flagCanAddUnknownBarcodesAccettazioneBolla = flagCanAddUnknownBarcodesAccettazioneBolla;
|
this.flagAccettazioneBollaCanAddUnknownBarcodes = flagAccettazioneBollaCanAddUnknownBarcodes;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isFlagEnableFastPickAccettazioneBolla() {
|
public boolean isFlagAccettazioneBollaEnableFastPick() {
|
||||||
return flagEnableFastPickAccettazioneBolla;
|
return flagAccettazioneBollaEnableFastPick;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DBSettingsModel setFlagEnableFastPickAccettazioneBolla(boolean flagEnableFastPickAccettazioneBolla) {
|
public DBSettingsModel setFlagAccettazioneBollaEnableFastPick(boolean flagAccettazioneBollaEnableFastPick) {
|
||||||
this.flagEnableFastPickAccettazioneBolla = flagEnableFastPickAccettazioneBolla;
|
this.flagAccettazioneBollaEnableFastPick = flagAccettazioneBollaEnableFastPick;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isFlagDisableMandatoryTracciabilitaAccettazioneBolla() {
|
public boolean isFlagAccettazioneBollaDisableMandatoryTracciabilita() {
|
||||||
return flagDisableMandatoryTracciabilitaAccettazioneBolla;
|
return flagAccettazioneBollaDisableMandatoryTracciabilita;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DBSettingsModel setFlagDisableMandatoryTracciabilitaAccettazioneBolla(boolean flagDisableMandatoryTracciabilitaAccettazioneBolla) {
|
public DBSettingsModel setFlagAccettazioneBollaDisableMandatoryTracciabilita(boolean flagAccettazioneBollaDisableMandatoryTracciabilita) {
|
||||||
this.flagDisableMandatoryTracciabilitaAccettazioneBolla = flagDisableMandatoryTracciabilitaAccettazioneBolla;
|
this.flagAccettazioneBollaDisableMandatoryTracciabilita = flagAccettazioneBollaDisableMandatoryTracciabilita;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isFlagAllowULRecoverAccettazioneBolla() {
|
public boolean isFlagAccettazioneBollaAllowULRecover() {
|
||||||
return flagAllowULRecoverAccettazioneBolla;
|
return flagAccettazioneBollaAllowULRecover;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DBSettingsModel setFlagAllowULRecoverAccettazioneBolla(boolean flagAllowULRecoverAccettazioneBolla) {
|
public DBSettingsModel setFlagAccettazioneBollaAllowULRecover(boolean flagAccettazioneBollaAllowULRecover) {
|
||||||
this.flagAllowULRecoverAccettazioneBolla = flagAllowULRecoverAccettazioneBolla;
|
this.flagAccettazioneBollaAllowULRecover = flagAccettazioneBollaAllowULRecover;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isFlagOverflowQuantityWarning() {
|
public boolean isFlagSpedizioneOverflowQuantityWarning() {
|
||||||
return flagOverflowQuantityWarning;
|
return flagSpedizioneOverflowQuantityWarning;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DBSettingsModel setFlagOverflowQuantityWarning(boolean flagOverflowQuantityWarning) {
|
public DBSettingsModel setFlagSpedizioneOverflowQuantityWarning(boolean flagSpedizioneOverflowQuantityWarning) {
|
||||||
this.flagOverflowQuantityWarning = flagOverflowQuantityWarning;
|
this.flagSpedizioneOverflowQuantityWarning = flagSpedizioneOverflowQuantityWarning;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -589,30 +590,30 @@ public class DBSettingsModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isFlagDeleteRowOnClose() {
|
public boolean isFlagAccettazioneDeleteRowOnClose() {
|
||||||
return flagDeleteRowOnClose;
|
return flagAccettazioneDeleteRowOnClose;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DBSettingsModel setFlagDeleteRowOnClose(boolean flagDeleteRowOnClose) {
|
public DBSettingsModel setFlagAccettazioneDeleteRowOnClose(boolean flagAccettazioneDeleteRowOnClose) {
|
||||||
this.flagDeleteRowOnClose = flagDeleteRowOnClose;
|
this.flagAccettazioneDeleteRowOnClose = flagAccettazioneDeleteRowOnClose;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isFlagAllowBarcodeFornitore() {
|
public boolean isFlagAccettazioneAllowBarcodeFornitore() {
|
||||||
return flagAllowBarcodeFornitore;
|
return flagAccettazioneAllowBarcodeFornitore;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DBSettingsModel setFlagAllowBarcodeFornitore(boolean flagAllowBarcodeFornitore) {
|
public DBSettingsModel setFlagAccettazioneAllowBarcodeFornitore(boolean flagAccettazioneAllowBarcodeFornitore) {
|
||||||
this.flagAllowBarcodeFornitore = flagAllowBarcodeFornitore;
|
this.flagAccettazioneAllowBarcodeFornitore = flagAccettazioneAllowBarcodeFornitore;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isFlagShowInfo() {
|
public boolean isFlagProduzioneShowInfo() {
|
||||||
return flagShowInfo;
|
return flagProduzioneShowInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DBSettingsModel setFlagShowInfo(boolean flagShowInfo) {
|
public DBSettingsModel setFlagProduzioneShowInfo(boolean flagProduzioneShowInfo) {
|
||||||
this.flagShowInfo = flagShowInfo;
|
this.flagProduzioneShowInfo = flagProduzioneShowInfo;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -623,4 +624,13 @@ public class DBSettingsModel {
|
|||||||
public void setFlagAccettazioneBollaUseQtaOrd(boolean flagAccettazioneBollaUseQtaOrd) {
|
public void setFlagAccettazioneBollaUseQtaOrd(boolean flagAccettazioneBollaUseQtaOrd) {
|
||||||
this.flagAccettazioneBollaUseQtaOrd = flagAccettazioneBollaUseQtaOrd;
|
this.flagAccettazioneBollaUseQtaOrd = flagAccettazioneBollaUseQtaOrd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isFlagWarningNewPartitaMag() {
|
||||||
|
return flagWarningNewPartitaMag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DBSettingsModel setFlagWarningNewPartitaMag(boolean flagWarningNewPartitaMag) {
|
||||||
|
this.flagWarningNewPartitaMag = flagWarningNewPartitaMag;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -246,7 +246,7 @@ public class SettingsManager {
|
|||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("ACCETTAZIONE")
|
.setSection("ACCETTAZIONE")
|
||||||
.setKeySection("FLAG_DELETE_ROW_ON_CLOSE")
|
.setKeySection("FLAG_DELETE_ROW_ON_CLOSE")
|
||||||
.setSetter(dbSettingsModelIstance::setFlagDeleteRowOnClose));
|
.setSetter(dbSettingsModelIstance::setFlagAccettazioneDeleteRowOnClose));
|
||||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("SPEDIZIONE")
|
.setSection("SPEDIZIONE")
|
||||||
@ -287,7 +287,7 @@ public class SettingsManager {
|
|||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("PRODUZIONE")
|
.setSection("PRODUZIONE")
|
||||||
.setKeySection("FLAG_SHOW_INFO")
|
.setKeySection("FLAG_SHOW_INFO")
|
||||||
.setSetter(dbSettingsModelIstance::setFlagShowInfo)
|
.setSetter(dbSettingsModelIstance::setFlagProduzioneShowInfo)
|
||||||
.setDefaultValue(false));
|
.setDefaultValue(false));
|
||||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class)
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(String.class)
|
||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
@ -449,61 +449,61 @@ public class SettingsManager {
|
|||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("ACCETTAZIONE_BOLLA")
|
.setSection("ACCETTAZIONE_BOLLA")
|
||||||
.setKeySection("FLAG_ASK_PRINT_UL")
|
.setKeySection("FLAG_ASK_PRINT_UL")
|
||||||
.setSetter(dbSettingsModelIstance::setFlagAskPrintUlAccettazioneBolla)
|
.setSetter(dbSettingsModelIstance::setFlagAccettazioneBollaAskPrintUl)
|
||||||
.setDefaultValue(false));
|
.setDefaultValue(false));
|
||||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("ACCETTAZIONE_BOLLA")
|
.setSection("ACCETTAZIONE_BOLLA")
|
||||||
.setKeySection("FLAG_ASK_TIPO_COLLO")
|
.setKeySection("FLAG_ASK_TIPO_COLLO")
|
||||||
.setSetter(dbSettingsModelIstance::setFlagAskTipoColloAccettazioneBolla)
|
.setSetter(dbSettingsModelIstance::setFlagAccettazioneBollaAskTipoCollo)
|
||||||
.setDefaultValue(false));
|
.setDefaultValue(false));
|
||||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("ACCETTAZIONE_BOLLA")
|
.setSection("ACCETTAZIONE_BOLLA")
|
||||||
.setKeySection("FLAG_ASK_VERSAMENTO_AUTOMATICO")
|
.setKeySection("FLAG_ASK_VERSAMENTO_AUTOMATICO")
|
||||||
.setSetter(dbSettingsModelIstance::setFlagAskVersamentoAutomaticoAccettazioneBolla)
|
.setSetter(dbSettingsModelIstance::setFlagAccettazioneBollaAskVersamentoAutomatico)
|
||||||
.setDefaultValue(false));
|
.setDefaultValue(false));
|
||||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("ACCETTAZIONE_BOLLA")
|
.setSection("ACCETTAZIONE_BOLLA")
|
||||||
.setKeySection("FLAG_CAN_ADD_UNKNOWN_ITEMS")
|
.setKeySection("FLAG_CAN_ADD_UNKNOWN_ITEMS")
|
||||||
.setSetter(dbSettingsModelIstance::setFlagCanAddUnknownItemsAccettazioneBolla)
|
.setSetter(dbSettingsModelIstance::setFlagAccettazioneBollaCanAddUnknownItems)
|
||||||
.setDefaultValue(false));
|
.setDefaultValue(false));
|
||||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("ACCETTAZIONE_BOLLA")
|
.setSection("ACCETTAZIONE_BOLLA")
|
||||||
.setKeySection("FLAG_CAN_ADD_UNKNOWN_BARCODES")
|
.setKeySection("FLAG_CAN_ADD_UNKNOWN_BARCODES")
|
||||||
.setSetter(dbSettingsModelIstance::setFlagCanAddUnknownBarcodesAccettazioneBolla)
|
.setSetter(dbSettingsModelIstance::setFlagAccettazioneBollaCanAddUnknownBarcodes)
|
||||||
.setDefaultValue(false));
|
.setDefaultValue(false));
|
||||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("ACCETTAZIONE_BOLLA")
|
.setSection("ACCETTAZIONE_BOLLA")
|
||||||
.setKeySection("FLAG_ENABLE_FAST_PICK")
|
.setKeySection("FLAG_ENABLE_FAST_PICK")
|
||||||
.setSetter(dbSettingsModelIstance::setFlagEnableFastPickAccettazioneBolla)
|
.setSetter(dbSettingsModelIstance::setFlagAccettazioneBollaEnableFastPick)
|
||||||
.setDefaultValue(false));
|
.setDefaultValue(false));
|
||||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("ACCETTAZIONE_BOLLA")
|
.setSection("ACCETTAZIONE_BOLLA")
|
||||||
.setKeySection("FLAG_DISABLE_MANDATORY_TRACCIABILITA")
|
.setKeySection("FLAG_DISABLE_MANDATORY_TRACCIABILITA")
|
||||||
.setSetter(dbSettingsModelIstance::setFlagDisableMandatoryTracciabilitaAccettazioneBolla)
|
.setSetter(dbSettingsModelIstance::setFlagAccettazioneBollaDisableMandatoryTracciabilita)
|
||||||
.setDefaultValue(false));
|
.setDefaultValue(false));
|
||||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("ACCETTAZIONE_BOLLA")
|
.setSection("ACCETTAZIONE_BOLLA")
|
||||||
.setKeySection("FLAG_ALLOW_UL_RECOVER")
|
.setKeySection("FLAG_ALLOW_UL_RECOVER")
|
||||||
.setSetter(dbSettingsModelIstance::setFlagAllowULRecoverAccettazioneBolla)
|
.setSetter(dbSettingsModelIstance::setFlagAccettazioneBollaAllowULRecover)
|
||||||
.setDefaultValue(true));
|
.setDefaultValue(true));
|
||||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("SPEDIZIONE")
|
.setSection("SPEDIZIONE")
|
||||||
.setKeySection("FLAG_OVERFLOW_QUANTITY_WARNING")
|
.setKeySection("FLAG_OVERFLOW_QUANTITY_WARNING")
|
||||||
.setSetter(dbSettingsModelIstance::setFlagOverflowQuantityWarning)
|
.setSetter(dbSettingsModelIstance::setFlagSpedizioneOverflowQuantityWarning)
|
||||||
.setDefaultValue(false));
|
.setDefaultValue(false));
|
||||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("ACCETTAZIONE")
|
.setSection("ACCETTAZIONE")
|
||||||
.setKeySection("FLAG_ALLOW_BARCODE_FORNITORE")
|
.setKeySection("FLAG_ALLOW_BARCODE_FORNITORE")
|
||||||
.setSetter(dbSettingsModelIstance::setFlagAllowBarcodeFornitore)
|
.setSetter(dbSettingsModelIstance::setFlagAccettazioneAllowBarcodeFornitore)
|
||||||
.setDefaultValue(false));
|
.setDefaultValue(false));
|
||||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
@ -511,6 +511,12 @@ public class SettingsManager {
|
|||||||
.setKeySection("FLAG_USE_QTA_ORD")
|
.setKeySection("FLAG_USE_QTA_ORD")
|
||||||
.setSetter(dbSettingsModelIstance::setFlagAccettazioneBollaUseQtaOrd)
|
.setSetter(dbSettingsModelIstance::setFlagAccettazioneBollaUseQtaOrd)
|
||||||
.setDefaultValue(true));
|
.setDefaultValue(true));
|
||||||
|
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||||
|
.setGestName("PICKING")
|
||||||
|
.setSection("SETUP")
|
||||||
|
.setKeySection("FLAG_WARNING_NEW_PARTITA_MAG")
|
||||||
|
.setSetter(dbSettingsModelIstance::setFlagWarningNewPartitaMag)
|
||||||
|
.setDefaultValue(false));
|
||||||
|
|
||||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||||
|
|
||||||
|
|||||||
@ -221,7 +221,7 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac
|
|||||||
fabPopupMenu.setForceShowIcon(true);
|
fabPopupMenu.setForceShowIcon(true);
|
||||||
fabPopupMenu.getMenuInflater().inflate(R.menu.accettazione_ordine_inevaso_fab_menu, fabPopupMenu.getMenu());
|
fabPopupMenu.getMenuInflater().inflate(R.menu.accettazione_ordine_inevaso_fab_menu, fabPopupMenu.getMenu());
|
||||||
|
|
||||||
fabPopupMenu.getMenu().findItem(R.id.show_created_ul).setVisible(SettingsManager.iDB().isFlagAllowULRecoverAccettazioneBolla());
|
fabPopupMenu.getMenu().findItem(R.id.show_created_ul).setVisible(SettingsManager.iDB().isFlagAccettazioneBollaAllowULRecover());
|
||||||
|
|
||||||
fabPopupMenu.setOnMenuItemClickListener(item -> {
|
fabPopupMenu.setOnMenuItemClickListener(item -> {
|
||||||
int itemId = item.getItemId();
|
int itemId = item.getItemId();
|
||||||
@ -526,7 +526,7 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac
|
|||||||
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
||||||
.setCanLUBeClosed(true)
|
.setCanLUBeClosed(true)
|
||||||
.setCanOverflowOrderQuantity(canOverflowQuantity)
|
.setCanOverflowOrderQuantity(canOverflowQuantity)
|
||||||
.setDisableTracciabilitaCheck(SettingsManager.iDB().isFlagDisableMandatoryTracciabilitaAccettazioneBolla());
|
.setDisableTracciabilitaCheck(SettingsManager.iDB().isFlagAccettazioneBollaDisableMandatoryTracciabilita());
|
||||||
|
|
||||||
if (!mDialogInputQuantityV2View.isVisible())
|
if (!mDialogInputQuantityV2View.isVisible())
|
||||||
mDialogInputQuantityV2View
|
mDialogInputQuantityV2View
|
||||||
|
|||||||
@ -356,7 +356,7 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
|
|
||||||
|
|
||||||
private void manageUnknownBarcode(String barcode, Runnable onComplete) {
|
private void manageUnknownBarcode(String barcode, Runnable onComplete) {
|
||||||
if (SettingsManager.iDB().isFlagCanAddUnknownBarcodesAccettazioneBolla()) {
|
if (SettingsManager.iDB().isFlagAccettazioneBollaCanAddUnknownBarcodes()) {
|
||||||
//TODO: Implementare popup che richiede delle note aggiuntive sul barcode scansionato
|
//TODO: Implementare popup che richiede delle note aggiuntive sul barcode scansionato
|
||||||
this.sendOnUnknownBarcodeScanned(barcode, notes -> {
|
this.sendOnUnknownBarcodeScanned(barcode, notes -> {
|
||||||
this.manageDispatchBollaRow(new PickingObjectDTO()
|
this.manageDispatchBollaRow(new PickingObjectDTO()
|
||||||
@ -376,7 +376,7 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
|
|
||||||
|
|
||||||
private void manageNoArtFound(MtbAart mtbAart, PickDataDTO pickDataDTO) {
|
private void manageNoArtFound(MtbAart mtbAart, PickDataDTO pickDataDTO) {
|
||||||
if (SettingsManager.iDB().isFlagCanAddUnknownItemsAccettazioneBolla()) {
|
if (SettingsManager.iDB().isFlagAccettazioneBollaCanAddUnknownItems()) {
|
||||||
|
|
||||||
this.manageDispatchBollaRow(new PickingObjectDTO()
|
this.manageDispatchBollaRow(new PickingObjectDTO()
|
||||||
.setMtbAart(mtbAart)
|
.setMtbAart(mtbAart)
|
||||||
@ -410,7 +410,7 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void manageInfoAggiuntiveRequest(RunnableArgss<String, MtbTCol> onComplete) {
|
private void manageInfoAggiuntiveRequest(RunnableArgss<String, MtbTCol> onComplete) {
|
||||||
if (!SettingsManager.iDB().isFlagAskTipoColloAccettazioneBolla()) {
|
if (!SettingsManager.iDB().isFlagAccettazioneBollaAskTipoCollo()) {
|
||||||
onComplete.run(null, null);
|
onComplete.run(null, null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -428,7 +428,7 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SettingsManager.iDB().isFlagEnableFastPickAccettazioneBolla()) {
|
if (SettingsManager.iDB().isFlagAccettazioneBollaEnableFastPick()) {
|
||||||
this.saveNewRow(pickingObjectDTO,
|
this.saveNewRow(pickingObjectDTO,
|
||||||
BigDecimal.ONE,
|
BigDecimal.ONE,
|
||||||
pickingObjectDTO.getMtbAart().getQtaCnf(),
|
pickingObjectDTO.getMtbAart().getQtaCnf(),
|
||||||
@ -808,7 +808,7 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
|
|
||||||
private void manageVersamentoAutomatico(Runnable onComplete) {
|
private void manageVersamentoAutomatico(Runnable onComplete) {
|
||||||
|
|
||||||
if (!SettingsManager.iDB().isFlagAskVersamentoAutomaticoAccettazioneBolla()) {
|
if (!SettingsManager.iDB().isFlagAccettazioneBollaAskVersamentoAutomatico()) {
|
||||||
onComplete.run();
|
onComplete.run();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -831,7 +831,7 @@ public class AccettazioneBollaPickingViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void managePrintCollo(Runnable onComplete) {
|
private void managePrintCollo(Runnable onComplete) {
|
||||||
if (!mCurrentMtbColt.getDisablePrint() || !SettingsManager.iDB().isFlagAskPrintUlAccettazioneBolla()) {
|
if (!mCurrentMtbColt.getDisablePrint() || !SettingsManager.iDB().isFlagAccettazioneBollaAskPrintUl()) {
|
||||||
onComplete.run();
|
onComplete.run();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -214,7 +214,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
|||||||
//dell'etichetta anonima
|
//dell'etichetta anonima
|
||||||
this.executeEtichettaAnonimaNotOpenedLU(barcodeScanDTO, onComplete);
|
this.executeEtichettaAnonimaNotOpenedLU(barcodeScanDTO, onComplete);
|
||||||
} else {
|
} else {
|
||||||
if (SettingsManager.iDB().isFlagAllowBarcodeFornitore() && UtilityBarcode.isEtichetta128(barcodeScanDTO)) {
|
if (SettingsManager.iDB().isFlagAccettazioneAllowBarcodeFornitore() && UtilityBarcode.isEtichetta128(barcodeScanDTO)) {
|
||||||
this.executeSSCCFornitore(barcodeScanDTO, onComplete);
|
this.executeSSCCFornitore(barcodeScanDTO, onComplete);
|
||||||
} else {
|
} else {
|
||||||
this.processBarcodeNotOpenedLU(barcodeScanDTO, null, onComplete);
|
this.processBarcodeNotOpenedLU(barcodeScanDTO, null, onComplete);
|
||||||
@ -815,7 +815,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void calculateQtaDaEvadere() {
|
private void calculateQtaDaEvadere() {
|
||||||
if (SettingsManager.iDB().isFlagDeleteRowOnClose()) {
|
if (SettingsManager.iDB().isFlagAccettazioneDeleteRowOnClose()) {
|
||||||
for (PickingObjectDTO pickingObjectDTO : this.mPickingList.getValue()) {
|
for (PickingObjectDTO pickingObjectDTO : this.mPickingList.getValue()) {
|
||||||
List<MtbColr> withdrawMtbColrs = pickingObjectDTO.getWithdrawMtbColrs();
|
List<MtbColr> withdrawMtbColrs = pickingObjectDTO.getWithdrawMtbColrs();
|
||||||
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
||||||
|
|||||||
@ -10,7 +10,6 @@ import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingL
|
|||||||
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
||||||
import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario;
|
import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario;
|
||||||
import it.integry.integrywmsnative.core.services.inventario.InventarioService;
|
import it.integry.integrywmsnative.core.services.inventario.InventarioService;
|
||||||
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto.ArtsInGiacenzaDTO;
|
|
||||||
|
|
||||||
public class ArticoliInGiacenzaViewModel {
|
public class ArticoliInGiacenzaViewModel {
|
||||||
private final InventarioService mInventarioService;
|
private final InventarioService mInventarioService;
|
||||||
|
|||||||
@ -2,19 +2,27 @@ package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod;
|
|||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterGruppoMercLayoutView;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.filters.FilterCommessaLayoutView;
|
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.filters.FilterCommessaLayoutView;
|
||||||
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
|
import it.integry.integrywmsnative.ui.filter_chips.FilterChipDTO;
|
||||||
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterNumeroOrdineLayoutView;
|
import it.integry.integrywmsnative.ui.filter_chips.filters.FilterNumeroOrdineLayoutView;
|
||||||
|
|
||||||
public class ProdFabbisognoLineeProdBindings {
|
public class ProdFabbisognoLineeProdBindings {
|
||||||
public static final int NUM_ORD_FILTER_ID = 0;
|
public static final int NUM_ORD_FILTER_ID = 0;
|
||||||
|
public static final int MGRP_FILTER_ID = 1;
|
||||||
|
|
||||||
public static final HashMap<Integer, FilterChipDTO> AVAILABLE_FILTERS = new HashMap<>() {{
|
public static final HashMap<Integer, FilterChipDTO> AVAILABLE_FILTERS = new HashMap<>() {{
|
||||||
|
|
||||||
put(NUM_ORD_FILTER_ID, new FilterChipDTO()
|
put(NUM_ORD_FILTER_ID, new FilterChipDTO()
|
||||||
.setID(NUM_ORD_FILTER_ID)
|
.setID(NUM_ORD_FILTER_ID)
|
||||||
|
.setPosizione(0)
|
||||||
.setFilterChipText("Numero ordine")
|
.setFilterChipText("Numero ordine")
|
||||||
.setFilterLayoutView(new FilterNumeroOrdineLayoutView()));
|
.setFilterLayoutView(new FilterNumeroOrdineLayoutView()));
|
||||||
|
|
||||||
|
put(MGRP_FILTER_ID, new FilterChipDTO()
|
||||||
|
.setID(MGRP_FILTER_ID)
|
||||||
|
.setPosizione(1)
|
||||||
|
.setFilterChipText("Gruppo merceologico")
|
||||||
|
.setFilterLayoutView(new FilterGruppoMercLayoutView()));
|
||||||
}};
|
}};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,6 +22,7 @@ import java.util.Collections;
|
|||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
@ -33,8 +34,13 @@ import it.integry.integrywmsnative.core.di.BindableBoolean;
|
|||||||
import it.integry.integrywmsnative.core.expansion.BaseFragment;
|
import it.integry.integrywmsnative.core.expansion.BaseFragment;
|
||||||
import it.integry.integrywmsnative.core.expansion.OnGeneralChangedCallback;
|
import it.integry.integrywmsnative.core.expansion.OnGeneralChangedCallback;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||||
|
import it.integry.integrywmsnative.core.model.JtbComt;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbGrup;
|
||||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.CommessaRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
||||||
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
|
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||||
@ -44,6 +50,7 @@ import it.integry.integrywmsnative.databinding.FragmentProdFabbisognoLineeListSi
|
|||||||
import it.integry.integrywmsnative.databinding.FragmentProdFabbisognoLineeProdBinding;
|
import it.integry.integrywmsnative.databinding.FragmentProdFabbisognoLineeProdBinding;
|
||||||
import it.integry.integrywmsnative.databinding.FragmentProdFabbisognoLineeTitleItemBinding;
|
import it.integry.integrywmsnative.databinding.FragmentProdFabbisognoLineeTitleItemBinding;
|
||||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
|
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.filters.FilterGruppoMercLayoutView;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ui.MainListProdOrdineProduzioneElencoClienteListModel;
|
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ui.MainListProdOrdineProduzioneElencoClienteListModel;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ui.MainListProdOrdineProduzioneElencoListModel;
|
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ui.MainListProdOrdineProduzioneElencoListModel;
|
||||||
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.GroupTitleModel;
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.GroupTitleModel;
|
||||||
@ -68,11 +75,17 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
|
|||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
ProdFabbisognoLineeProdViewModel mViewModel;
|
ProdFabbisognoLineeProdViewModel mViewModel;
|
||||||
|
@Inject
|
||||||
|
ArticoloRESTConsumer mArticoloRESTConsumer;
|
||||||
|
@Inject
|
||||||
|
CommessaRESTConsumer mCommessaRESTConsumer;
|
||||||
|
|
||||||
private final ArrayList<Runnable> mOnPreDestroyList = new ArrayList<>();
|
private final ArrayList<Runnable> mOnPreDestroyList = new ArrayList<>();
|
||||||
private final ObservableArrayList<Object> mProdFabbisognoItemModel = new ObservableArrayList<>();
|
private final ObservableArrayList<Object> mProdFabbisognoItemModel = new ObservableArrayList<>();
|
||||||
private FragmentProdFabbisognoLineeProdBinding mBindings;
|
private FragmentProdFabbisognoLineeProdBinding mBindings;
|
||||||
private ProdFabbisognoLineeProdFilterViewModel mFilterViewModel = new ProdFabbisognoLineeProdFilterViewModel();
|
private ProdFabbisognoLineeProdFilterViewModel mFilterViewModel = new ProdFabbisognoLineeProdFilterViewModel();
|
||||||
|
private List<MtbGrup> mtbGrupCache;
|
||||||
|
private List<JtbComt> jtbComtCache;
|
||||||
|
|
||||||
public ProdFabbisognoLineeProdFragment() {
|
public ProdFabbisognoLineeProdFragment() {
|
||||||
// Required empty public constructor
|
// Required empty public constructor
|
||||||
@ -120,6 +133,11 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
|
|||||||
mViewModel.getOrdiniList().observe(getViewLifecycleOwner(), data -> {
|
mViewModel.getOrdiniList().observe(getViewLifecycleOwner(), data -> {
|
||||||
mBindings.emptyView.setVisibility(data == null || data.isEmpty() ? View.VISIBLE : View.GONE);
|
mBindings.emptyView.setVisibility(data == null || data.isEmpty() ? View.VISIBLE : View.GONE);
|
||||||
|
|
||||||
|
this.onLoadingStarted();
|
||||||
|
this.initMtbGrupsCache(() -> {
|
||||||
|
this.initJtbComtCache(this::onLoadingEnded);
|
||||||
|
});
|
||||||
|
|
||||||
mFilterViewModel.init(mViewModel.getOrdiniList().getValue());
|
mFilterViewModel.init(mViewModel.getOrdiniList().getValue());
|
||||||
this.refreshList(null);
|
this.refreshList(null);
|
||||||
});
|
});
|
||||||
@ -211,15 +229,22 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
|
|||||||
};
|
};
|
||||||
|
|
||||||
mFilterViewModel.getCurrentNumOrdsPredicate().addOnPropertyChangedCallback(onPredicateChanged);
|
mFilterViewModel.getCurrentNumOrdsPredicate().addOnPropertyChangedCallback(onPredicateChanged);
|
||||||
|
mFilterViewModel.getCurrentGruppoMercPredicate().addOnPropertyChangedCallback(onPredicateChanged);
|
||||||
|
|
||||||
for (var filterChipDTO : ProdFabbisognoLineeProdBindings.AVAILABLE_FILTERS.entrySet()) {
|
List<FilterChipDTO> filterList = Stream.of(ProdFabbisognoLineeProdBindings.AVAILABLE_FILTERS.entrySet())
|
||||||
|
.map(Map.Entry::getValue)
|
||||||
|
.sortBy(FilterChipDTO::getPosizione)
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
for (FilterChipDTO filterChipDTO : filterList) {
|
||||||
|
|
||||||
FilterChipView filterChipView = new FilterChipView(
|
FilterChipView filterChipView = new FilterChipView(
|
||||||
requireActivity(),
|
requireActivity(),
|
||||||
filterChipDTO.getValue().getFilterChipText(),
|
filterChipDTO.getFilterChipText(),
|
||||||
v -> initBottomSheetDialogFilter(filterChipDTO.getValue()));
|
v -> initBottomSheetDialogFilter(filterChipDTO));
|
||||||
|
|
||||||
if (filterChipDTO.getKey() == ProdFabbisognoLineeProdBindings.NUM_ORD_FILTER_ID) {
|
switch (filterChipDTO.getID()){
|
||||||
|
case ProdFabbisognoLineeProdBindings.NUM_ORD_FILTER_ID -> {
|
||||||
mFilterViewModel.getCurrentNumOrdsPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
mFilterViewModel.getCurrentNumOrdsPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -240,6 +265,32 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
|
|||||||
});
|
});
|
||||||
filterChipView.setOnResetClicked(() -> mFilterViewModel.getCurrentNumOrdsPredicate().set(null));
|
filterChipView.setOnResetClicked(() -> mFilterViewModel.getCurrentNumOrdsPredicate().set(null));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case ProdFabbisognoLineeProdBindings.MGRP_FILTER_ID -> {
|
||||||
|
mFilterViewModel.getCurrentGruppoMercPredicate().addOnPropertyChangedCallback(new OnGeneralChangedCallback() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (mFilterViewModel.getCurrentGruppoMercPredicate().get() == null) {
|
||||||
|
filterChipView.disableCloseIcon();
|
||||||
|
|
||||||
|
mBindings.filterChipsGroup.removeView(filterChipView);
|
||||||
|
mBindings.filterChipsGroup.addView(filterChipView);
|
||||||
|
mBindings.filterChips.smoothScrollTo(0, 0);
|
||||||
|
} else {
|
||||||
|
filterChipView.enableCloseIcon();
|
||||||
|
|
||||||
|
mBindings.filterChipsGroup.removeView(filterChipView);
|
||||||
|
mBindings.filterChipsGroup.addView(filterChipView, 0);
|
||||||
|
mBindings.filterChips.smoothScrollTo(0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
filterChipView.setOnResetClicked(() -> {
|
||||||
|
mFilterViewModel.setGruppoMercFilter(null);
|
||||||
|
mFilterViewModel.getCurrentGruppoMercPredicate().set(null);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
this.mBindings.filterChipsGroup.addView(filterChipView);
|
this.mBindings.filterChipsGroup.addView(filterChipView);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -253,7 +304,8 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
|
|||||||
var filterLayoutView = filterChipDTO
|
var filterLayoutView = filterChipDTO
|
||||||
.getFilterLayoutView();
|
.getFilterLayoutView();
|
||||||
|
|
||||||
if (filterChipDTO.getID() == ProdFabbisognoLineeProdBindings.NUM_ORD_FILTER_ID) {
|
switch (filterChipDTO.getID()) {
|
||||||
|
case ProdFabbisognoLineeProdBindings.NUM_ORD_FILTER_ID ->
|
||||||
((FilterNumeroOrdineLayoutView) filterLayoutView)
|
((FilterNumeroOrdineLayoutView) filterLayoutView)
|
||||||
.setAllNumOrds(mFilterViewModel.getAllNumOrds())
|
.setAllNumOrds(mFilterViewModel.getAllNumOrds())
|
||||||
.setAvailableNumOrds(mFilterViewModel.getAvailableNumOrds())
|
.setAvailableNumOrds(mFilterViewModel.getAvailableNumOrds())
|
||||||
@ -263,6 +315,13 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
|
|||||||
x -> false : Objects.requireNonNull(mFilterViewModel.getCurrentNumOrdsPredicate().get()))
|
x -> false : Objects.requireNonNull(mFilterViewModel.getCurrentNumOrdsPredicate().get()))
|
||||||
.map(x -> x.getOrdineLavorazioneDTO().getNumOrd())
|
.map(x -> x.getOrdineLavorazioneDTO().getNumOrd())
|
||||||
.toList());
|
.toList());
|
||||||
|
|
||||||
|
case ProdFabbisognoLineeProdBindings.MGRP_FILTER_ID ->
|
||||||
|
((FilterGruppoMercLayoutView) filterLayoutView)
|
||||||
|
.setAllGroupMerc(mFilterViewModel.getAllGruppoMerc(mtbGrupCache))
|
||||||
|
.setAvailableGroupMerc(mFilterViewModel.getAvailableGruppoMerc(mtbGrupCache))
|
||||||
|
.setOnFilterApplied(mFilterViewModel::setGruppoMercFilter)
|
||||||
|
.setPreSelectedGroupMerc(mFilterViewModel.getSelectedMtbGrup());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!filterLayoutView.isAdded())
|
if (!filterLayoutView.isAdded())
|
||||||
@ -270,6 +329,44 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void initMtbGrupsCache(Runnable onComplete) {
|
||||||
|
var codMgrpArts = Stream.of(Objects.requireNonNull(this.mViewModel.getOrdiniList().getValue()))
|
||||||
|
.flatMap(x -> Stream.of(x.getOrdineLavorazioneDTO().getAvailableClassMerc() != null ?
|
||||||
|
x.getOrdineLavorazioneDTO().getAvailableClassMerc() : new ArrayList<>()))
|
||||||
|
.map(OrdineLavorazioneDTO.AvailableClassMerc::getCodMgrp)
|
||||||
|
.withoutNulls()
|
||||||
|
.distinct()
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
this.mArticoloRESTConsumer.getArtsGroups(codMgrpArts, mtbGrupCache -> {
|
||||||
|
this.mtbGrupCache = mtbGrupCache;
|
||||||
|
onComplete.run();
|
||||||
|
}, this::onError);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initJtbComtCache(Runnable onComplete) {
|
||||||
|
if (this.mViewModel.getOrdiniList().getValue() == null) {
|
||||||
|
this.jtbComtCache = new ArrayList<>();
|
||||||
|
onComplete.run();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var jtbComts = Stream.of(Objects.requireNonNull(this.mViewModel.getOrdiniList().getValue()))
|
||||||
|
.flatMap(x -> Stream.of(x.getOrdineLavorazioneDTO().getCodJcom()))
|
||||||
|
.distinct().withoutNulls()
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
if (jtbComts.isEmpty()) {
|
||||||
|
this.jtbComtCache = new ArrayList<>();
|
||||||
|
onComplete.run();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.mCommessaRESTConsumer.getJtbComts(jtbComts, jtbComtCache -> {
|
||||||
|
this.jtbComtCache = jtbComtCache;
|
||||||
|
onComplete.run();
|
||||||
|
}, this::onError);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDestroy() {
|
public void onDestroy() {
|
||||||
for (Runnable onPreDestroy : mOnPreDestroyList) {
|
for (Runnable onPreDestroy : mOnPreDestroyList) {
|
||||||
@ -305,11 +402,18 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
|
|||||||
.max(Date::compareTo)
|
.max(Date::compareTo)
|
||||||
.orElse(null);
|
.orElse(null);
|
||||||
|
|
||||||
this.mViewModel.loadFabbisogno(ordini, codMdep, dataInizio, dataFine, this::startPickingActivity);
|
List<MtbGrup> listMtbGrup = Stream.of(mProdFabbisognoItemModel)
|
||||||
|
.filter(x -> x instanceof ProdFabbisognoLineeItemModelDto && ((ProdFabbisognoLineeItemModelDto) x).selected.get())
|
||||||
|
.flatMap(x -> Stream.of(((ProdFabbisognoLineeItemModelDto) x).getSelectedMtbGrup()))
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
this.mViewModel.loadFabbisogno(ordini, codMdep, dataInizio, dataFine, onCompleteData -> {
|
||||||
|
startPickingActivity(listMtbGrup, onCompleteData);
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startPickingActivity(List<ProdFabbisognoLineeProdDTO> fabbisognoList) {
|
private void startPickingActivity(List<MtbGrup> listMtbGrup, List<ProdFabbisognoLineeProdDTO> fabbisognoList) {
|
||||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||||
|
|
||||||
String ordini = UtilityDB.listValueToString(Stream.of(mProdFabbisognoItemModel)
|
String ordini = UtilityDB.listValueToString(Stream.of(mProdFabbisognoItemModel)
|
||||||
@ -318,6 +422,7 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
|
|||||||
.toList());
|
.toList());
|
||||||
|
|
||||||
List<SitArtOrdDTO> sitArtOrdDTOS = Stream.of(fabbisognoList)
|
List<SitArtOrdDTO> sitArtOrdDTOS = Stream.of(fabbisognoList)
|
||||||
|
.filter(x -> Stream.of(listMtbGrup).anyMatch(y -> y.getCodMgrp().equalsIgnoreCase(x.getCodMgrp())))
|
||||||
.map(x -> {
|
.map(x -> {
|
||||||
SitArtOrdDTO sitArtOrdDTO = new SitArtOrdDTO()
|
SitArtOrdDTO sitArtOrdDTO = new SitArtOrdDTO()
|
||||||
.setCodMart(x.getCodMart())
|
.setCodMart(x.getCodMart())
|
||||||
|
|||||||
@ -1,12 +1,17 @@
|
|||||||
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto;
|
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbGrup;
|
||||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
|
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
|
||||||
|
|
||||||
public class ProdFabbisognoLineeItemModelDto {
|
public class ProdFabbisognoLineeItemModelDto {
|
||||||
|
|
||||||
public BindableBoolean selected = new BindableBoolean();
|
public BindableBoolean selected = new BindableBoolean();
|
||||||
public OrdineLavorazioneDTO ordineLavorazioneDTO;
|
public OrdineLavorazioneDTO ordineLavorazioneDTO;
|
||||||
|
List<MtbGrup> selectedMtbGrup = new ArrayList<>();
|
||||||
|
|
||||||
public BindableBoolean getSelected() {
|
public BindableBoolean getSelected() {
|
||||||
return selected;
|
return selected;
|
||||||
@ -20,4 +25,13 @@ public class ProdFabbisognoLineeItemModelDto {
|
|||||||
this.ordineLavorazioneDTO = ordineLavorazioneDTO;
|
this.ordineLavorazioneDTO = ordineLavorazioneDTO;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<MtbGrup> getSelectedMtbGrup() {
|
||||||
|
return selectedMtbGrup;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProdFabbisognoLineeItemModelDto setSelectedMtbGrup(List<MtbGrup> selectedMtbGrup) {
|
||||||
|
this.selectedMtbGrup = selectedMtbGrup;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,15 +6,22 @@ import androidx.lifecycle.MutableLiveData;
|
|||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
import com.annimon.stream.function.Predicate;
|
import com.annimon.stream.function.Predicate;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbGrup;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoDTO;
|
||||||
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeItemModelDto;
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeItemModelDto;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO;
|
||||||
|
|
||||||
public class ProdFabbisognoLineeProdFilterViewModel {
|
public class ProdFabbisognoLineeProdFilterViewModel {
|
||||||
private final ObservableField<Predicate<ProdFabbisognoLineeItemModelDto>> currentNumOrdsPredicate = new ObservableField<>();
|
private final ObservableField<Predicate<ProdFabbisognoLineeItemModelDto>> currentNumOrdsPredicate = new ObservableField<>();
|
||||||
|
private final ObservableField<Predicate<ProdFabbisognoLineeItemModelDto>> currentGruppoMercPredicate = new ObservableField<>();
|
||||||
|
|
||||||
private List<ProdFabbisognoLineeItemModelDto> initialList;
|
private List<ProdFabbisognoLineeItemModelDto> initialList;
|
||||||
|
private List<MtbGrup> selectedMtbGrup = new ArrayList<>();
|
||||||
private final MutableLiveData<List<ProdFabbisognoLineeItemModelDto>> currentList = new MutableLiveData<>();
|
private final MutableLiveData<List<ProdFabbisognoLineeItemModelDto>> currentList = new MutableLiveData<>();
|
||||||
|
|
||||||
public void init(List<ProdFabbisognoLineeItemModelDto> initialList) {
|
public void init(List<ProdFabbisognoLineeItemModelDto> initialList) {
|
||||||
@ -33,16 +40,30 @@ public class ProdFabbisognoLineeProdFilterViewModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setGruppoMercFilter(List<MtbGrup> mtbGrupList) {
|
||||||
|
if (mtbGrupList == null || mtbGrupList.isEmpty()) {
|
||||||
|
currentGruppoMercPredicate.set(null);
|
||||||
|
this.selectedMtbGrup = new ArrayList<>();
|
||||||
|
} else {
|
||||||
|
this.selectedMtbGrup = mtbGrupList;
|
||||||
|
var mtbGrups = Stream.of(mtbGrupList).map(MtbGrup::getCodMgrp).toList();
|
||||||
|
|
||||||
|
currentGruppoMercPredicate.set(x -> Stream.of(x.getOrdineLavorazioneDTO().getAvailableClassMerc())
|
||||||
|
.anyMatch(y -> mtbGrups.contains(y.getCodMgrp())));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void applyAllTests() {
|
public void applyAllTests() {
|
||||||
List<ProdFabbisognoLineeItemModelDto> returnList = null;
|
List<ProdFabbisognoLineeItemModelDto> returnList = null;
|
||||||
|
|
||||||
if (currentNumOrdsPredicate.get() == null){
|
if (currentNumOrdsPredicate.get() == null &&
|
||||||
|
currentGruppoMercPredicate.get() == null) {
|
||||||
returnList = this.initialList;
|
returnList = this.initialList;
|
||||||
} else {
|
} else {
|
||||||
Stream<ProdFabbisognoLineeItemModelDto> tmpStream = Stream.of(this.initialList)
|
returnList = Stream.of(this.initialList)
|
||||||
.filter(x -> (currentNumOrdsPredicate.get() == null || (currentNumOrdsPredicate.get().test(x))));
|
.filter(x -> (currentNumOrdsPredicate.get() == null || (currentNumOrdsPredicate.get().test(x))) &&
|
||||||
|
(currentGruppoMercPredicate.get() == null || (currentGruppoMercPredicate.get().test(x)))
|
||||||
returnList = tmpStream.toList();
|
).map(x -> x.setSelectedMtbGrup(this.selectedMtbGrup)).toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.currentList.setValue(returnList);
|
this.currentList.setValue(returnList);
|
||||||
@ -52,6 +73,10 @@ public class ProdFabbisognoLineeProdFilterViewModel {
|
|||||||
return currentNumOrdsPredicate;
|
return currentNumOrdsPredicate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ObservableField<Predicate<ProdFabbisognoLineeItemModelDto>> getCurrentGruppoMercPredicate() {
|
||||||
|
return currentGruppoMercPredicate;
|
||||||
|
}
|
||||||
|
|
||||||
public List<Integer> getAllNumOrds() {
|
public List<Integer> getAllNumOrds() {
|
||||||
return Stream
|
return Stream
|
||||||
.of(Objects.requireNonNull(initialList))
|
.of(Objects.requireNonNull(initialList))
|
||||||
@ -63,12 +88,58 @@ public class ProdFabbisognoLineeProdFilterViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public List<Integer> getAvailableNumOrds() {
|
public List<Integer> getAvailableNumOrds() {
|
||||||
if (currentNumOrdsPredicate.get() == null) return getAllNumOrds();
|
if (currentGruppoMercPredicate.get() == null) return getAllNumOrds();
|
||||||
else {
|
else {
|
||||||
return Stream.of(this.initialList)
|
return Stream.of(this.initialList)
|
||||||
|
.filter(x -> (currentGruppoMercPredicate.get() == null || (currentGruppoMercPredicate.get().test(x))))
|
||||||
.map(x -> x.getOrdineLavorazioneDTO().getNumOrd())
|
.map(x -> x.getOrdineLavorazioneDTO().getNumOrd())
|
||||||
.distinct()
|
.distinct()
|
||||||
.toList();
|
.toList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<MtbGrup> getSelectedMtbGrup() {
|
||||||
|
return selectedMtbGrup;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<MtbGrup> getAllGruppoMerc(List<MtbGrup> mtbGrupFullList) {
|
||||||
|
var codMgrp = Stream.of(initialList)
|
||||||
|
.flatMap(x ->
|
||||||
|
Stream.of(x.getOrdineLavorazioneDTO().getAvailableClassMerc() != null ?
|
||||||
|
x.getOrdineLavorazioneDTO().getAvailableClassMerc() :
|
||||||
|
new ArrayList<>()))
|
||||||
|
.map(OrdineLavorazioneDTO.AvailableClassMerc::getCodMgrp)
|
||||||
|
.withoutNulls()
|
||||||
|
.distinct()
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
return Stream.of(Objects.requireNonNull(mtbGrupFullList))
|
||||||
|
.filter(x -> codMgrp.contains(x.getCodMgrp()))
|
||||||
|
.distinct()
|
||||||
|
.withoutNulls()
|
||||||
|
.sortBy(MtbGrup::getDescrizione)
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<MtbGrup> getAvailableGruppoMerc(List<MtbGrup> mtbGrupFullList){
|
||||||
|
if (currentNumOrdsPredicate.get() == null){
|
||||||
|
return getAllGruppoMerc(mtbGrupFullList);
|
||||||
|
} else {
|
||||||
|
List<String> availableCodMgrups = Stream.of(this.initialList)
|
||||||
|
.filter(x ->
|
||||||
|
(currentNumOrdsPredicate.get() == null || (currentNumOrdsPredicate.get().test(x)))
|
||||||
|
)
|
||||||
|
.flatMap(x -> Stream.of(x.getOrdineLavorazioneDTO().getAvailableClassMerc()))
|
||||||
|
.map(OrdineLavorazioneDTO.AvailableClassMerc::getCodMgrp)
|
||||||
|
.distinct()
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
return Stream.of(Objects.requireNonNull(mtbGrupFullList))
|
||||||
|
.filter(x -> availableCodMgrups.contains(x.getCodMgrp()))
|
||||||
|
.distinct()
|
||||||
|
.withoutNulls()
|
||||||
|
.sortBy(MtbGrup::getDescrizione)
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,7 +32,6 @@ import it.integry.integrywmsnative.core.expansion.OnGeneralChangedCallback;
|
|||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ISearchableFragment;
|
import it.integry.integrywmsnative.core.interfaces.ISearchableFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
|
||||||
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
|
||||||
import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario;
|
import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
@ -212,7 +211,7 @@ public class ProdRiposizionamentoDaProdFragment extends BaseFragment implements
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onInfoClick(List<MvwSitArtUdcDetInventario> item) {
|
public void onInfoClick(ArtsInGiacenzaDTO item) {
|
||||||
try {
|
try {
|
||||||
DialogInfoGiacenzaView.newInstance(item).show(getChildFragmentManager(), DialogInfoGiacenzaView.class.getName());
|
DialogInfoGiacenzaView.newInstance(item).show(getChildFragmentManager(), DialogInfoGiacenzaView.class.getName());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import com.annimon.stream.Optional;
|
|||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -13,8 +14,6 @@ import java.util.Map;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||||
import it.integry.integrywmsnative.core.exception.NoLUFoundException;
|
import it.integry.integrywmsnative.core.exception.NoLUFoundException;
|
||||||
import it.integry.integrywmsnative.core.exception.ScannedPositionNotExistException;
|
import it.integry.integrywmsnative.core.exception.ScannedPositionNotExistException;
|
||||||
@ -32,6 +31,7 @@ import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
|||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto.ArtsInGiacenzaDTO;
|
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto.ArtsInGiacenzaDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto.StatoArtInventarioDTO;
|
||||||
|
|
||||||
public class ProdRiposizionamentoDaProdViewModel {
|
public class ProdRiposizionamentoDaProdViewModel {
|
||||||
private final SoundAlertService mSoundAlertService;
|
private final SoundAlertService mSoundAlertService;
|
||||||
@ -41,6 +41,7 @@ public class ProdRiposizionamentoDaProdViewModel {
|
|||||||
private final MutableLiveData<List<ArtsInGiacenzaDTO>> itemsInventario = new MutableLiveData<>();
|
private final MutableLiveData<List<ArtsInGiacenzaDTO>> itemsInventario = new MutableLiveData<>();
|
||||||
private final MutableLiveData<MtbColt> mtbColtMutableLiveData = new MutableLiveData<>();
|
private final MutableLiveData<MtbColt> mtbColtMutableLiveData = new MutableLiveData<>();
|
||||||
private final MutableLiveData<List<MvwSitArtUdcDetInventario>> mMvwSitArtUdcDetInventarioLiveData = new MutableLiveData<>();
|
private final MutableLiveData<List<MvwSitArtUdcDetInventario>> mMvwSitArtUdcDetInventarioLiveData = new MutableLiveData<>();
|
||||||
|
private final MutableLiveData<List<StatoArtInventarioDTO>> mStatoArticoli = new MutableLiveData<>();
|
||||||
private Listener mListener;
|
private Listener mListener;
|
||||||
|
|
||||||
public ProdRiposizionamentoDaProdViewModel(GiacenzaRESTConsumer giacenzaRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, SoundAlertService soundAlertService) {
|
public ProdRiposizionamentoDaProdViewModel(GiacenzaRESTConsumer giacenzaRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, SoundAlertService soundAlertService) {
|
||||||
@ -100,6 +101,13 @@ public class ProdRiposizionamentoDaProdViewModel {
|
|||||||
|
|
||||||
mMvwSitArtUdcDetInventarioLiveData.setValue(mvwSitArtUdcDetInventario);
|
mMvwSitArtUdcDetInventarioLiveData.setValue(mvwSitArtUdcDetInventario);
|
||||||
|
|
||||||
|
List<StatoArtInventarioDTO> statoArticolo = Stream.of(Objects.requireNonNull(itemsInventario.getValue()))
|
||||||
|
.flatMap(x -> Stream.of(x.getStatoArtInventario())
|
||||||
|
.filter(Objects::nonNull))
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
mStatoArticoli.setValue(statoArticolo);
|
||||||
|
|
||||||
boolean isPresent = Stream.of(mvwSitArtUdcDetInventario)
|
boolean isPresent = Stream.of(mvwSitArtUdcDetInventario)
|
||||||
.anyMatch(x ->
|
.anyMatch(x ->
|
||||||
x.getGestione().equals(mtbColt.getGestione()) &&
|
x.getGestione().equals(mtbColt.getGestione()) &&
|
||||||
@ -161,6 +169,18 @@ public class ProdRiposizionamentoDaProdViewModel {
|
|||||||
.map(MvwSitArtUdcDetInventario::getNumCnf)
|
.map(MvwSitArtUdcDetInventario::getNumCnf)
|
||||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
|
|
||||||
|
List<StatoArtInventarioDTO> statoArticoli = mStatoArticoli.getValue();
|
||||||
|
|
||||||
|
if (statoArticoli == null)
|
||||||
|
statoArticoli = new ArrayList<>();
|
||||||
|
|
||||||
|
StatoArtInventarioDTO statoArticolo = Stream.of(statoArticoli)
|
||||||
|
.filter(x -> x.getCodProd().equalsIgnoreCase(dtoList.get(0).getCodMart()) &&
|
||||||
|
Objects.equals(x.getNumOrd(), dtoList.get(0).getNumOrd()) &&
|
||||||
|
Objects.equals(x.getDataOrd(), dtoList.get(0).getDataOrd())
|
||||||
|
)
|
||||||
|
.findFirstOrElse(null);
|
||||||
|
|
||||||
return new ArtsInGiacenzaDTO()
|
return new ArtsInGiacenzaDTO()
|
||||||
.setCodMart(dtoList.get(0).getCodMart())
|
.setCodMart(dtoList.get(0).getCodMart())
|
||||||
.setPartitaMag(dtoList.get(0).getPartitaMag())
|
.setPartitaMag(dtoList.get(0).getPartitaMag())
|
||||||
@ -169,6 +189,7 @@ public class ProdRiposizionamentoDaProdViewModel {
|
|||||||
.setNumOrd(dtoList.get(0).getNumOrd())
|
.setNumOrd(dtoList.get(0).getNumOrd())
|
||||||
.setNumCnf(totalNumCnf)
|
.setNumCnf(totalNumCnf)
|
||||||
.setCount(dtoList.size())
|
.setCount(dtoList.size())
|
||||||
|
.setStatoArtInventario(statoArticolo)
|
||||||
.setMvwSitArtUdcDetInventarioDTO(dtoList);
|
.setMvwSitArtUdcDetInventarioDTO(dtoList);
|
||||||
})
|
})
|
||||||
.sorted(Comparator.comparing(ArtsInGiacenzaDTO::getPosizione))
|
.sorted(Comparator.comparing(ArtsInGiacenzaDTO::getPosizione))
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import android.content.Context;
|
|||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
@ -13,6 +14,7 @@ import com.annimon.stream.Stream;
|
|||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||||
import com.ravikoradiya.liveadapter.LiveAdapter;
|
import com.ravikoradiya.liveadapter.LiveAdapter;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
@ -21,8 +23,10 @@ import it.integry.integrywmsnative.BR;
|
|||||||
import it.integry.integrywmsnative.MainApplication;
|
import it.integry.integrywmsnative.MainApplication;
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
|
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
|
||||||
import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario;
|
|
||||||
import it.integry.integrywmsnative.databinding.DialogInfoGiacenzaBinding;
|
import it.integry.integrywmsnative.databinding.DialogInfoGiacenzaBinding;
|
||||||
|
import it.integry.integrywmsnative.databinding.DialogInfoGiacenzaSituazioneArticoloBinding;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto.ArtsInGiacenzaDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto.StatoArtInventarioDTO;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo.ui.DialogInfoSituazioneArticoloAvailableListItem;
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo.ui.DialogInfoSituazioneArticoloAvailableListItem;
|
||||||
|
|
||||||
public class DialogInfoGiacenzaView extends BaseDialogFragment {
|
public class DialogInfoGiacenzaView extends BaseDialogFragment {
|
||||||
@ -31,13 +35,13 @@ public class DialogInfoGiacenzaView extends BaseDialogFragment {
|
|||||||
|
|
||||||
private DialogInfoGiacenzaBinding mBindings;
|
private DialogInfoGiacenzaBinding mBindings;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private List<MvwSitArtUdcDetInventario> item;
|
private ArtsInGiacenzaDTO item;
|
||||||
|
|
||||||
public static DialogInfoGiacenzaView newInstance(List<MvwSitArtUdcDetInventario> item) {
|
public static DialogInfoGiacenzaView newInstance(ArtsInGiacenzaDTO item) {
|
||||||
return new DialogInfoGiacenzaView(item);
|
return new DialogInfoGiacenzaView(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DialogInfoGiacenzaView(List<MvwSitArtUdcDetInventario> item) {
|
public DialogInfoGiacenzaView(ArtsInGiacenzaDTO item) {
|
||||||
this.item = item;
|
this.item = item;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,17 +82,47 @@ public class DialogInfoGiacenzaView extends BaseDialogFragment {
|
|||||||
this.onLoadingEnded();
|
this.onLoadingEnded();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initAvailableItemsList(List<MvwSitArtUdcDetInventario> availableItems) {
|
private void initAvailableItemsList(ArtsInGiacenzaDTO availableItems) {
|
||||||
if(availableItems == null || availableItems.isEmpty())
|
if (availableItems == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var itemList = Stream.of(availableItems)
|
var listItem = Stream.of(availableItems)
|
||||||
|
.flatMap(x -> Stream.of(x.getMvwSitArtUdcDetInventarioDTO())
|
||||||
.map(DialogInfoSituazioneArticoloAvailableListItem::fromMvwSitArtUdcDetInventario)
|
.map(DialogInfoSituazioneArticoloAvailableListItem::fromMvwSitArtUdcDetInventario)
|
||||||
|
)
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
new LiveAdapter(itemList, BR.item)
|
List<StatoArtInventarioDTO> statoArticolo = null;
|
||||||
.map(DialogInfoSituazioneArticoloAvailableListItem.class, R.layout.dialog_info_giacenza_list_item)
|
StatoArtInventarioDTO statoArtInventario = availableItems.getStatoArtInventario();
|
||||||
.into(this.mBindings.availableList);
|
if (statoArtInventario != null) {
|
||||||
|
statoArticolo = Stream.of(statoArtInventario).toList();
|
||||||
|
|
||||||
|
if (statoArtInventario.colliArrivoIsLessThenZero() &&
|
||||||
|
statoArtInventario.colliMagIsLessThenZero()) {
|
||||||
|
this.mBindings.situazioneArticolo.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.mBindings.situazioneArticolo.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
new LiveAdapter(listItem, BR.item)
|
||||||
|
.map(DialogInfoSituazioneArticoloAvailableListItem.class, R.layout.dialog_info_giacenza_list_item)
|
||||||
|
.into(this.mBindings.availableList);
|
||||||
|
|
||||||
|
new LiveAdapter(statoArticolo, BR.item)
|
||||||
|
.map(StatoArtInventarioDTO.class, R.layout.dialog_info_giacenza_situazione_articolo)
|
||||||
|
.into(this.mBindings.situazioneArticolo);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoadingStarted() {
|
||||||
|
this.mBindings.loadingView.setVisibility(View.VISIBLE);
|
||||||
|
this.mBindings.listItem.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoadingEnded() {
|
||||||
|
this.mBindings.loadingView.setVisibility(View.GONE);
|
||||||
|
this.mBindings.listItem.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -1,6 +1,7 @@
|
|||||||
package it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto;
|
package it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario;
|
import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario;
|
||||||
@ -13,7 +14,9 @@ public class ArtsInGiacenzaDTO {
|
|||||||
private String posizione;
|
private String posizione;
|
||||||
private BigDecimal numCnf;
|
private BigDecimal numCnf;
|
||||||
private Integer numOrd;
|
private Integer numOrd;
|
||||||
|
private Date dataOrd;
|
||||||
private Integer count;
|
private Integer count;
|
||||||
|
private StatoArtInventarioDTO statoArtInventario;
|
||||||
private List<MvwSitArtUdcDetInventario> mvwSitArtUdcDetInventarioDTO;
|
private List<MvwSitArtUdcDetInventario> mvwSitArtUdcDetInventarioDTO;
|
||||||
|
|
||||||
public String getCodMart() {
|
public String getCodMart() {
|
||||||
@ -92,4 +95,22 @@ public class ArtsInGiacenzaDTO {
|
|||||||
this.numOrd = numOrd;
|
this.numOrd = numOrd;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO getStatoArtInventario() {
|
||||||
|
return statoArtInventario;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ArtsInGiacenzaDTO setStatoArtInventario(StatoArtInventarioDTO statoArtInventario) {
|
||||||
|
this.statoArtInventario = statoArtInventario;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getDataOrd() {
|
||||||
|
return dataOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ArtsInGiacenzaDTO setDataOrd(Date dataOrd) {
|
||||||
|
this.dataOrd = dataOrd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,181 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
public class StatoArtInventarioDTO {
|
||||||
|
private String codProd;
|
||||||
|
private Integer numOrd;
|
||||||
|
private Date dataOrd;
|
||||||
|
private String untMis;
|
||||||
|
private BigDecimal qtaProd;
|
||||||
|
private BigDecimal colliProd;
|
||||||
|
private BigDecimal pedProd;
|
||||||
|
private BigDecimal qtaInArrivo;
|
||||||
|
private BigDecimal colliArrivo;
|
||||||
|
private BigDecimal pedArrivo;
|
||||||
|
private BigDecimal qtaLinea;
|
||||||
|
private BigDecimal colliLinea;
|
||||||
|
private Integer pedLinea;
|
||||||
|
private BigDecimal qtaMag;
|
||||||
|
private BigDecimal colliMag;
|
||||||
|
private Integer pedMag;
|
||||||
|
|
||||||
|
public String getCodProd() {
|
||||||
|
return codProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO setCodProd(String codProd) {
|
||||||
|
this.codProd = codProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getNumOrd() {
|
||||||
|
return numOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO setNumOrd(Integer numOrd) {
|
||||||
|
this.numOrd = numOrd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUntMis() {
|
||||||
|
return untMis;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO setUntMis(String untMis) {
|
||||||
|
this.untMis = untMis;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaProd() {
|
||||||
|
return qtaProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO setQtaProd(BigDecimal qtaProd) {
|
||||||
|
this.qtaProd = qtaProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getColliProd() {
|
||||||
|
return colliProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO setColliProd(BigDecimal colliProd) {
|
||||||
|
this.colliProd = colliProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getPedProd() {
|
||||||
|
return pedProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO setPedProd(BigDecimal pedProd) {
|
||||||
|
this.pedProd = pedProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaInArrivo() {
|
||||||
|
return qtaInArrivo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO setQtaInArrivo(BigDecimal qtaInArrivo) {
|
||||||
|
this.qtaInArrivo = qtaInArrivo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getColliArrivo() {
|
||||||
|
return colliArrivo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO setColliArrivo(BigDecimal colliArrivo) {
|
||||||
|
this.colliArrivo = colliArrivo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getPedArrivo() {
|
||||||
|
if (pedArrivo.compareTo(BigDecimal.ZERO) < 0)
|
||||||
|
return BigDecimal.ZERO;
|
||||||
|
else
|
||||||
|
return pedArrivo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO setPedArrivo(BigDecimal pedArrivo) {
|
||||||
|
this.pedArrivo = pedArrivo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaLinea() {
|
||||||
|
return qtaLinea;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO setQtaLinea(BigDecimal qtaLinea) {
|
||||||
|
this.qtaLinea = qtaLinea;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getColliLinea() {
|
||||||
|
return colliLinea;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO setColliLinea(BigDecimal colliLinea) {
|
||||||
|
this.colliLinea = colliLinea;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPedLinea() {
|
||||||
|
return pedLinea;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO setPedLinea(Integer pedLinea) {
|
||||||
|
this.pedLinea = pedLinea;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaMag() {
|
||||||
|
return qtaMag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO setQtaMag(BigDecimal qtaMag) {
|
||||||
|
this.qtaMag = qtaMag;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getColliMag() {
|
||||||
|
return colliMag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO setColliMag(BigDecimal colliMag) {
|
||||||
|
this.colliMag = colliMag;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPedMag() {
|
||||||
|
if (pedMag < 0)
|
||||||
|
return 0;
|
||||||
|
else
|
||||||
|
return pedMag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO setPedMag(Integer pedMag) {
|
||||||
|
this.pedMag = pedMag;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getDataOrd() {
|
||||||
|
return dataOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatoArtInventarioDTO setDataOrd(Date dataOrd) {
|
||||||
|
this.dataOrd = dataOrd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean colliArrivoIsLessThenZero(){
|
||||||
|
return this.colliArrivo.compareTo(BigDecimal.ZERO) <= 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean colliMagIsLessThenZero(){
|
||||||
|
return this.colliMag.compareTo(BigDecimal.ZERO) <= 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -3,8 +3,10 @@ package it.integry.integrywmsnative.gest.prod_versamento_materiale.dto;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.di.BindableFloat;
|
import it.integry.integrywmsnative.core.di.BindableFloat;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
|
|
||||||
public class OrdineLavorazioneDTO {
|
public class OrdineLavorazioneDTO {
|
||||||
@ -101,6 +103,7 @@ public class OrdineLavorazioneDTO {
|
|||||||
private Object mtbColtToEdit;
|
private Object mtbColtToEdit;
|
||||||
|
|
||||||
private int hrNum;
|
private int hrNum;
|
||||||
|
private List<AvailableClassMerc> availableClassMerc;
|
||||||
|
|
||||||
|
|
||||||
private BindableFloat qtaColVersamento = new BindableFloat();
|
private BindableFloat qtaColVersamento = new BindableFloat();
|
||||||
@ -533,4 +536,37 @@ public class OrdineLavorazioneDTO {
|
|||||||
this.descrizioneAttivita = descrizioneAttivita;
|
this.descrizioneAttivita = descrizioneAttivita;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<AvailableClassMerc> getAvailableClassMerc() {
|
||||||
|
return availableClassMerc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrdineLavorazioneDTO setAvailableClassMerc(List<AvailableClassMerc> availableClassMerc) {
|
||||||
|
this.availableClassMerc = availableClassMerc;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class AvailableClassMerc {
|
||||||
|
|
||||||
|
private String codMgrp;
|
||||||
|
private List<String> codMsgr;
|
||||||
|
|
||||||
|
public String getCodMgrp() {
|
||||||
|
return codMgrp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AvailableClassMerc setCodMgrp(String codMgrp) {
|
||||||
|
this.codMgrp = codMgrp;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getCodMsgr() {
|
||||||
|
return codMsgr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AvailableClassMerc setCodMsgr(List<String> codMsgr) {
|
||||||
|
this.codMsgr = codMsgr;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -404,8 +404,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
|
|||||||
String flagStato = dialogInputQuantityV2DTO.getMtbAart().getFlagStato();
|
String flagStato = dialogInputQuantityV2DTO.getMtbAart().getFlagStato();
|
||||||
|
|
||||||
if (flagStato.equalsIgnoreCase("I")) {
|
if (flagStato.equalsIgnoreCase("I")) {
|
||||||
DialogSimpleMessageView.makeInfoDialog(
|
DialogSimpleMessageView.makeWarningDialog(
|
||||||
getActivity().getResources().getString(R.string.confirm),
|
|
||||||
new SpannableString(Html.fromHtml(String.format(UtilityResources.getString(R.string.item_not_enabled), codMart))),
|
new SpannableString(Html.fromHtml(String.format(UtilityResources.getString(R.string.item_not_enabled), codMart))),
|
||||||
null,
|
null,
|
||||||
() -> {
|
() -> {
|
||||||
@ -428,7 +427,26 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
|
|||||||
},
|
},
|
||||||
this::onLoadingEnded)
|
this::onLoadingEnded)
|
||||||
.show(getActivity().getSupportFragmentManager(), "tag");
|
.show(getActivity().getSupportFragmentManager(), "tag");
|
||||||
} else this.onLoadingEnded();
|
} else {
|
||||||
|
this.onLoadingEnded();
|
||||||
|
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());
|
||||||
|
|
||||||
|
this.onLoadingStarted();
|
||||||
|
onComplete.run(pickedQuantityDTO, shouldCloseLU);
|
||||||
|
})
|
||||||
|
.setOnAbort(this::onLoadingEnded)
|
||||||
|
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||||
|
}
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -853,7 +853,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
.setPartitaMag(partitaMag)
|
.setPartitaMag(partitaMag)
|
||||||
.setDataScad(dataScad)
|
.setDataScad(dataScad)
|
||||||
.setCanOverflowOrderQuantity(canOverflowOrderQuantity)
|
.setCanOverflowOrderQuantity(canOverflowOrderQuantity)
|
||||||
.setWarnOnQuantityOverflow(SettingsManager.iDB().isFlagOverflowQuantityWarning())
|
.setWarnOnQuantityOverflow(SettingsManager.iDB().isFlagSpedizioneOverflowQuantityWarning())
|
||||||
.setCanLUBeClosed(true)
|
.setCanLUBeClosed(true)
|
||||||
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
||||||
.setStatoPartitaMag(pickingObjectDTO != null ? pickingObjectDTO.getStatoArticoloDTO() : null)
|
.setStatoPartitaMag(pickingObjectDTO != null ? pickingObjectDTO.getStatoArticoloDTO() : null)
|
||||||
|
|||||||
@ -3,13 +3,14 @@ package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
|
|||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
|
||||||
|
|
||||||
@Module(subcomponents = DialogInputQuantityV2Component.class)
|
@Module(subcomponents = DialogInputQuantityV2Component.class)
|
||||||
public class DialogInputQuantityV2Module {
|
public class DialogInputQuantityV2Module {
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
DialogInputQuantityV2ViewModel providesDialogInputQuantityV2ViewModel(BarcodeRESTConsumer barcodeRESTConsumer) {
|
DialogInputQuantityV2ViewModel providesDialogInputQuantityV2ViewModel(BarcodeRESTConsumer barcodeRESTConsumer, MagazzinoRESTConsumer magazzinoRESTConsumer) {
|
||||||
return new DialogInputQuantityV2ViewModel(barcodeRESTConsumer);
|
return new DialogInputQuantityV2ViewModel(barcodeRESTConsumer, magazzinoRESTConsumer);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -261,6 +261,8 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
|||||||
this.mAbort = false;
|
this.mAbort = false;
|
||||||
dismiss();
|
dismiss();
|
||||||
this.mOnComplete.run(this.mViewModel.getResult(), false);
|
this.mOnComplete.run(this.mViewModel.getResult(), false);
|
||||||
|
}else {
|
||||||
|
this.onLoadingEnded();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -269,19 +271,14 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
|||||||
this.mViewModel.validate(validated -> {
|
this.mViewModel.validate(validated -> {
|
||||||
if (validated) {
|
if (validated) {
|
||||||
this.mAbort = false;
|
this.mAbort = false;
|
||||||
dismiss();
|
dismiss();this.onLoadingEnded();
|
||||||
this.mOnComplete.run(this.mViewModel.getResult(), true);
|
this.mOnComplete.run(this.mViewModel.getResult(), true);
|
||||||
|
}else {
|
||||||
|
this.onLoadingEnded();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
|
||||||
// public void onDismiss(@NonNull DialogInterface dialog) {
|
|
||||||
// BarcodeManager.removeCallback(mBarcodeScannerIstanceID);
|
|
||||||
// if (mAbort) this.mOnAbort.run();
|
|
||||||
// super.onDismiss(dialog);
|
|
||||||
// }
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onStart() {
|
public void onStart() {
|
||||||
super.onStart();
|
super.onStart();
|
||||||
|
|||||||
@ -3,22 +3,29 @@ package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
|
|||||||
import androidx.databinding.ObservableField;
|
import androidx.databinding.ObservableField;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.util.concurrent.FutureTask;
|
||||||
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.di.BindableString;
|
import it.integry.integrywmsnative.core.di.BindableString;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgsWithReturn;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgsWithReturn;
|
||||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbPartitaMag;
|
||||||
import it.integry.integrywmsnative.core.model.secondary.StatoPartitaMag;
|
import it.integry.integrywmsnative.core.model.secondary.StatoPartitaMag;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||||
import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
|
import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
|
||||||
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.view.dialogs.exception.InactiveBatchLotException;
|
import it.integry.integrywmsnative.view.dialogs.exception.InactiveBatchLotException;
|
||||||
import it.integry.integrywmsnative.view.dialogs.exception.InvalidBatchLotException;
|
import it.integry.integrywmsnative.view.dialogs.exception.InvalidBatchLotException;
|
||||||
@ -89,12 +96,15 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
private Listener mListener;
|
private Listener mListener;
|
||||||
|
|
||||||
private final BarcodeRESTConsumer mBarcodeRESTConsumer;
|
private final BarcodeRESTConsumer mBarcodeRESTConsumer;
|
||||||
|
private final MagazzinoRESTConsumer mMagazzinoRESTConsumer;
|
||||||
|
|
||||||
private StatoPartitaMag statoArt;
|
private StatoPartitaMag statoArt;
|
||||||
|
private MtbPartitaMag mtbPartitaMag;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public DialogInputQuantityV2ViewModel(BarcodeRESTConsumer barcodeRESTConsumer) {
|
public DialogInputQuantityV2ViewModel(BarcodeRESTConsumer barcodeRESTConsumer, MagazzinoRESTConsumer magazzinoRESTConsumer) {
|
||||||
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
|
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
|
||||||
|
this.mMagazzinoRESTConsumer = magazzinoRESTConsumer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init(int onNumCnfInputChanged, int onQtaTotInputChanged) {
|
public void init(int onNumCnfInputChanged, int onQtaTotInputChanged) {
|
||||||
@ -475,6 +485,8 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void validate(RunnableArgs<Boolean> onValidated) {
|
public void validate(RunnableArgs<Boolean> onValidated) {
|
||||||
|
this.sendOnLoadingStarted();
|
||||||
|
new Thread(() -> {
|
||||||
if (this.internalQtaCnf == null || UtilityBigDecimal.equalsTo(this.internalQtaCnf, BigDecimal.ZERO)) {
|
if (this.internalQtaCnf == null || UtilityBigDecimal.equalsTo(this.internalQtaCnf, BigDecimal.ZERO)) {
|
||||||
|
|
||||||
this.mListener.onError(new InvalidQtaCnfQuantityException());
|
this.mListener.onError(new InvalidQtaCnfQuantityException());
|
||||||
@ -567,23 +579,81 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
if (!UtilityString.isNullOrEmpty(this.internalPartitaMag))
|
if (!UtilityString.isNullOrEmpty(this.internalPartitaMag))
|
||||||
this.internalPartitaMag = this.internalPartitaMag.toUpperCase();
|
this.internalPartitaMag = this.internalPartitaMag.toUpperCase();
|
||||||
|
|
||||||
//Gli ultimi due controlli sono in coda a causa della callBack di onWarning, non eseguirebbe i controlli messi dopo
|
if (SettingsManager.iDB().isFlagWarningNewPartitaMag()) {
|
||||||
|
asyncMagazzinoRESTConsumer(internalPartitaMag, this.getMtbAart().getCodMart());
|
||||||
|
|
||||||
|
if (mtbPartitaMag == null) {
|
||||||
|
boolean result = runAsyncWarningDialog(UtilityResources.getString(R.string.batch_lot_inexistent_error_message));
|
||||||
|
if (!result) {
|
||||||
|
onValidated.run(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (this.warnOnQuantityOverflow && UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaOrd) &&
|
if (this.warnOnQuantityOverflow && UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaOrd) &&
|
||||||
this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
||||||
|
|
||||||
this.mListener.onWarning("Hai inserito una quantità superiore rispetto a quella presente nell'ordine. <br>Continuare?", onValidated);
|
boolean result = runAsyncWarningDialog(UtilityResources.getString(R.string.confirm_ordered_quantity_overflow_error_message));
|
||||||
|
if (!result) {
|
||||||
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (this.warnOnQuantityOverflow && UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfOrd) &&
|
if (this.warnOnQuantityOverflow && UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfOrd) &&
|
||||||
!this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
!this.mtbAart.get().isFlagQtaCnfFissaBoolean()) {
|
||||||
|
|
||||||
this.mListener.onWarning("Hai inserito una quantità superiore rispetto a quella presente nell'ordine. <br>Continuare?", onValidated);
|
boolean result = runAsyncWarningDialog(UtilityResources.getString(R.string.confirm_ordered_num_cnf_overflow_error_message));
|
||||||
|
if (!result) {
|
||||||
|
onValidated.run(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.sendOnLoadingEnded();
|
||||||
onValidated.run(true);
|
onValidated.run(true);
|
||||||
|
}).start();
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean runAsyncWarningDialog(String text) {
|
||||||
|
try {
|
||||||
|
final FutureTask<Object> ft = new FutureTask<>(() -> {
|
||||||
|
}, new Object());
|
||||||
|
AtomicBoolean returnResult = new AtomicBoolean();
|
||||||
|
mListener.onWarning(text, result -> {
|
||||||
|
returnResult.set(result);
|
||||||
|
ft.run();
|
||||||
|
});
|
||||||
|
|
||||||
|
ft.get();
|
||||||
|
return returnResult.get();
|
||||||
|
} catch (Exception e) {
|
||||||
|
this.sendError(e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void asyncMagazzinoRESTConsumer(String partitaMag, String codMart) {
|
||||||
|
try {
|
||||||
|
final FutureTask<Object> ft = new FutureTask<>(() -> {
|
||||||
|
}, new Object());
|
||||||
|
mMagazzinoRESTConsumer.retrievePartitaMag(
|
||||||
|
partitaMag,
|
||||||
|
codMart,
|
||||||
|
returnPartitaMag -> {
|
||||||
|
mtbPartitaMag = returnPartitaMag;
|
||||||
|
ft.run();
|
||||||
|
},
|
||||||
|
e -> {
|
||||||
|
this.sendError(e);
|
||||||
|
ft.run();
|
||||||
|
});
|
||||||
|
|
||||||
|
ft.get();
|
||||||
|
} catch (Exception e) {
|
||||||
|
this.sendError(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public DialogInputQuantityV2ResultDTO getResult() {
|
public DialogInputQuantityV2ResultDTO getResult() {
|
||||||
@ -619,14 +689,27 @@ public class DialogInputQuantityV2ViewModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sendError(Exception ex) {
|
||||||
|
if (this.mListener != null) mListener.onError(ex);
|
||||||
|
}
|
||||||
|
|
||||||
public MtbAart getMtbAart() {
|
public MtbAart getMtbAart() {
|
||||||
return this.mtbAart.get();
|
return this.mtbAart.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface Listener {
|
private void sendOnLoadingStarted() {
|
||||||
|
if (this.mListener != null) mListener.onLoadingStarted();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sendOnLoadingEnded() {
|
||||||
|
if (this.mListener != null) mListener.onLoadingEnded();
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface Listener extends ILoadingListener {
|
||||||
void onDataChanged();
|
void onDataChanged();
|
||||||
|
|
||||||
void onError(Exception ex);
|
void onError(Exception ex);
|
||||||
|
|
||||||
void onWarning(String text, RunnableArgs<Boolean> result);
|
void onWarning(String text, RunnableArgs<Boolean> result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,11 +24,28 @@
|
|||||||
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
|
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="16dp"
|
android:layout_marginBottom="8dp"
|
||||||
android:gravity="center_horizontal"
|
android:gravity="center_horizontal"
|
||||||
android:text="Situazione articolo" />
|
android:text="Situazione articolo" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:id="@+id/loading_view"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ProgressBar
|
||||||
|
android:id="@+id/progressBar"
|
||||||
|
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:indeterminate="true"
|
||||||
|
tools:visibility="gone"/>
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
<androidx.core.widget.NestedScrollView
|
<androidx.core.widget.NestedScrollView
|
||||||
|
android:id="@+id/list_item"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
@ -37,21 +54,40 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/situazione_articolo"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:nestedScrollingEnabled="false"
|
||||||
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||||
|
tools:itemCount="1"
|
||||||
|
android:paddingBottom="16dp"
|
||||||
|
tools:listitem="@layout/dialog_info_giacenza_situazione_articolo"
|
||||||
|
tools:visibility="gone" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/available_label"
|
||||||
|
style="@style/TextAppearance.Material3.TitleMedium"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:background="@drawable/badge_round_corner"
|
||||||
|
android:backgroundTint="@color/gray_200"
|
||||||
|
android:paddingHorizontal="12dp"
|
||||||
|
android:text="Sulla linea"
|
||||||
|
android:textAllCaps="true" />
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/available_list"
|
android:id="@+id/available_list"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:nestedScrollingEnabled="false"
|
android:nestedScrollingEnabled="false"
|
||||||
tools:listitem="@layout/dialog_info_situazione_articolo_available_list_item"
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||||
tools:itemCount="3"
|
tools:itemCount="5"
|
||||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
|
tools:listitem="@layout/dialog_info_giacenza_list_item" />
|
||||||
|
|
||||||
|
|
||||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</androidx.core.widget.NestedScrollView>
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -81,7 +81,7 @@
|
|||||||
android:layout_width="12dp"
|
android:layout_width="12dp"
|
||||||
android:layout_height="12dp"
|
android:layout_height="12dp"
|
||||||
android:src="@drawable/ic_location_24"
|
android:src="@drawable/ic_location_24"
|
||||||
android:tint="@android:color/black"
|
android:tint="@android:color/white"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
@ -89,6 +89,7 @@
|
|||||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:textColor="@android:color/white"
|
||||||
android:layout_marginStart="4dp"
|
android:layout_marginStart="4dp"
|
||||||
android:text="@{item.posizione}"
|
android:text="@{item.posizione}"
|
||||||
app:layout_constraintStart_toEndOf="@id/position_label_icon"
|
app:layout_constraintStart_toEndOf="@id/position_label_icon"
|
||||||
@ -106,7 +107,8 @@
|
|||||||
android:backgroundTint="@color/red_300"
|
android:backgroundTint="@color/red_300"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:visibility="@{item.codJcom != null ? View.VISIBLE : View.GONE}">
|
android:visibility="@{item.codJcom != null ? View.VISIBLE : View.GONE}"
|
||||||
|
tools:visibility="invisible">
|
||||||
|
|
||||||
<androidx.appcompat.widget.LinearLayoutCompat
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|||||||
@ -0,0 +1,244 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<layout 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">
|
||||||
|
|
||||||
|
<data>
|
||||||
|
|
||||||
|
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
|
||||||
|
<import type="it.integry.integrywmsnative.core.utility.UtilityDate" />
|
||||||
|
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
|
||||||
|
<import type="androidx.core.content.ContextCompat" />
|
||||||
|
<import type="it.integry.integrywmsnative.R" />
|
||||||
|
<import type="it.integry.integrywmsnative.core.utility.UntMisUtils" />
|
||||||
|
<import type="java.math.BigDecimal" />
|
||||||
|
|
||||||
|
<import type="android.view.View" />
|
||||||
|
|
||||||
|
<variable
|
||||||
|
name="item"
|
||||||
|
type="it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dto.StatoArtInventarioDTO" />
|
||||||
|
|
||||||
|
</data>
|
||||||
|
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:paddingVertical="8dp">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:weightSum="1">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:id="@+id/incoming_box"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_marginEnd="2dp"
|
||||||
|
android:layout_weight="0.5"
|
||||||
|
android:background="@drawable/badge_round_corner"
|
||||||
|
android:backgroundTint="@color/gray_200"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingHorizontal="8dp"
|
||||||
|
android:paddingVertical="4dp"
|
||||||
|
android:visibility="@{item.colliArrivoIsLessThenZero() ? View.GONE : View.VISIBLE}">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/TextAppearance.Material3.LabelSmall"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:text="IN ARRIVO"
|
||||||
|
android:textColor="@color/gray_600" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@{UtilityNumber.decimalToString(item.pedArrivo, 0)}"
|
||||||
|
android:textColor="@color/gray_600"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:text="PED"
|
||||||
|
android:textColor="@color/gray_600"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:text="("
|
||||||
|
android:textColor="@color/gray_600"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="0dp"
|
||||||
|
android:text="@{UtilityNumber.decimalToString(item.colliArrivo, 0)}"
|
||||||
|
android:textColor="@color/gray_600"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:layout_marginStart="2dp"
|
||||||
|
android:text="@string/unt_mis_col"
|
||||||
|
android:textColor="@color/gray_600"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:layout_marginStart="0dp"
|
||||||
|
android:text=")"
|
||||||
|
android:textColor="@color/gray_600"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:id="@+id/already_box"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_marginStart="2dp"
|
||||||
|
android:layout_weight="0.5"
|
||||||
|
android:background="@drawable/badge_round_corner"
|
||||||
|
android:backgroundTint="@color/gray_200"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingHorizontal="8dp"
|
||||||
|
android:paddingVertical="4dp"
|
||||||
|
android:visibility="@{item.colliMagIsLessThenZero() ? View.GONE : View.VISIBLE}">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/TextAppearance.Material3.LabelSmall"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:text="GIÀ POSIZIONATA"
|
||||||
|
android:textColor="@color/gray_600" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@{String.valueOf(item.pedMag)}"
|
||||||
|
android:textColor="@color/gray_600"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:text="PED"
|
||||||
|
android:textColor="@color/gray_600"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:text="("
|
||||||
|
android:textColor="@color/gray_600"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="0dp"
|
||||||
|
android:text="@{UtilityNumber.decimalToString(item.colliMag, 0)}"
|
||||||
|
android:textColor="@color/gray_600"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:layout_marginStart="2dp"
|
||||||
|
android:text="@string/unt_mis_col"
|
||||||
|
android:textColor="@color/gray_600"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:layout_marginStart="0dp"
|
||||||
|
android:text=")"
|
||||||
|
android:textColor="@color/gray_600"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</layout>
|
||||||
@ -192,7 +192,7 @@
|
|||||||
android:backgroundTint="@color/colorPrimary"
|
android:backgroundTint="@color/colorPrimary"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:onClick="@{() -> view.onInfoClick(item.getMvwSitArtUdcDetInventarioDTO())}"
|
android:onClick="@{() -> view.onInfoClick(item)}"
|
||||||
android:scaleType="fitCenter" />
|
android:scaleType="fitCenter" />
|
||||||
|
|
||||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|||||||
@ -194,10 +194,13 @@
|
|||||||
<string name="invalid_quantity_x_package_error_message"><![CDATA[La <b>quantità per confezioni</b> inserita non è valida]]></string>
|
<string name="invalid_quantity_x_package_error_message"><![CDATA[La <b>quantità per confezioni</b> inserita non è valida]]></string>
|
||||||
<string name="available_num_cnf_overflow_error_message"><![CDATA[Il <b>numero di confezioni</b> inserito supera la quantità massima disponibile]]></string>
|
<string name="available_num_cnf_overflow_error_message"><![CDATA[Il <b>numero di confezioni</b> inserito supera la quantità massima disponibile]]></string>
|
||||||
<string name="ordered_quantity_overflow_error_message"><![CDATA[La <b>quantità</b> inserita supera la quantità ordinata]]></string>
|
<string name="ordered_quantity_overflow_error_message"><![CDATA[La <b>quantità</b> inserita supera la quantità ordinata]]></string>
|
||||||
|
<string name="confirm_ordered_quantity_overflow_error_message"><![CDATA[La <b>quantità</b> inserita supera la quantità ordinata. Continuare?]]></string>
|
||||||
<string name="ordered_num_cnf_overflow_error_message"><![CDATA[Il <b>numero di confezioni</b> inserito supera la quantità ordinata]]></string>
|
<string name="ordered_num_cnf_overflow_error_message"><![CDATA[Il <b>numero di confezioni</b> inserito supera la quantità ordinata]]></string>
|
||||||
|
<string name="confirm_ordered_num_cnf_overflow_error_message"><![CDATA[Il <b>numero di confezioni</b> inserito supera la quantità ordinata. Continuare?]]></string>
|
||||||
<string name="invalid_production_line_error_message"><![CDATA[<b>Linea di produzione</b> non valida]]></string>
|
<string name="invalid_production_line_error_message"><![CDATA[<b>Linea di produzione</b> non valida]]></string>
|
||||||
<string name="expire_date_error_message"><![CDATA[La <b>data di scadenza</b> inserita non è valida]]></string>
|
<string name="expire_date_error_message"><![CDATA[La <b>data di scadenza</b> inserita non è valida]]></string>
|
||||||
<string name="batch_lot_error_message"><![CDATA[Il <b>lotto</b> inserito non è valido]]></string>
|
<string name="batch_lot_error_message"><![CDATA[Il <b>lotto</b> inserito non è valido]]></string>
|
||||||
|
<string name="batch_lot_inexistent_error_message">È stato inserito un nuovo lotto per questo articolo. Continuare?</string>
|
||||||
<string name="empty_notes_input_message"><![CDATA[Il <b>campo note</b> deve essere compilato per il modulo corrente.]]></string>
|
<string name="empty_notes_input_message"><![CDATA[Il <b>campo note</b> deve essere compilato per il modulo corrente.]]></string>
|
||||||
<string name="settings_category">Impostazioni</string>
|
<string name="settings_category">Impostazioni</string>
|
||||||
<string name="check_box_preference_title">Check box</string>
|
<string name="check_box_preference_title">Check box</string>
|
||||||
|
|||||||
@ -194,10 +194,13 @@
|
|||||||
<string name="available_quantity_overflow_error_message"><![CDATA[The inserted <b>amount</b> exceeds the maximum amount available, please check it]]></string>
|
<string name="available_quantity_overflow_error_message"><![CDATA[The inserted <b>amount</b> exceeds the maximum amount available, please check it]]></string>
|
||||||
<string name="available_num_cnf_overflow_error_message"><![CDATA[The inserted <b>package\'s amount</b> exceeds the maximum amount available, please check it]]></string>
|
<string name="available_num_cnf_overflow_error_message"><![CDATA[The inserted <b>package\'s amount</b> exceeds the maximum amount available, please check it]]></string>
|
||||||
<string name="ordered_quantity_overflow_error_message"><![CDATA[The inserted <b>amount</b> exceeds the total ordered amount, please check it]]></string>
|
<string name="ordered_quantity_overflow_error_message"><![CDATA[The inserted <b>amount</b> exceeds the total ordered amount, please check it]]></string>
|
||||||
|
<string name="confirm_ordered_quantity_overflow_error_message"><![CDATA[The inserted <b>amount</b> exceeds the total ordered amount. To continue?]]></string>
|
||||||
|
<string name="confirm_ordered_num_cnf_overflow_error_message"><![CDATA[The inserted <b>package\'s amount</b> exceeds the total ordered amount. To continue?]]></string>
|
||||||
<string name="ordered_num_cnf_overflow_error_message"><![CDATA[The inserted <b>package\'s amount</b> exceeds the total ordered amount, please check it]]></string>
|
<string name="ordered_num_cnf_overflow_error_message"><![CDATA[The inserted <b>package\'s amount</b> exceeds the total ordered amount, please check it]]></string>
|
||||||
<string name="invalid_production_line_error_message"><![CDATA[Invalid <b>production line</b>]]></string>
|
<string name="invalid_production_line_error_message"><![CDATA[Invalid <b>production line</b>]]></string>
|
||||||
<string name="expire_date_error_message"><![CDATA[The inserted <b>expire date</b> is not valid, please check it.]]></string>
|
<string name="expire_date_error_message"><![CDATA[The inserted <b>expire date</b> is not valid, please check it.]]></string>
|
||||||
<string name="batch_lot_error_message"><![CDATA[The inserted <b>batch lot</b> is not valid, please check it.]]></string>
|
<string name="batch_lot_error_message"><![CDATA[The inserted <b>batch lot</b> is not valid, please check it.]]></string>
|
||||||
|
<string name="batch_lot_inexistent_error_message">A new batch lot has been added for this item. To continue?</string>
|
||||||
<string name="empty_notes_input_message"><![CDATA[The <b>notes field</b> requires to be filled in for the current form.]]></string>
|
<string name="empty_notes_input_message"><![CDATA[The <b>notes field</b> requires to be filled in for the current form.]]></string>
|
||||||
<string name="settings_category">Settings</string>
|
<string name="settings_category">Settings</string>
|
||||||
<string name="check_box_preference_title">Check box</string>
|
<string name="check_box_preference_title">Check box</string>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user