Finish Popup_InfoArticolo
This commit is contained in:
commit
4f2dfb82e6
@ -80,6 +80,8 @@ import it.integry.integrywmsnative.gest.spedizione.SpedizioneComponent;
|
|||||||
import it.integry.integrywmsnative.gest.spedizione.SpedizioneModule;
|
import it.integry.integrywmsnative.gest.spedizione.SpedizioneModule;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.dialogs.print_sscc_list.DialogPrintOrderSSCCListComponent;
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.print_sscc_list.DialogPrintOrderSSCCListComponent;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.dialogs.print_sscc_list.DialogPrintOrderSSCCListModule;
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.print_sscc_list.DialogPrintOrderSSCCListModule;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo.DialogInfoSituazioneArticoloComponent;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo.DialogInfoSituazioneArticoloModule;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod.DialogRowInfoProdFabbisognoLineeProdComponent;
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod.DialogRowInfoProdFabbisognoLineeProdComponent;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod.DialogRowInfoProdFabbisognoLineeProdModule;
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod.DialogRowInfoProdFabbisognoLineeProdModule;
|
||||||
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteComponent;
|
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteComponent;
|
||||||
@ -172,7 +174,7 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr
|
|||||||
BottomSheetMtbColrEditModalModule.class,
|
BottomSheetMtbColrEditModalModule.class,
|
||||||
DialogChooseArtsFromMtbAartListModule.class,
|
DialogChooseArtsFromMtbAartListModule.class,
|
||||||
MainSettingsModule.class,
|
MainSettingsModule.class,
|
||||||
|
DialogInfoSituazioneArticoloModule.class
|
||||||
})
|
})
|
||||||
public interface MainApplicationComponent {
|
public interface MainApplicationComponent {
|
||||||
|
|
||||||
@ -290,6 +292,8 @@ public interface MainApplicationComponent {
|
|||||||
|
|
||||||
MainSettingsComponent.Factory mainSettingsFragmentComponent();
|
MainSettingsComponent.Factory mainSettingsFragmentComponent();
|
||||||
|
|
||||||
|
DialogInfoSituazioneArticoloComponent.Factory dialogInfoSituazioneArticoloComponent();
|
||||||
|
|
||||||
void inject(MainApplication mainApplication);
|
void inject(MainApplication mainApplication);
|
||||||
|
|
||||||
void inject(AppContext mainApplication);
|
void inject(AppContext mainApplication);
|
||||||
|
|||||||
@ -15,6 +15,7 @@ import it.integry.integrywmsnative.gest.prod_rientro_merce.ProdRientroMerceFragm
|
|||||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment;
|
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdiniAcquistoGrigliaFragment;
|
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdiniAcquistoGrigliaFragment;
|
||||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment;
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo.DialogInfoSituazioneArticoloView;
|
||||||
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteFragment;
|
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteFragment;
|
||||||
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreFragment;
|
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreFragment;
|
||||||
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceFragment;
|
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceFragment;
|
||||||
@ -58,7 +59,7 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
|||||||
.setTitleText(R.string.vendita_title_fragment)
|
.setTitleText(R.string.vendita_title_fragment)
|
||||||
.setTitleIcon(R.drawable.ic_dashboard_spedizione)
|
.setTitleIcon(R.drawable.ic_dashboard_spedizione)
|
||||||
.setDrawerIcon(R.drawable.ic_upload)
|
.setDrawerIcon(R.drawable.ic_upload)
|
||||||
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1, null)))
|
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1, DialogInfoSituazioneArticoloView.class)))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(R.id.nav_rettifica_spedizione)
|
.setID(R.id.nav_rettifica_spedizione)
|
||||||
@ -107,9 +108,9 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
|||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(R.id.nav_free_lav_picking)
|
.setID(R.id.nav_free_lav_picking)
|
||||||
.setCodMenu("MG051")
|
.setCodMenu("MG051")
|
||||||
.setTitleText(it.integry.integrywmsnative.R.string.free_lav_picking)
|
.setTitleText(R.string.free_lav_picking)
|
||||||
.setTitleIcon(R.drawable.ic_dashboard_prod_picking_libero)
|
.setTitleIcon(R.drawable.ic_dashboard_prod_picking_libero)
|
||||||
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_barcode_scanner)
|
.setDrawerIcon(R.drawable.ic_black_barcode_scanner)
|
||||||
.setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.LAVORAZIONE)))
|
.setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.LAVORAZIONE)))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
@ -117,7 +118,7 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
|||||||
.setCodMenu("MG052")
|
.setCodMenu("MG052")
|
||||||
.setTitleText(R.string.prod_fabbisogno_linee_prod_title)
|
.setTitleText(R.string.prod_fabbisogno_linee_prod_title)
|
||||||
.setTitleIcon(R.drawable.ic_dashboard_prod_versamento_merce)
|
.setTitleIcon(R.drawable.ic_dashboard_prod_versamento_merce)
|
||||||
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_load_shelf)
|
.setDrawerIcon(R.drawable.ic_black_load_shelf)
|
||||||
.setFragmentFactory(ProdFabbisognoLineeProdFragment::newInstance))
|
.setFragmentFactory(ProdFabbisognoLineeProdFragment::newInstance))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
@ -137,19 +138,19 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
|||||||
.setFragmentFactory(ProdRecuperoMaterialeFragment::newInstance))
|
.setFragmentFactory(ProdRecuperoMaterialeFragment::newInstance))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(it.integry.integrywmsnative.R.id.nav_prod_rientro_merce)
|
.setID(R.id.nav_prod_rientro_merce)
|
||||||
.setCodMenu("MG059")
|
.setCodMenu("MG059")
|
||||||
.setTitleText(it.integry.integrywmsnative.R.string.rientro_merce_fragment_title)
|
.setTitleText(R.string.rientro_merce_fragment_title)
|
||||||
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_accettazione_produzione)
|
.setTitleIcon(R.drawable.ic_dashboard_prod_accettazione_produzione)
|
||||||
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external)
|
.setDrawerIcon(R.drawable.ic_black_external)
|
||||||
.setFragmentFactory(ProdRientroMerceFragment::newInstance))
|
.setFragmentFactory(ProdRientroMerceFragment::newInstance))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(it.integry.integrywmsnative.R.id.nav_prod_linee)
|
.setID(R.id.nav_prod_linee)
|
||||||
.setCodMenu("MG061")
|
.setCodMenu("MG061")
|
||||||
.setTitleText(it.integry.integrywmsnative.R.string.nav_prod_linee_title)
|
.setTitleText(R.string.nav_prod_linee_title)
|
||||||
.setTitleIcon(R.drawable.ic_production_line)
|
.setTitleIcon(R.drawable.ic_production_line)
|
||||||
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_production_line)
|
.setDrawerIcon(R.drawable.ic_production_line)
|
||||||
.setFragmentFactory(ProdLineeProduzioneFragment::newInstance))
|
.setFragmentFactory(ProdLineeProduzioneFragment::newInstance))
|
||||||
).addGroup(
|
).addGroup(
|
||||||
new MenuGroup()
|
new MenuGroup()
|
||||||
|
|||||||
@ -860,4 +860,9 @@ public class MtbAart extends EntityBase {
|
|||||||
this.numCnfImpegnata = numCnfImpegnata;
|
this.numCnfImpegnata = numCnfImpegnata;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public MtbUntMis getFirstUntMis() {
|
||||||
|
return getMtbUntMis() != null && !getMtbUntMis().isEmpty() ? getMtbUntMis().get(0) : null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,6 +38,7 @@ public class MtbUntMis extends EntityBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public BigDecimal getCifreDec() {
|
public BigDecimal getCifreDec() {
|
||||||
|
if(isFlagDig()) return BigDecimal.ZERO;
|
||||||
return cifreDec;
|
return cifreDec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
package it.integry.integrywmsnative.core.model;
|
package it.integry.integrywmsnative.core.model;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by ValerioC on 06/03/2018.
|
* Created by ValerioC on 06/03/2018.
|
||||||
@ -10,7 +12,7 @@ import java.util.Date;
|
|||||||
public class MvwSitArtUdcDetInventario {
|
public class MvwSitArtUdcDetInventario {
|
||||||
|
|
||||||
private String gestione;
|
private String gestione;
|
||||||
private Date dataCollo;
|
private LocalDate dataCollo;
|
||||||
private String serCollo;
|
private String serCollo;
|
||||||
private Integer numCollo;
|
private Integer numCollo;
|
||||||
private Integer segno;
|
private Integer segno;
|
||||||
@ -25,6 +27,7 @@ public class MvwSitArtUdcDetInventario {
|
|||||||
private String diacod;
|
private String diacod;
|
||||||
private String descrizioneEstesa;
|
private String descrizioneEstesa;
|
||||||
private String partitaMag;
|
private String partitaMag;
|
||||||
|
private LocalDate dataScad;
|
||||||
private String codJcom;
|
private String codJcom;
|
||||||
private String commessa;
|
private String commessa;
|
||||||
private String untMis;
|
private String untMis;
|
||||||
@ -46,11 +49,11 @@ public class MvwSitArtUdcDetInventario {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getDataCollo() {
|
public LocalDate getDataCollo() {
|
||||||
return dataCollo;
|
return dataCollo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MvwSitArtUdcDetInventario setDataCollo(Date dataCollo) {
|
public MvwSitArtUdcDetInventario setDataCollo(LocalDate dataCollo) {
|
||||||
this.dataCollo = dataCollo;
|
this.dataCollo = dataCollo;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@ -181,6 +184,15 @@ public class MvwSitArtUdcDetInventario {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LocalDate getDataScad() {
|
||||||
|
return dataScad;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MvwSitArtUdcDetInventario setDataScad(LocalDate dataScad) {
|
||||||
|
this.dataScad = dataScad;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public String getCodJcom() {
|
public String getCodJcom() {
|
||||||
return codJcom;
|
return codJcom;
|
||||||
}
|
}
|
||||||
@ -276,7 +288,7 @@ public class MvwSitArtUdcDetInventario {
|
|||||||
return new MtbColr()
|
return new MtbColr()
|
||||||
.setCodJcom(getCodJcom())
|
.setCodJcom(getCodJcom())
|
||||||
.setCodMart(getCodMart())
|
.setCodMart(getCodMart())
|
||||||
.setDataCollo(getDataCollo())
|
.setDataCollo(UtilityDate.toDate(getDataCollo()))
|
||||||
.setNumCollo(getNumCollo())
|
.setNumCollo(getNumCollo())
|
||||||
.setSerCollo(getSerCollo())
|
.setSerCollo(getSerCollo())
|
||||||
.setGestione(getGestione())
|
.setGestione(getGestione())
|
||||||
|
|||||||
@ -13,6 +13,8 @@ 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.rest.RESTBuilder;
|
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.giacenza.InstantItemSituationResponseDto;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
import retrofit2.Callback;
|
import retrofit2.Callback;
|
||||||
import retrofit2.Response;
|
import retrofit2.Response;
|
||||||
@ -67,5 +69,66 @@ public class GiacenzaRESTConsumer extends _BaseRESTConsumer {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void getGiacenzeByArticolo(String codMart, String partitaMag, RunnableArgs<List<MvwSitArtUdcDetInventario>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
GiacenzaRESTConsumerService giacenzaRESTConsumerService = RESTBuilder.getService(GiacenzaRESTConsumerService.class);
|
||||||
|
var serviceRESTResponseCall =
|
||||||
|
UtilityString.isNullOrEmpty(partitaMag) ?
|
||||||
|
giacenzaRESTConsumerService.retrieveAvailableItemsByArt(codMart) :
|
||||||
|
giacenzaRESTConsumerService.retrieveAvailableItemsByArt(codMart, partitaMag);
|
||||||
|
serviceRESTResponseCall.enqueue(new Callback<>() {
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<ServiceRESTResponse<List<MvwSitArtUdcDetInventario>>> call, Response<ServiceRESTResponse<List<MvwSitArtUdcDetInventario>>> response) {
|
||||||
|
analyzeAnswer(response, "getGiacenzeByArticolo", inventarioList -> {
|
||||||
|
|
||||||
|
List<String> codMarts = Stream.of(inventarioList)
|
||||||
|
.map(x -> x.getCodMart().trim())
|
||||||
|
.distinct()
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
mArticoloRESTConsumer.getByCodMarts(codMarts, mtbAarts -> {
|
||||||
|
for (var row : inventarioList) {
|
||||||
|
|
||||||
|
MtbAart foundMtbAart = null;
|
||||||
|
Optional<MtbAart> mtbAartOpt = Stream.of(mtbAarts)
|
||||||
|
.filter(x -> x.getCodMart().equalsIgnoreCase(row.getCodMart()))
|
||||||
|
.findFirst();
|
||||||
|
|
||||||
|
if (mtbAartOpt.isPresent()) {
|
||||||
|
foundMtbAart = mtbAartOpt.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
row.setMtbAart(foundMtbAart);
|
||||||
|
}
|
||||||
|
|
||||||
|
onComplete.run(inventarioList);
|
||||||
|
}, onFailed);
|
||||||
|
}, onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<ServiceRESTResponse<List<MvwSitArtUdcDetInventario>>> call, Throwable t) {
|
||||||
|
onFailed.run(new Exception(t));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void getInstantItemSituation(String codMdep, String codMart, String partitaMag, String codJcom, RunnableArgs<InstantItemSituationResponseDto> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
GiacenzaRESTConsumerService giacenzaRESTConsumerService = RESTBuilder.getService(GiacenzaRESTConsumerService.class);
|
||||||
|
|
||||||
|
giacenzaRESTConsumerService.retrieveInstantItemSituation(codMdep, codMart, partitaMag, codJcom)
|
||||||
|
.enqueue(new Callback<>() {
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<ServiceRESTResponse<InstantItemSituationResponseDto>> call, Response<ServiceRESTResponse<InstantItemSituationResponseDto>> response) {
|
||||||
|
analyzeAnswer(response, "getInstantItemSituation", onComplete, onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<ServiceRESTResponse<InstantItemSituationResponseDto>> call, Throwable t) {
|
||||||
|
onFailed.run(new Exception(t));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario;
|
import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario;
|
||||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.giacenza.InstantItemSituationResponseDto;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
import retrofit2.http.GET;
|
import retrofit2.http.GET;
|
||||||
import retrofit2.http.Query;
|
import retrofit2.http.Query;
|
||||||
@ -23,4 +24,11 @@ public interface GiacenzaRESTConsumerService {
|
|||||||
@Query("codMart") String codMart,
|
@Query("codMart") String codMart,
|
||||||
@Query("partitaMag") String partitaMag);
|
@Query("partitaMag") String partitaMag);
|
||||||
|
|
||||||
|
@GET("wms/giacenza/instantItemSituation")
|
||||||
|
Call<ServiceRESTResponse<InstantItemSituationResponseDto>> retrieveInstantItemSituation(
|
||||||
|
@Query("codMdep") String codMdep,
|
||||||
|
@Query("codMart") String codMart,
|
||||||
|
@Query("partitaMag") String partitaMag,
|
||||||
|
@Query("codJcom") String codJcom);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,88 @@
|
|||||||
|
package it.integry.integrywmsnative.core.rest.model.giacenza;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
public class InstantItemSituationIncomingItemDto {
|
||||||
|
|
||||||
|
private BigDecimal qtaOrd;
|
||||||
|
private BigDecimal qtaEvasa;
|
||||||
|
private BigDecimal numCnf;
|
||||||
|
private BigDecimal numCnfEvasa;
|
||||||
|
private BigDecimal qtaCnf;
|
||||||
|
private String gestione;
|
||||||
|
private LocalDate dataOrd;
|
||||||
|
private int numOrd;
|
||||||
|
private int rigaOrd;
|
||||||
|
private LocalDate dataCons;
|
||||||
|
private String codMart;
|
||||||
|
private String descrizione;
|
||||||
|
private String partitaMag;
|
||||||
|
private String codJcom;
|
||||||
|
private String codMdep;
|
||||||
|
private String untMis;
|
||||||
|
|
||||||
|
public BigDecimal getQtaOrd() {
|
||||||
|
return qtaOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaEvasa() {
|
||||||
|
return qtaEvasa;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getNumCnf() {
|
||||||
|
return numCnf;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getNumCnfEvasa() {
|
||||||
|
return numCnfEvasa;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaCnf() {
|
||||||
|
return qtaCnf;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGestione() {
|
||||||
|
return gestione;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDate getDataOrd() {
|
||||||
|
return dataOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getNumOrd() {
|
||||||
|
return numOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getRigaOrd() {
|
||||||
|
return rigaOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDate getDataCons() {
|
||||||
|
return dataCons;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodMart() {
|
||||||
|
return codMart;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescrizione() {
|
||||||
|
return descrizione;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPartitaMag() {
|
||||||
|
return partitaMag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodJcom() {
|
||||||
|
return codJcom;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodMdep() {
|
||||||
|
return codMdep;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUntMis() {
|
||||||
|
return untMis;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
package it.integry.integrywmsnative.core.rest.model.giacenza;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario;
|
||||||
|
|
||||||
|
public class InstantItemSituationResponseDto {
|
||||||
|
private List<InstantItemSituationIncomingItemDto> incomingItems;
|
||||||
|
private List<MvwSitArtUdcDetInventario> availableItems;
|
||||||
|
|
||||||
|
|
||||||
|
public List<InstantItemSituationIncomingItemDto> getIncomingItems() {
|
||||||
|
return incomingItems;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<MvwSitArtUdcDetInventario> getAvailableItems() {
|
||||||
|
return availableItems;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -16,6 +16,7 @@ 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.rest.consumers.GiacenzaRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.GiacenzaRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class InventarioService {
|
public class InventarioService {
|
||||||
@ -47,7 +48,7 @@ public class InventarioService {
|
|||||||
MtbColt mtbColt = new MtbColt();
|
MtbColt mtbColt = new MtbColt();
|
||||||
|
|
||||||
mtbColt.setGestione(inventario.getGestione());
|
mtbColt.setGestione(inventario.getGestione());
|
||||||
mtbColt.setDataCollo(inventario.getDataCollo());
|
mtbColt.setDataCollo(UtilityDate.toDate(inventario.getDataCollo()));
|
||||||
mtbColt.setSerCollo(inventario.getSerCollo());
|
mtbColt.setSerCollo(inventario.getSerCollo());
|
||||||
mtbColt.setNumCollo(inventario.getNumCollo());
|
mtbColt.setNumCollo(inventario.getNumCollo());
|
||||||
mtbColt.setSegno(inventario.getSegno());
|
mtbColt.setSegno(inventario.getSegno());
|
||||||
@ -70,7 +71,7 @@ public class InventarioService {
|
|||||||
MtbColr mtbColr = new MtbColr();
|
MtbColr mtbColr = new MtbColr();
|
||||||
|
|
||||||
mtbColr.setGestione(inventario.getGestione());
|
mtbColr.setGestione(inventario.getGestione());
|
||||||
mtbColr.setDataCollo(inventario.getDataCollo());
|
mtbColr.setDataCollo(UtilityDate.toDate(inventario.getDataCollo()));
|
||||||
mtbColr.setSerCollo(inventario.getSerCollo());
|
mtbColr.setSerCollo(inventario.getSerCollo());
|
||||||
mtbColr.setNumCollo(inventario.getNumCollo());
|
mtbColr.setNumCollo(inventario.getNumCollo());
|
||||||
mtbColr.setCodMart(inventario.getCodMart());
|
mtbColr.setCodMart(inventario.getCodMart());
|
||||||
|
|||||||
@ -157,6 +157,18 @@ public class UtilityDate {
|
|||||||
return inputDate != null && inputDate.toLocalDate().isEqual(getNow());
|
return inputDate != null && inputDate.toLocalDate().isEqual(getNow());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isBeforeToday(LocalDate inputDate) {
|
||||||
|
return inputDate != null && inputDate.isBefore(getNow());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isAfterToday(LocalDate inputDate) {
|
||||||
|
return inputDate != null && inputDate.isAfter(getNow());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isToday(LocalDate inputDate) {
|
||||||
|
return inputDate != null && inputDate.isEqual(getNow());
|
||||||
|
}
|
||||||
|
|
||||||
public static LocalDate toLocalDate(Date dateToConvert) {
|
public static LocalDate toLocalDate(Date dateToConvert) {
|
||||||
return dateToConvert.toInstant()
|
return dateToConvert.toInstant()
|
||||||
.atZone(currentZone)
|
.atZone(currentZone)
|
||||||
|
|||||||
@ -35,7 +35,7 @@ public class UtilityNumber {
|
|||||||
decimalFormat.setMaximumFractionDigits(decimal);
|
decimalFormat.setMaximumFractionDigits(decimal);
|
||||||
decimalFormat.setDecimalFormatSymbols(otherSymbols);
|
decimalFormat.setDecimalFormatSymbols(otherSymbols);
|
||||||
decimalFormat.setGroupingUsed(false);
|
decimalFormat.setGroupingUsed(false);
|
||||||
decimalFormat.setMinimumFractionDigits(2);
|
decimalFormat.setMinimumFractionDigits(Math.min(2, decimal));
|
||||||
|
|
||||||
return decimalFormat.format(floatValue);
|
return decimalFormat.format(floatValue);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -180,7 +180,11 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
|
|||||||
|
|
||||||
public void manualSearch() {
|
public void manualSearch() {
|
||||||
BarcodeManager.disable();
|
BarcodeManager.disable();
|
||||||
DialogSimpleInputHelper.makeInputDialog(this, "Ricerca articolo", null, "Cod articolo / Barcode", this.viewModel::loadArticolo, BarcodeManager::enable).show();
|
DialogSimpleInputHelper.makeInputDialog(this,
|
||||||
|
"Ricerca articolo",
|
||||||
|
null,
|
||||||
|
"Cod articolo / Barcode",
|
||||||
|
barcodeProd -> this.viewModel.loadArticolo(barcodeProd, null), BarcodeManager::enable).show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -22,8 +22,11 @@ import it.integry.integrywmsnative.core.data_store.db.repository.MtbColrDataSour
|
|||||||
import it.integry.integrywmsnative.core.data_store.db.repository.MtbColtRepository;
|
import it.integry.integrywmsnative.core.data_store.db.repository.MtbColtRepository;
|
||||||
import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException;
|
import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException;
|
||||||
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
|
||||||
import it.integry.integrywmsnative.core.rest.model.documento.DocumentoArtDTO;
|
import it.integry.integrywmsnative.core.rest.model.documento.DocumentoArtDTO;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
|
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.gest.contab_doc_interni.dto.ArtDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.ArtDTO;
|
||||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.ColloDTO;
|
import it.integry.integrywmsnative.gest.contab_doc_interni.dto.ColloDTO;
|
||||||
@ -90,7 +93,7 @@ public class DocInterniEditFormViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void dispatchRowEdit(SqlMtbColr row, boolean flagTracciabilita, boolean isUntMisDig) {
|
public void dispatchRowEdit(SqlMtbColr row, boolean flagTracciabilita, boolean isUntMisDig) {
|
||||||
this.listener.onEditRowRequest(row, flagTracciabilita && this.isCheckPartitaMag,isUntMisDig);
|
this.listener.onEditRowRequest(row, flagTracciabilita && this.isCheckPartitaMag, isUntMisDig);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Integer getNextIdRiga() {
|
private Integer getNextIdRiga() {
|
||||||
@ -115,18 +118,18 @@ public class DocInterniEditFormViewModel {
|
|||||||
|
|
||||||
public void deleteDocument() {
|
public void deleteDocument() {
|
||||||
this.sendOnLoadingStarted();
|
this.sendOnLoadingStarted();
|
||||||
SqlMtbColt document = this.getDocument();
|
SqlMtbColt document = this.getDocument();
|
||||||
mtbColtRepository.delete(document, () -> {
|
mtbColtRepository.delete(document, () -> {
|
||||||
this.sendOnLoadingEnded();
|
this.sendOnLoadingEnded();
|
||||||
this.listener.onDocDeleted();
|
this.listener.onDocDeleted();
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void holdDocument() {
|
public void holdDocument() {
|
||||||
this.listener.onDocumentHoldRequest();
|
this.listener.onDocumentHoldRequest();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadArticolo(String barcodeProd) {
|
public void loadArticolo(String barcodeProd, Ean128Model ean128Model) {
|
||||||
DocumentoArtDTO matchedArt;
|
DocumentoArtDTO matchedArt;
|
||||||
String usedBarcode = null;
|
String usedBarcode = null;
|
||||||
|
|
||||||
@ -135,7 +138,7 @@ public class DocInterniEditFormViewModel {
|
|||||||
matchedArt = Stream.of(productsList)
|
matchedArt = Stream.of(productsList)
|
||||||
.filter(x -> x.getCodMart().equalsIgnoreCase(barcodeProd) ||
|
.filter(x -> x.getCodMart().equalsIgnoreCase(barcodeProd) ||
|
||||||
leftBarcode.equalsIgnoreCase(x.getCodMart()) ||
|
leftBarcode.equalsIgnoreCase(x.getCodMart()) ||
|
||||||
x.getBarcode().contains(barcodeProd))
|
x.getBarcode().contains(leftBarcode))
|
||||||
.findFirst()
|
.findFirst()
|
||||||
.orElse(null);
|
.orElse(null);
|
||||||
|
|
||||||
@ -143,7 +146,6 @@ public class DocInterniEditFormViewModel {
|
|||||||
usedBarcode = matchedArt.getBarcode().contains(barcodeProd) ? barcodeProd : null;
|
usedBarcode = matchedArt.getBarcode().contains(barcodeProd) ? barcodeProd : null;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (matchedArt == null) {
|
if (matchedArt == null) {
|
||||||
this.sendError(new NoResultFromBarcodeException(barcodeProd));
|
this.sendError(new NoResultFromBarcodeException(barcodeProd));
|
||||||
return;
|
return;
|
||||||
@ -280,8 +282,27 @@ public class DocInterniEditFormViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void processBarcode(BarcodeScanDTO dto) {
|
public void processBarcode(BarcodeScanDTO dto) {
|
||||||
String code = dto.getStringValue();
|
this.processBarcodeDTO(dto);
|
||||||
this.loadArticolo(code);
|
}
|
||||||
|
|
||||||
|
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO) {
|
||||||
|
if (UtilityBarcode.isEanPeso(barcodeScanDTO)) {
|
||||||
|
//Cerco tramite etichetta ean peso
|
||||||
|
this.executeEtichettaEanPeso(barcodeScanDTO);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.loadArticolo(barcodeScanDTO.getStringValue(), null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void executeEtichettaEanPeso(BarcodeScanDTO barcodeScanDTO) {
|
||||||
|
try {
|
||||||
|
Ean13PesoModel ean13PesoModel = Ean13PesoModel.fromBarcode(barcodeScanDTO.getStringValue());
|
||||||
|
this.loadArticolo(ean13PesoModel.getPrecode(), ean13PesoModel.toEan128());
|
||||||
|
} catch (Exception ex) {
|
||||||
|
this.sendError(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveRow(SqlMtbColr row, DialogInputQuantityV2ResultDTO resultDTO) {
|
public void saveRow(SqlMtbColr row, DialogInputQuantityV2ResultDTO resultDTO) {
|
||||||
|
|||||||
@ -865,7 +865,14 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
|
|||||||
+ "<br />" +
|
+ "<br />" +
|
||||||
"<b>" + alreadyRegisteredUL + "</b> " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)),
|
"<b>" + alreadyRegisteredUL + "</b> " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)),
|
||||||
null,
|
null,
|
||||||
() -> SpedizioneActivity.startActivity(getActivity(), sitArts, orders, alreadyRegisteredMtbColts, mCurrentGestioneCol, mCurrentSegnoCol, MtbColr.Causale.DEFAULT, mDialogRowInfo)
|
() -> SpedizioneActivity.startActivity(getActivity(),
|
||||||
|
sitArts,
|
||||||
|
orders,
|
||||||
|
alreadyRegisteredMtbColts,
|
||||||
|
mCurrentGestioneCol,
|
||||||
|
mCurrentSegnoCol,
|
||||||
|
MtbColr.Causale.DEFAULT,
|
||||||
|
mDialogRowInfo)
|
||||||
).show(getActivity().getSupportFragmentManager(), "tag");
|
).show(getActivity().getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,14 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo;
|
||||||
|
|
||||||
|
import dagger.Subcomponent;
|
||||||
|
|
||||||
|
@Subcomponent
|
||||||
|
public interface DialogInfoSituazioneArticoloComponent {
|
||||||
|
|
||||||
|
@Subcomponent.Factory
|
||||||
|
interface Factory {
|
||||||
|
DialogInfoSituazioneArticoloComponent create();
|
||||||
|
}
|
||||||
|
|
||||||
|
void inject(DialogInfoSituazioneArticoloView dialogInfoSituazioneArticoloView);
|
||||||
|
}
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo;
|
||||||
|
|
||||||
|
import dagger.Module;
|
||||||
|
import dagger.Provides;
|
||||||
|
|
||||||
|
@Module(subcomponents = DialogInfoSituazioneArticoloComponent.class)
|
||||||
|
public class DialogInfoSituazioneArticoloModule {
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
DialogInfoSituazioneArticoloViewModel providesDialogInfoSituazioneArticoloViewModel() {
|
||||||
|
return new DialogInfoSituazioneArticoloViewModel();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,154 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
|
import com.annimon.stream.Stream;
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||||
|
import com.ravikoradiya.liveadapter.LiveAdapter;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.BR;
|
||||||
|
import it.integry.integrywmsnative.MainApplication;
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.GiacenzaRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.giacenza.InstantItemSituationIncomingItemDto;
|
||||||
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
|
import it.integry.integrywmsnative.databinding.DialogInfoSituazioneArticoloBinding;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.BaseDialogRowInfoView;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo.ui.DialogInfoSituazioneArticoloAvailableListItem;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.ui.SpedizioneListModel;
|
||||||
|
|
||||||
|
public class DialogInfoSituazioneArticoloView extends BaseDialogRowInfoView {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
DialogInfoSituazioneArticoloViewModel mViewModel;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
GiacenzaRESTConsumer giacenzaRESTConsumer;
|
||||||
|
|
||||||
|
private DialogInfoSituazioneArticoloBinding mBindings;
|
||||||
|
private Context mContext;
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloView(@NotNull SpedizioneListModel spedizioneListModel, @NotNull Runnable onComplete, @NotNull Runnable onAbort) {
|
||||||
|
super(spedizioneListModel, onComplete, onAbort);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||||
|
this.mContext = requireContext();
|
||||||
|
|
||||||
|
mBindings = DialogInfoSituazioneArticoloBinding.inflate(LayoutInflater.from(this.mContext), null, false);
|
||||||
|
mBindings.setLifecycleOwner(this);
|
||||||
|
|
||||||
|
MainApplication.appComponent
|
||||||
|
.dialogInfoSituazioneArticoloComponent()
|
||||||
|
.create()
|
||||||
|
.inject(this);
|
||||||
|
|
||||||
|
var cancelable = true;
|
||||||
|
|
||||||
|
var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
|
||||||
|
.setView(mBindings.getRoot())
|
||||||
|
.setNeutralButton(R.string.action_close, null)
|
||||||
|
.setCancelable(cancelable)
|
||||||
|
.create();
|
||||||
|
|
||||||
|
alertDialog.setCanceledOnTouchOutside(cancelable);
|
||||||
|
alertDialog.setOnShowListener(this);
|
||||||
|
return alertDialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onShow(DialogInterface dialogInterface) {
|
||||||
|
super.onShow(dialogInterface);
|
||||||
|
|
||||||
|
this.onLoadingStarted();
|
||||||
|
|
||||||
|
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||||
|
String codMart = getSpedizioneListModel().getOriginalModel().getSitArtOrdDTO().getCodMart();
|
||||||
|
String partitaMag = getSpedizioneListModel().getOriginalModel().getSitArtOrdDTO().getPartitaMag();
|
||||||
|
String codJcom = getSpedizioneListModel().getOriginalModel().getSitArtOrdDTO().getCodJcom();
|
||||||
|
|
||||||
|
giacenzaRESTConsumer.getInstantItemSituation(
|
||||||
|
codMdep,
|
||||||
|
codMart,
|
||||||
|
partitaMag,
|
||||||
|
codJcom,
|
||||||
|
result -> {
|
||||||
|
this.initIncomingItemsList(result.getIncomingItems());
|
||||||
|
this.initAvailableItemsList(result.getAvailableItems());
|
||||||
|
|
||||||
|
this.onLoadingEnded();
|
||||||
|
}, this::onError);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void initIncomingItemsList(List<InstantItemSituationIncomingItemDto> incomingItems) {
|
||||||
|
mBindings.incomingLabel.setVisibility(incomingItems == null || incomingItems.isEmpty() ? View.GONE : View.VISIBLE);
|
||||||
|
|
||||||
|
if(incomingItems == null || incomingItems.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
new LiveAdapter(incomingItems, BR.item)
|
||||||
|
.map(InstantItemSituationIncomingItemDto.class, R.layout.dialog_info_situazione_articolo_incoming_list_item)
|
||||||
|
.into(this.mBindings.incomingList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void initAvailableItemsList(List<MvwSitArtUdcDetInventario> availableItems) {
|
||||||
|
mBindings.availableLabel.setVisibility(availableItems == null || availableItems.isEmpty() ? View.GONE : View.VISIBLE);
|
||||||
|
|
||||||
|
if(availableItems == null)
|
||||||
|
availableItems = new ArrayList<>();
|
||||||
|
|
||||||
|
availableItems = Stream.of(availableItems)
|
||||||
|
.filter(x -> UtilityDate.isAfterToday(x.getDataScad()))
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
if(availableItems.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
var preferedCodJcom = getSpedizioneListModel().getOriginalModel().getSitArtOrdDTO().getCodJcom();
|
||||||
|
var preferedPartitaMag = getSpedizioneListModel().getOriginalModel().getSitArtOrdDTO().getPartitaMag();
|
||||||
|
|
||||||
|
var itemList = Stream.of(availableItems)
|
||||||
|
.map(mvwSitArtUdcDetInventario -> DialogInfoSituazioneArticoloAvailableListItem.fromMvwSitArtUdcDetInventario(mvwSitArtUdcDetInventario)
|
||||||
|
.setCommessaMatch(mvwSitArtUdcDetInventario.getCodJcom() != null && mvwSitArtUdcDetInventario.getCodJcom().equalsIgnoreCase(preferedCodJcom))
|
||||||
|
.setPartitaMagMatch(mvwSitArtUdcDetInventario.getPartitaMag() != null && mvwSitArtUdcDetInventario.getPartitaMag().equalsIgnoreCase(preferedPartitaMag)))
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
|
||||||
|
var itemListCommessaMatch = Stream.of(itemList)
|
||||||
|
.filter(DialogInfoSituazioneArticoloAvailableListItem::isCommessaMatch)
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
var itemListCommessaNotMatchMatch = Stream.of(itemList)
|
||||||
|
.filter(dialogInfoSituazioneArticoloAvailableListItem -> !dialogInfoSituazioneArticoloAvailableListItem.isCommessaMatch())
|
||||||
|
.sortBy(x -> x.getDataScad())
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
|
||||||
|
itemListCommessaMatch.addAll(itemListCommessaNotMatchMatch);
|
||||||
|
|
||||||
|
new LiveAdapter(itemListCommessaMatch, BR.item)
|
||||||
|
.map(DialogInfoSituazioneArticoloAvailableListItem.class, R.layout.dialog_info_situazione_articolo_available_list_item)
|
||||||
|
.into(this.mBindings.availableList);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo;
|
||||||
|
|
||||||
|
public class DialogInfoSituazioneArticoloViewModel {
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,333 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo.ui;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
|
import it.integry.integrywmsnative.core.model.MvwSitArtUdcDetInventario;
|
||||||
|
|
||||||
|
public class DialogInfoSituazioneArticoloAvailableListItem {
|
||||||
|
private String gestione;
|
||||||
|
private LocalDate dataCollo;
|
||||||
|
private String serCollo;
|
||||||
|
private Integer numCollo;
|
||||||
|
private Integer segno;
|
||||||
|
private String codMdep;
|
||||||
|
private String posizione;
|
||||||
|
private Integer priorita;
|
||||||
|
private String codGruppo;
|
||||||
|
private String gruppo;
|
||||||
|
private String codSgruppo;
|
||||||
|
private String sottogruppo;
|
||||||
|
private String codMart;
|
||||||
|
private String diacod;
|
||||||
|
private String descrizioneEstesa;
|
||||||
|
private String partitaMag;
|
||||||
|
private String codJcom;
|
||||||
|
private String commessa;
|
||||||
|
private String untMis;
|
||||||
|
private BigDecimal qtaCol;
|
||||||
|
private BigDecimal numCnf;
|
||||||
|
private BigDecimal qtaCnf;
|
||||||
|
private BigDecimal pesoNettoKg;
|
||||||
|
private BigDecimal pesoLordoKg;
|
||||||
|
private String codJfas;
|
||||||
|
private LocalDate dataScad;
|
||||||
|
private MtbAart mtbAart;
|
||||||
|
|
||||||
|
private boolean partitaMagMatch;
|
||||||
|
private boolean commessaMatch;
|
||||||
|
|
||||||
|
public String getGestione() {
|
||||||
|
return gestione;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setGestione(String gestione) {
|
||||||
|
this.gestione = gestione;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDate getDataCollo() {
|
||||||
|
return dataCollo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setDataCollo(LocalDate dataCollo) {
|
||||||
|
this.dataCollo = dataCollo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSerCollo() {
|
||||||
|
return serCollo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setSerCollo(String serCollo) {
|
||||||
|
this.serCollo = serCollo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getNumCollo() {
|
||||||
|
return numCollo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setNumCollo(Integer numCollo) {
|
||||||
|
this.numCollo = numCollo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSegno() {
|
||||||
|
return segno;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setSegno(Integer segno) {
|
||||||
|
this.segno = segno;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodMdep() {
|
||||||
|
return codMdep;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setCodMdep(String codMdep) {
|
||||||
|
this.codMdep = codMdep;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPosizione() {
|
||||||
|
return posizione;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setPosizione(String posizione) {
|
||||||
|
this.posizione = posizione;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPriorita() {
|
||||||
|
return priorita;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setPriorita(Integer priorita) {
|
||||||
|
this.priorita = priorita;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodGruppo() {
|
||||||
|
return codGruppo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setCodGruppo(String codGruppo) {
|
||||||
|
this.codGruppo = codGruppo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGruppo() {
|
||||||
|
return gruppo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setGruppo(String gruppo) {
|
||||||
|
this.gruppo = gruppo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodSgruppo() {
|
||||||
|
return codSgruppo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setCodSgruppo(String codSgruppo) {
|
||||||
|
this.codSgruppo = codSgruppo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSottogruppo() {
|
||||||
|
return sottogruppo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setSottogruppo(String sottogruppo) {
|
||||||
|
this.sottogruppo = sottogruppo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodMart() {
|
||||||
|
return codMart;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setCodMart(String codMart) {
|
||||||
|
this.codMart = codMart;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDiacod() {
|
||||||
|
return diacod;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setDiacod(String diacod) {
|
||||||
|
this.diacod = diacod;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescrizioneEstesa() {
|
||||||
|
return descrizioneEstesa;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setDescrizioneEstesa(String descrizioneEstesa) {
|
||||||
|
this.descrizioneEstesa = descrizioneEstesa;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPartitaMag() {
|
||||||
|
return partitaMag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setPartitaMag(String partitaMag) {
|
||||||
|
this.partitaMag = partitaMag;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodJcom() {
|
||||||
|
return codJcom;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setCodJcom(String codJcom) {
|
||||||
|
this.codJcom = codJcom;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCommessa() {
|
||||||
|
return commessa;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setCommessa(String commessa) {
|
||||||
|
this.commessa = commessa;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUntMis() {
|
||||||
|
return untMis;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setUntMis(String untMis) {
|
||||||
|
this.untMis = untMis;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaCol() {
|
||||||
|
return qtaCol;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setQtaCol(BigDecimal qtaCol) {
|
||||||
|
this.qtaCol = qtaCol;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getNumCnf() {
|
||||||
|
return numCnf;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setNumCnf(BigDecimal numCnf) {
|
||||||
|
this.numCnf = numCnf;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaCnf() {
|
||||||
|
return qtaCnf;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setQtaCnf(BigDecimal qtaCnf) {
|
||||||
|
this.qtaCnf = qtaCnf;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getPesoNettoKg() {
|
||||||
|
return pesoNettoKg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setPesoNettoKg(BigDecimal pesoNettoKg) {
|
||||||
|
this.pesoNettoKg = pesoNettoKg;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getPesoLordoKg() {
|
||||||
|
return pesoLordoKg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setPesoLordoKg(BigDecimal pesoLordoKg) {
|
||||||
|
this.pesoLordoKg = pesoLordoKg;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodJfas() {
|
||||||
|
return codJfas;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setCodJfas(String codJfas) {
|
||||||
|
this.codJfas = codJfas;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDate getDataScad() {
|
||||||
|
return dataScad;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setDataScad(LocalDate dataScad) {
|
||||||
|
this.dataScad = dataScad;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MtbAart getMtbAart() {
|
||||||
|
return mtbAart;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setMtbAart(MtbAart mtbAart) {
|
||||||
|
this.mtbAart = mtbAart;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public boolean isPartitaMagMatch() {
|
||||||
|
return partitaMagMatch;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setPartitaMagMatch(boolean partitaMagMatch) {
|
||||||
|
this.partitaMagMatch = partitaMagMatch;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isCommessaMatch() {
|
||||||
|
return commessaMatch;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DialogInfoSituazioneArticoloAvailableListItem setCommessaMatch(boolean commessaMatch) {
|
||||||
|
this.commessaMatch = commessaMatch;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static DialogInfoSituazioneArticoloAvailableListItem fromMvwSitArtUdcDetInventario(MvwSitArtUdcDetInventario mvwSitArtUdcDetInventario) {
|
||||||
|
return new DialogInfoSituazioneArticoloAvailableListItem()
|
||||||
|
.setCodGruppo(mvwSitArtUdcDetInventario.getCodGruppo())
|
||||||
|
.setCodJcom(mvwSitArtUdcDetInventario.getCodJcom())
|
||||||
|
.setCodJfas(mvwSitArtUdcDetInventario.getCodJfas())
|
||||||
|
.setCodMart(mvwSitArtUdcDetInventario.getCodMart())
|
||||||
|
.setCodMdep(mvwSitArtUdcDetInventario.getCodMdep())
|
||||||
|
.setCodSgruppo(mvwSitArtUdcDetInventario.getCodSgruppo())
|
||||||
|
.setCommessa(mvwSitArtUdcDetInventario.getCommessa())
|
||||||
|
.setDataCollo(mvwSitArtUdcDetInventario.getDataCollo())
|
||||||
|
.setDescrizioneEstesa(mvwSitArtUdcDetInventario.getDescrizioneEstesa())
|
||||||
|
.setDiacod(mvwSitArtUdcDetInventario.getDiacod())
|
||||||
|
.setGestione(mvwSitArtUdcDetInventario.getGestione())
|
||||||
|
.setGruppo(mvwSitArtUdcDetInventario.getGruppo())
|
||||||
|
.setMtbAart(mvwSitArtUdcDetInventario.getMtbAart())
|
||||||
|
.setNumCnf(mvwSitArtUdcDetInventario.getNumCnf())
|
||||||
|
.setNumCollo(mvwSitArtUdcDetInventario.getNumCollo())
|
||||||
|
.setPartitaMag(mvwSitArtUdcDetInventario.getPartitaMag())
|
||||||
|
.setDataScad(mvwSitArtUdcDetInventario.getDataScad())
|
||||||
|
.setPesoLordoKg(mvwSitArtUdcDetInventario.getPesoLordoKg())
|
||||||
|
.setPesoNettoKg(mvwSitArtUdcDetInventario.getPesoNettoKg())
|
||||||
|
.setPosizione(mvwSitArtUdcDetInventario.getPosizione())
|
||||||
|
.setPriorita(mvwSitArtUdcDetInventario.getPriorita())
|
||||||
|
.setQtaCnf(mvwSitArtUdcDetInventario.getQtaCnf())
|
||||||
|
.setQtaCol(mvwSitArtUdcDetInventario.getQtaCol())
|
||||||
|
.setSegno(mvwSitArtUdcDetInventario.getSegno())
|
||||||
|
.setSerCollo(mvwSitArtUdcDetInventario.getSerCollo())
|
||||||
|
.setSottogruppo(mvwSitArtUdcDetInventario.getSottogruppo())
|
||||||
|
.setUntMis(mvwSitArtUdcDetInventario.getUntMis());
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,12 +1,16 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
|
<level-list>
|
||||||
|
<item>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<solid android:color="@color/white" />
|
<solid android:color="@color/white" />
|
||||||
|
|
||||||
<padding
|
<padding
|
||||||
android:left="6dp"
|
android:left="6dp"
|
||||||
android:right="6dp"
|
android:right="6dp"
|
||||||
android:top="1dp" />
|
android:top="1dp" />
|
||||||
|
|
||||||
<corners android:radius="12dp" />
|
<corners android:radius="12dp" />
|
||||||
</shape>
|
</shape>
|
||||||
|
</item>
|
||||||
|
</level-list>
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||||
|
|
||||||
|
<solid android:color="@color/white" />
|
||||||
|
|
||||||
|
<corners android:radius="12dp" />
|
||||||
|
|
||||||
|
</shape>
|
||||||
9
app/src/main/res/drawable/ic_calendar_schedule.xml
Normal file
9
app/src/main/res/drawable/ic_calendar_schedule.xml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="96dp"
|
||||||
|
android:height="96dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:pathData="M6,0C2.7,0 0,2.7 0,6C0,9.3 2.7,12 6,12C9.3,12 12,9.3 12,6C12,2.7 9.3,0 6,0zM6,2C8.2,2 10,3.8 10,6C10,8.2 8.2,10 6,10C3.8,10 2,8.2 2,6C2,3.8 3.8,2 6,2zM17,2C16.448,2 16,2.448 16,3L16,4L13.738,4C13.903,4.64 14,5.308 14,6C14,7.062 13.788,8.073 13.412,9L19,9L19.002,20L5,20L5,15C5,14.448 4.552,14 4,14C3.448,14 3,14.448 3,15L3,20C3,21.105 3.895,22 5,22L19,22C20.105,22 21,21.105 21,20L21,6C21,4.895 20.105,4 19,4L18,4L18,3C18,2.448 17.552,2 17,2zM6.9,3.199L5.199,6.1L7.4,8.301L8.301,7.301L6.801,5.9L8,3.801L6.9,3.199z"
|
||||||
|
android:fillColor="#5B5B5B"/>
|
||||||
|
</vector>
|
||||||
9
app/src/main/res/drawable/ic_tag.xml
Normal file
9
app/src/main/res/drawable/ic_tag.xml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:pathData="M11.586,3.586l-9,9c-0.781,0.781 -0.781,2.047 0,2.828l6,6c0.781,0.781 2.047,0.781 2.828,0l9,-9C20.789,12.039 21,11.53 21,11V5c0,-1.105 -0.895,-2 -2,-2h-6C12.47,3 11.961,3.211 11.586,3.586zM17.5,8C16.672,8 16,7.328 16,6.5S16.672,5 17.5,5S19,5.672 19,6.5S18.328,8 17.5,8z"
|
||||||
|
android:fillColor="#5B5B5B"/>
|
||||||
|
</vector>
|
||||||
104
app/src/main/res/layout/dialog_info_situazione_articolo.xml
Normal file
104
app/src/main/res/layout/dialog_info_situazione_articolo.xml
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
|
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:orientation="vertical"
|
||||||
|
app:cardCornerRadius="16dp"
|
||||||
|
app:cardElevation="0dp">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingHorizontal="16dp"
|
||||||
|
android:paddingVertical="16dp">
|
||||||
|
|
||||||
|
<!-- <androidx.appcompat.widget.AppCompatImageView-->
|
||||||
|
<!-- style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"-->
|
||||||
|
<!-- android:layout_width="36dp"-->
|
||||||
|
<!-- android:layout_height="36dp"-->
|
||||||
|
<!-- android:src="@drawable/ic_error_white_24dp"-->
|
||||||
|
<!-- app:tint="?colorPrimary" />-->
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/title_text"
|
||||||
|
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="16dp"
|
||||||
|
android:gravity="center_horizontal"
|
||||||
|
android:text="Situazione articolo" />
|
||||||
|
|
||||||
|
<androidx.core.widget.NestedScrollView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/incoming_label"
|
||||||
|
style="@style/TextAppearance.Material3.TitleMedium"
|
||||||
|
android:background="@drawable/badge_round_corner"
|
||||||
|
android:backgroundTint="@color/gray_200"
|
||||||
|
android:textAllCaps="true"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center_horizontal"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:paddingHorizontal="12dp"
|
||||||
|
android:text="In arrivo" />
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/incoming_list"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:nestedScrollingEnabled="false"
|
||||||
|
tools:listitem="@layout/dialog_info_situazione_articolo_incoming_list_item"
|
||||||
|
tools:itemCount="1"
|
||||||
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/available_label"
|
||||||
|
style="@style/TextAppearance.Material3.TitleMedium"
|
||||||
|
android:textAllCaps="true"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@drawable/badge_round_corner"
|
||||||
|
android:backgroundTint="@color/gray_200"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
|
android:paddingHorizontal="12dp"
|
||||||
|
android:text="In giacenza" />
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/available_list"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:nestedScrollingEnabled="false"
|
||||||
|
tools:listitem="@layout/dialog_info_situazione_articolo_available_list_item"
|
||||||
|
tools:itemCount="3"
|
||||||
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
|
||||||
|
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
</androidx.cardview.widget.CardView>
|
||||||
|
</layout>
|
||||||
@ -0,0 +1,237 @@
|
|||||||
|
<?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="android.view.View" />
|
||||||
|
|
||||||
|
<variable
|
||||||
|
name="item"
|
||||||
|
type="it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo.ui.DialogInfoSituazioneArticoloAvailableListItem" />
|
||||||
|
|
||||||
|
</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:layout_toStartOf="@id/qta_box"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@{"UL " + item.numCollo.toString() + " del " + UtilityDate.formatDate(item.dataCollo, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)}"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="UL 109467 del 17 mar 2023" />
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <androidx.appcompat.widget.AppCompatTextView-->
|
||||||
|
<!-- style="@style/TextAppearance.AppCompat.Small"-->
|
||||||
|
<!-- android:layout_width="match_parent"-->
|
||||||
|
<!-- android:layout_height="wrap_content"-->
|
||||||
|
<!-- android:ellipsize="end"-->
|
||||||
|
<!-- android:maxLines="2"-->
|
||||||
|
<!-- android:text="@{UtilityString.isNull(item.descrizioneEstesa, "Nessuna descrizione")}"-->
|
||||||
|
<!-- tools:text="Descrizione lunga articolo" />-->
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="4dp"
|
||||||
|
android:background="@drawable/badge_round_corner_without_padding"
|
||||||
|
android:backgroundTint="@color/green_200"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:visibility="@{item.partitaMag != null ? View.VISIBLE : View.GONE}">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="4dp"
|
||||||
|
android:background="@drawable/badge_round_corner"
|
||||||
|
android:backgroundTint="@{ContextCompat.getColor(context, item.partitaMagMatch ? R.color.green_200 : R.color.white)}"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:layout_width="12dp"
|
||||||
|
android:layout_height="12dp"
|
||||||
|
android:src="@drawable/ic_info_78dp"
|
||||||
|
android:tint="@android:color/black" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:text="@{item.partitaMag}"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
tools:text="PARTITA" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:layout_width="12dp"
|
||||||
|
android:layout_height="12dp"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:visibility="@{item.dataScad != null ? View.VISIBLE : View.GONE}"
|
||||||
|
android:src="@drawable/ic_calendar_schedule"
|
||||||
|
android:tint="@android:color/black" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:visibility="@{item.dataScad != null ? View.VISIBLE : View.GONE}"
|
||||||
|
android:text="@{UtilityDate.formatDate(item.dataScad, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)}"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
tools:text="17 mag 2023" />
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="4dp"
|
||||||
|
android:background="@drawable/badge_round_corner_without_padding"
|
||||||
|
android:backgroundTint="@color/light_blue_500"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:visibility="@{item.posizione != null ? View.VISIBLE : View.GONE}">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="4dp"
|
||||||
|
android:background="@drawable/badge_round_corner"
|
||||||
|
android:backgroundTint="@color/light_blue_500"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/position_label_icon"
|
||||||
|
android:layout_width="12dp"
|
||||||
|
android:layout_height="12dp"
|
||||||
|
android:src="@drawable/ic_location_24"
|
||||||
|
android:tint="@android:color/black"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:text="@{item.posizione}"
|
||||||
|
app:layout_constraintStart_toEndOf="@id/position_label_icon"
|
||||||
|
tools:text="POSIZIONE" />
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:layout_marginTop="4dp"
|
||||||
|
android:background="@drawable/badge_round_corner_without_padding"
|
||||||
|
android:backgroundTint="@color/red_300"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:visibility="@{item.codJcom != null ? View.VISIBLE : View.GONE}">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="4dp"
|
||||||
|
android:background="@drawable/badge_round_corner"
|
||||||
|
android:backgroundTint="@{ContextCompat.getColor(context, item.commessaMatch ? R.color.red_300 : R.color.white)}"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:layout_width="12dp"
|
||||||
|
android:layout_height="12dp"
|
||||||
|
android:src="@drawable/ic_tag"
|
||||||
|
android:tint="@android:color/black" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:text="@{item.codJcom}"
|
||||||
|
tools:text="COMMESSA" />
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:id="@+id/qta_box"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:layout_centerVertical="true"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:background="@drawable/badge_round_corner"
|
||||||
|
android:backgroundTint="@color/colorPrimary"
|
||||||
|
android:gravity="center_horizontal"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:padding="6dp"
|
||||||
|
android:visibility="@{item.qtaCol != null ? View.VISIBLE : View.GONE}">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/TextAppearance.AppCompat.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:backgroundTint="@color/colorPrimary"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@{UtilityNumber.decimalToString(item.qtaCol, item.mtbAart.firstUntMis.cifreDec.intValue())}"
|
||||||
|
android:textAllCaps="true"
|
||||||
|
android:textColor="@android:color/white"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="280.45" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/TextAppearance.AppCompat.Small"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@{item.untMis}"
|
||||||
|
android:textAllCaps="true"
|
||||||
|
android:textColor="@android:color/white"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="CONF" />
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</layout>
|
||||||
@ -0,0 +1,100 @@
|
|||||||
|
<?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="android.view.View" />
|
||||||
|
|
||||||
|
<variable
|
||||||
|
name="item"
|
||||||
|
type="it.integry.integrywmsnative.core.rest.model.giacenza.InstantItemSituationIncomingItemDto" />
|
||||||
|
|
||||||
|
</data>
|
||||||
|
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:paddingVertical="8dp"
|
||||||
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:layout_toStartOf="@id/qta_box">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@{UtilityDate.formatDate(item.dataCons, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)}"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="Data cons" />
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
style="@style/TextAppearance.AppCompat.Small"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:maxLines="2"
|
||||||
|
android:text="@{UtilityString.isNull(item.descrizione, "Nessuna descrizione")}"
|
||||||
|
tools:text="Descrizione lunga articolo" />
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:id="@+id/qta_box"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:layout_centerVertical="true"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:padding="6dp"
|
||||||
|
android:background="@drawable/badge_round_corner"
|
||||||
|
android:backgroundTint="@color/colorPrimary"
|
||||||
|
android:gravity="center_horizontal"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:visibility="@{item.qtaOrd != null ? View.VISIBLE : View.GONE}">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:backgroundTint="@color/colorPrimary"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@{UtilityNumber.decimalToString(item.qtaOrd, 2)}"
|
||||||
|
android:textAllCaps="true"
|
||||||
|
android:textColor="@android:color/white"
|
||||||
|
android:textStyle="bold"
|
||||||
|
style="@style/TextAppearance.AppCompat.Small"
|
||||||
|
tools:text="280.45" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@{item.untMis}"
|
||||||
|
android:textAllCaps="true"
|
||||||
|
android:textColor="@android:color/white"
|
||||||
|
android:textStyle="bold"
|
||||||
|
style="@style/TextAppearance.AppCompat.Small"
|
||||||
|
tools:text="CONF" />
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</layout>
|
||||||
@ -113,6 +113,10 @@
|
|||||||
<color name="teal_500">#009688</color>
|
<color name="teal_500">#009688</color>
|
||||||
|
|
||||||
<color name="yellow_100">#FFF9C4</color>
|
<color name="yellow_100">#FFF9C4</color>
|
||||||
|
<color name="yellow_200">#FFF59D</color>
|
||||||
|
<color name="yellow_300">#FFF176</color>
|
||||||
|
<color name="yellow_400">#FFEE58</color>
|
||||||
|
<color name="yellow_500">#FFEB3B</color>
|
||||||
<color name="yellow_600">#FDD835</color>
|
<color name="yellow_600">#FDD835</color>
|
||||||
<color name="yellow_800">#F9A825</color>
|
<color name="yellow_800">#F9A825</color>
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user