Completata implementazione di Accettazione da bolla
This commit is contained in:
parent
bd81385cac
commit
1ec0611e2a
@ -1,56 +0,0 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_ordini_elenco;
|
||||
|
||||
import dagger.MembersInjector;
|
||||
import dagger.internal.DaggerGenerated;
|
||||
import dagger.internal.InjectedFieldSignature;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseFragment_MembersInjector;
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogProgressView;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import javax.annotation.processing.Generated;
|
||||
import javax.inject.Provider;
|
||||
|
||||
@DaggerGenerated
|
||||
@Generated(
|
||||
value = "dagger.internal.codegen.ComponentProcessor",
|
||||
comments = "https://dagger.dev"
|
||||
)
|
||||
@SuppressWarnings({
|
||||
"unchecked",
|
||||
"rawtypes"
|
||||
})
|
||||
public final class MainAccettazioneFragment_MembersInjector implements MembersInjector<MainAccettazioneOrdiniElencoFragment> {
|
||||
private final Provider<DialogProgressView> mCurrentProgressProvider;
|
||||
|
||||
private final Provider<ExecutorService> executorServiceProvider;
|
||||
|
||||
private final Provider<MainAccettazioneOrdiniElencoViewModel> mViewModelProvider;
|
||||
|
||||
public MainAccettazioneFragment_MembersInjector(
|
||||
Provider<DialogProgressView> mCurrentProgressProvider,
|
||||
Provider<ExecutorService> executorServiceProvider,
|
||||
Provider<MainAccettazioneOrdiniElencoViewModel> mViewModelProvider) {
|
||||
this.mCurrentProgressProvider = mCurrentProgressProvider;
|
||||
this.executorServiceProvider = executorServiceProvider;
|
||||
this.mViewModelProvider = mViewModelProvider;
|
||||
}
|
||||
|
||||
public static MembersInjector<MainAccettazioneOrdiniElencoFragment> create(
|
||||
Provider<DialogProgressView> mCurrentProgressProvider,
|
||||
Provider<ExecutorService> executorServiceProvider,
|
||||
Provider<MainAccettazioneOrdiniElencoViewModel> mViewModelProvider) {
|
||||
return new MainAccettazioneFragment_MembersInjector(mCurrentProgressProvider, executorServiceProvider, mViewModelProvider);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void injectMembers(MainAccettazioneOrdiniElencoFragment instance) {
|
||||
BaseFragment_MembersInjector.injectMCurrentProgress(instance, mCurrentProgressProvider.get());
|
||||
BaseFragment_MembersInjector.injectExecutorService(instance, executorServiceProvider.get());
|
||||
injectMViewModel(instance, mViewModelProvider.get());
|
||||
}
|
||||
|
||||
@InjectedFieldSignature("it.integry.integrywmsnative.gest.accettazione.MainAccettazioneFragment.mViewModel")
|
||||
public static void injectMViewModel(MainAccettazioneOrdiniElencoFragment instance,
|
||||
MainAccettazioneOrdiniElencoViewModel mViewModel) {
|
||||
instance.mViewModel = mViewModel;
|
||||
}
|
||||
}
|
||||
@ -1,47 +0,0 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_ordini_elenco;
|
||||
|
||||
import dagger.internal.DaggerGenerated;
|
||||
import dagger.internal.Factory;
|
||||
import dagger.internal.Preconditions;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.rest.OrdiniAccettazioneRESTConsumer;
|
||||
import javax.annotation.processing.Generated;
|
||||
import javax.inject.Provider;
|
||||
|
||||
@DaggerGenerated
|
||||
@Generated(
|
||||
value = "dagger.internal.codegen.ComponentProcessor",
|
||||
comments = "https://dagger.dev"
|
||||
)
|
||||
@SuppressWarnings({
|
||||
"unchecked",
|
||||
"rawtypes"
|
||||
})
|
||||
public final class MainAccettazioneModule_ProvidesMainAccettazioneViewModelFactory implements Factory<MainAccettazioneOrdiniElencoViewModel> {
|
||||
private final MainAccettazioneOrdiniElencoModule module;
|
||||
|
||||
private final Provider<OrdiniAccettazioneRESTConsumer> ordiniAccettazioneRESTConsumerProvider;
|
||||
|
||||
public MainAccettazioneModule_ProvidesMainAccettazioneViewModelFactory(
|
||||
MainAccettazioneOrdiniElencoModule module,
|
||||
Provider<OrdiniAccettazioneRESTConsumer> ordiniAccettazioneRESTConsumerProvider) {
|
||||
this.module = module;
|
||||
this.ordiniAccettazioneRESTConsumerProvider = ordiniAccettazioneRESTConsumerProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MainAccettazioneOrdiniElencoViewModel get() {
|
||||
return providesMainAccettazioneViewModel(module, ordiniAccettazioneRESTConsumerProvider.get());
|
||||
}
|
||||
|
||||
public static MainAccettazioneModule_ProvidesMainAccettazioneViewModelFactory create(
|
||||
MainAccettazioneOrdiniElencoModule module,
|
||||
Provider<OrdiniAccettazioneRESTConsumer> ordiniAccettazioneRESTConsumerProvider) {
|
||||
return new MainAccettazioneModule_ProvidesMainAccettazioneViewModelFactory(module, ordiniAccettazioneRESTConsumerProvider);
|
||||
}
|
||||
|
||||
public static MainAccettazioneOrdiniElencoViewModel providesMainAccettazioneViewModel(
|
||||
MainAccettazioneOrdiniElencoModule instance,
|
||||
OrdiniAccettazioneRESTConsumer ordiniAccettazioneRESTConsumer) {
|
||||
return Preconditions.checkNotNullFromProvides(instance.providesMainAccettazioneViewModel(ordiniAccettazioneRESTConsumer));
|
||||
}
|
||||
}
|
||||
@ -1,40 +0,0 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_ordini_elenco;
|
||||
|
||||
import dagger.internal.DaggerGenerated;
|
||||
import dagger.internal.Factory;
|
||||
import dagger.internal.Preconditions;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.rest.OrdiniAccettazioneRESTConsumer;
|
||||
import javax.annotation.processing.Generated;
|
||||
|
||||
@DaggerGenerated
|
||||
@Generated(
|
||||
value = "dagger.internal.codegen.ComponentProcessor",
|
||||
comments = "https://dagger.dev"
|
||||
)
|
||||
@SuppressWarnings({
|
||||
"unchecked",
|
||||
"rawtypes"
|
||||
})
|
||||
public final class MainAccettazioneModule_ProvidesOrdiniAccettazioneRESTConsumerFactory implements Factory<OrdiniAccettazioneRESTConsumer> {
|
||||
private final MainAccettazioneOrdiniElencoModule module;
|
||||
|
||||
public MainAccettazioneModule_ProvidesOrdiniAccettazioneRESTConsumerFactory(
|
||||
MainAccettazioneOrdiniElencoModule module) {
|
||||
this.module = module;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrdiniAccettazioneRESTConsumer get() {
|
||||
return providesOrdiniAccettazioneRESTConsumer(module);
|
||||
}
|
||||
|
||||
public static MainAccettazioneModule_ProvidesOrdiniAccettazioneRESTConsumerFactory create(
|
||||
MainAccettazioneOrdiniElencoModule module) {
|
||||
return new MainAccettazioneModule_ProvidesOrdiniAccettazioneRESTConsumerFactory(module);
|
||||
}
|
||||
|
||||
public static OrdiniAccettazioneRESTConsumer providesOrdiniAccettazioneRESTConsumer(
|
||||
MainAccettazioneOrdiniElencoModule instance) {
|
||||
return Preconditions.checkNotNullFromProvides(instance.providesOrdiniAccettazioneRESTConsumer());
|
||||
}
|
||||
}
|
||||
@ -1,40 +0,0 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_ordini_elenco;
|
||||
|
||||
import dagger.internal.DaggerGenerated;
|
||||
import dagger.internal.Factory;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.rest.OrdiniAccettazioneRESTConsumer;
|
||||
import javax.annotation.processing.Generated;
|
||||
import javax.inject.Provider;
|
||||
|
||||
@DaggerGenerated
|
||||
@Generated(
|
||||
value = "dagger.internal.codegen.ComponentProcessor",
|
||||
comments = "https://dagger.dev"
|
||||
)
|
||||
@SuppressWarnings({
|
||||
"unchecked",
|
||||
"rawtypes"
|
||||
})
|
||||
public final class MainAccettazioneViewModel_Factory implements Factory<MainAccettazioneOrdiniElencoViewModel> {
|
||||
private final Provider<OrdiniAccettazioneRESTConsumer> ordiniAccettazioneRESTConsumerProvider;
|
||||
|
||||
public MainAccettazioneViewModel_Factory(
|
||||
Provider<OrdiniAccettazioneRESTConsumer> ordiniAccettazioneRESTConsumerProvider) {
|
||||
this.ordiniAccettazioneRESTConsumerProvider = ordiniAccettazioneRESTConsumerProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MainAccettazioneOrdiniElencoViewModel get() {
|
||||
return newInstance(ordiniAccettazioneRESTConsumerProvider.get());
|
||||
}
|
||||
|
||||
public static MainAccettazioneViewModel_Factory create(
|
||||
Provider<OrdiniAccettazioneRESTConsumer> ordiniAccettazioneRESTConsumerProvider) {
|
||||
return new MainAccettazioneViewModel_Factory(ordiniAccettazioneRESTConsumerProvider);
|
||||
}
|
||||
|
||||
public static MainAccettazioneOrdiniElencoViewModel newInstance(
|
||||
OrdiniAccettazioneRESTConsumer ordiniAccettazioneRESTConsumer) {
|
||||
return new MainAccettazioneOrdiniElencoViewModel(ordiniAccettazioneRESTConsumer);
|
||||
}
|
||||
}
|
||||
@ -1,62 +0,0 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_ordini_picking;
|
||||
|
||||
import dagger.MembersInjector;
|
||||
import dagger.internal.DaggerGenerated;
|
||||
import dagger.internal.InjectedFieldSignature;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseActivity_MembersInjector;
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogProgressView;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
||||
import javax.annotation.processing.Generated;
|
||||
import javax.inject.Provider;
|
||||
|
||||
@DaggerGenerated
|
||||
@Generated(
|
||||
value = "dagger.internal.codegen.ComponentProcessor",
|
||||
comments = "https://dagger.dev"
|
||||
)
|
||||
@SuppressWarnings({
|
||||
"unchecked",
|
||||
"rawtypes"
|
||||
})
|
||||
public final class AccettazionePickingActivity_MembersInjector implements MembersInjector<AccettazioneOrdiniPickingActivity> {
|
||||
private final Provider<DialogProgressView> mCurrentProgressProvider;
|
||||
|
||||
private final Provider<AccettazioneOrdiniPickingViewModel> mViewModelProvider;
|
||||
|
||||
private final Provider<DialogInputQuantityV2View> mDialogInputQuantityV2ViewProvider;
|
||||
|
||||
public AccettazionePickingActivity_MembersInjector(
|
||||
Provider<DialogProgressView> mCurrentProgressProvider,
|
||||
Provider<AccettazioneOrdiniPickingViewModel> mViewModelProvider,
|
||||
Provider<DialogInputQuantityV2View> mDialogInputQuantityV2ViewProvider) {
|
||||
this.mCurrentProgressProvider = mCurrentProgressProvider;
|
||||
this.mViewModelProvider = mViewModelProvider;
|
||||
this.mDialogInputQuantityV2ViewProvider = mDialogInputQuantityV2ViewProvider;
|
||||
}
|
||||
|
||||
public static MembersInjector<AccettazioneOrdiniPickingActivity> create(
|
||||
Provider<DialogProgressView> mCurrentProgressProvider,
|
||||
Provider<AccettazioneOrdiniPickingViewModel> mViewModelProvider,
|
||||
Provider<DialogInputQuantityV2View> mDialogInputQuantityV2ViewProvider) {
|
||||
return new AccettazionePickingActivity_MembersInjector(mCurrentProgressProvider, mViewModelProvider, mDialogInputQuantityV2ViewProvider);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void injectMembers(AccettazioneOrdiniPickingActivity instance) {
|
||||
BaseActivity_MembersInjector.injectMCurrentProgress(instance, mCurrentProgressProvider.get());
|
||||
injectMViewModel(instance, mViewModelProvider.get());
|
||||
injectMDialogInputQuantityV2View(instance, mDialogInputQuantityV2ViewProvider.get());
|
||||
}
|
||||
|
||||
@InjectedFieldSignature("it.integry.integrywmsnative.gest.accettazione_picking.AccettazionePickingActivity.mViewModel")
|
||||
public static void injectMViewModel(AccettazioneOrdiniPickingActivity instance,
|
||||
AccettazioneOrdiniPickingViewModel mViewModel) {
|
||||
instance.mViewModel = mViewModel;
|
||||
}
|
||||
|
||||
@InjectedFieldSignature("it.integry.integrywmsnative.gest.accettazione_picking.AccettazionePickingActivity.mDialogInputQuantityV2View")
|
||||
public static void injectMDialogInputQuantityV2View(AccettazioneOrdiniPickingActivity instance,
|
||||
DialogInputQuantityV2View mDialogInputQuantityV2View) {
|
||||
instance.mDialogInputQuantityV2View = mDialogInputQuantityV2View;
|
||||
}
|
||||
}
|
||||
@ -1,46 +0,0 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_ordini_picking;
|
||||
|
||||
import dagger.internal.DaggerGenerated;
|
||||
import dagger.internal.Factory;
|
||||
import dagger.internal.Preconditions;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.rest.AccettazioneOrdiniPickingRESTConsumer;
|
||||
|
||||
import javax.annotation.processing.Generated;
|
||||
import javax.inject.Provider;
|
||||
|
||||
@DaggerGenerated
|
||||
@Generated(
|
||||
value = "dagger.internal.codegen.ComponentProcessor",
|
||||
comments = "https://dagger.dev"
|
||||
)
|
||||
@SuppressWarnings({
|
||||
"unchecked",
|
||||
"rawtypes"
|
||||
})
|
||||
public final class AccettazionePickingModule_ProvidesAccettazionePickingRESTConsumerFactory implements Factory<AccettazioneOrdiniPickingRESTConsumer> {
|
||||
private final AccettazioneOrdiniPickingModule module;
|
||||
|
||||
private final Provider<SystemRESTConsumer> systemRESTConsumerProvider;
|
||||
|
||||
public AccettazionePickingModule_ProvidesAccettazionePickingRESTConsumerFactory(
|
||||
AccettazioneOrdiniPickingModule module, Provider<SystemRESTConsumer> systemRESTConsumerProvider) {
|
||||
this.module = module;
|
||||
this.systemRESTConsumerProvider = systemRESTConsumerProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccettazioneOrdiniPickingRESTConsumer get() {
|
||||
return providesAccettazionePickingRESTConsumer(module, systemRESTConsumerProvider.get());
|
||||
}
|
||||
|
||||
public static AccettazionePickingModule_ProvidesAccettazionePickingRESTConsumerFactory create(
|
||||
AccettazioneOrdiniPickingModule module, Provider<SystemRESTConsumer> systemRESTConsumerProvider) {
|
||||
return new AccettazionePickingModule_ProvidesAccettazionePickingRESTConsumerFactory(module, systemRESTConsumerProvider);
|
||||
}
|
||||
|
||||
public static AccettazioneOrdiniPickingRESTConsumer providesAccettazionePickingRESTConsumer(
|
||||
AccettazioneOrdiniPickingModule instance, SystemRESTConsumer systemRESTConsumer) {
|
||||
return Preconditions.checkNotNullFromProvides(instance.providesAccettazionePickingRESTConsumer(systemRESTConsumer));
|
||||
}
|
||||
}
|
||||
@ -1,87 +0,0 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_ordini_picking;
|
||||
|
||||
import dagger.internal.DaggerGenerated;
|
||||
import dagger.internal.Factory;
|
||||
import dagger.internal.Preconditions;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.rest.AccettazioneOrdiniPickingRESTConsumer;
|
||||
|
||||
import javax.annotation.processing.Generated;
|
||||
import javax.inject.Provider;
|
||||
|
||||
@DaggerGenerated
|
||||
@Generated(
|
||||
value = "dagger.internal.codegen.ComponentProcessor",
|
||||
comments = "https://dagger.dev"
|
||||
)
|
||||
@SuppressWarnings({
|
||||
"unchecked",
|
||||
"rawtypes"
|
||||
})
|
||||
public final class AccettazionePickingModule_ProvidesAccettazioneViewModelFactory implements Factory<AccettazioneOrdiniPickingViewModel> {
|
||||
private final AccettazioneOrdiniPickingModule module;
|
||||
|
||||
private final Provider<ArticoloRESTConsumer> articoloRESTConsumerProvider;
|
||||
|
||||
private final Provider<BarcodeRESTConsumer> barcodeRESTConsumerProvider;
|
||||
|
||||
private final Provider<ColliMagazzinoRESTConsumer> colliMagazzinoRESTConsumerProvider;
|
||||
|
||||
private final Provider<PrinterRESTConsumer> printerRESTConsumerProvider;
|
||||
|
||||
private final Provider<AccettazioneOrdiniPickingRESTConsumer> accettazionePickingRESTConsumerProvider;
|
||||
|
||||
private final Provider<ColliAccettazioneRESTConsumer> colliAccettazioneRESTConsumerProvider;
|
||||
|
||||
private final Provider<ColliLavorazioneRESTConsumer> colliLavorazioneRESTConsumerProvider;
|
||||
|
||||
public AccettazionePickingModule_ProvidesAccettazioneViewModelFactory(
|
||||
AccettazioneOrdiniPickingModule module, Provider<ArticoloRESTConsumer> articoloRESTConsumerProvider,
|
||||
Provider<BarcodeRESTConsumer> barcodeRESTConsumerProvider,
|
||||
Provider<ColliMagazzinoRESTConsumer> colliMagazzinoRESTConsumerProvider,
|
||||
Provider<PrinterRESTConsumer> printerRESTConsumerProvider,
|
||||
Provider<AccettazioneOrdiniPickingRESTConsumer> accettazionePickingRESTConsumerProvider,
|
||||
Provider<ColliAccettazioneRESTConsumer> colliAccettazioneRESTConsumerProvider,
|
||||
Provider<ColliLavorazioneRESTConsumer> colliLavorazioneRESTConsumerProvider) {
|
||||
this.module = module;
|
||||
this.articoloRESTConsumerProvider = articoloRESTConsumerProvider;
|
||||
this.barcodeRESTConsumerProvider = barcodeRESTConsumerProvider;
|
||||
this.colliMagazzinoRESTConsumerProvider = colliMagazzinoRESTConsumerProvider;
|
||||
this.printerRESTConsumerProvider = printerRESTConsumerProvider;
|
||||
this.accettazionePickingRESTConsumerProvider = accettazionePickingRESTConsumerProvider;
|
||||
this.colliAccettazioneRESTConsumerProvider = colliAccettazioneRESTConsumerProvider;
|
||||
this.colliLavorazioneRESTConsumerProvider = colliLavorazioneRESTConsumerProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccettazioneOrdiniPickingViewModel get() {
|
||||
return providesAccettazioneViewModel(module, articoloRESTConsumerProvider.get(), barcodeRESTConsumerProvider.get(), colliMagazzinoRESTConsumerProvider.get(), printerRESTConsumerProvider.get(), accettazionePickingRESTConsumerProvider.get(), colliAccettazioneRESTConsumerProvider.get(), colliLavorazioneRESTConsumerProvider.get());
|
||||
}
|
||||
|
||||
public static AccettazionePickingModule_ProvidesAccettazioneViewModelFactory create(
|
||||
AccettazioneOrdiniPickingModule module, Provider<ArticoloRESTConsumer> articoloRESTConsumerProvider,
|
||||
Provider<BarcodeRESTConsumer> barcodeRESTConsumerProvider,
|
||||
Provider<ColliMagazzinoRESTConsumer> colliMagazzinoRESTConsumerProvider,
|
||||
Provider<PrinterRESTConsumer> printerRESTConsumerProvider,
|
||||
Provider<AccettazioneOrdiniPickingRESTConsumer> accettazionePickingRESTConsumerProvider,
|
||||
Provider<ColliAccettazioneRESTConsumer> colliAccettazioneRESTConsumerProvider,
|
||||
Provider<ColliLavorazioneRESTConsumer> colliLavorazioneRESTConsumerProvider) {
|
||||
return new AccettazionePickingModule_ProvidesAccettazioneViewModelFactory(module, articoloRESTConsumerProvider, barcodeRESTConsumerProvider, colliMagazzinoRESTConsumerProvider, printerRESTConsumerProvider, accettazionePickingRESTConsumerProvider, colliAccettazioneRESTConsumerProvider, colliLavorazioneRESTConsumerProvider);
|
||||
}
|
||||
|
||||
public static AccettazioneOrdiniPickingViewModel providesAccettazioneViewModel(
|
||||
AccettazioneOrdiniPickingModule instance, ArticoloRESTConsumer articoloRESTConsumer,
|
||||
BarcodeRESTConsumer barcodeRESTConsumer,
|
||||
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
|
||||
PrinterRESTConsumer printerRESTConsumer,
|
||||
AccettazioneOrdiniPickingRESTConsumer accettazioneOrdiniPickingRESTConsumer,
|
||||
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
|
||||
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer) {
|
||||
return Preconditions.checkNotNullFromProvides(instance.providesAccettazioneViewModel(articoloRESTConsumer, barcodeRESTConsumer, colliMagazzinoRESTConsumer, printerRESTConsumer, accettazioneOrdiniPickingRESTConsumer, colliAccettazioneRESTConsumer, colliLavorazioneRESTConsumer));
|
||||
}
|
||||
}
|
||||
@ -1,40 +0,0 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_ordini_picking;
|
||||
|
||||
import dagger.internal.DaggerGenerated;
|
||||
import dagger.internal.Factory;
|
||||
import dagger.internal.Preconditions;
|
||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
||||
import javax.annotation.processing.Generated;
|
||||
|
||||
@DaggerGenerated
|
||||
@Generated(
|
||||
value = "dagger.internal.codegen.ComponentProcessor",
|
||||
comments = "https://dagger.dev"
|
||||
)
|
||||
@SuppressWarnings({
|
||||
"unchecked",
|
||||
"rawtypes"
|
||||
})
|
||||
public final class AccettazionePickingModule_ProvidesBottomSheetFragmentLUContentViewModelFactory implements Factory<BottomSheetFragmentLUContentViewModel> {
|
||||
private final AccettazioneOrdiniPickingModule module;
|
||||
|
||||
public AccettazionePickingModule_ProvidesBottomSheetFragmentLUContentViewModelFactory(
|
||||
AccettazioneOrdiniPickingModule module) {
|
||||
this.module = module;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BottomSheetFragmentLUContentViewModel get() {
|
||||
return providesBottomSheetFragmentLUContentViewModel(module);
|
||||
}
|
||||
|
||||
public static AccettazionePickingModule_ProvidesBottomSheetFragmentLUContentViewModelFactory create(
|
||||
AccettazioneOrdiniPickingModule module) {
|
||||
return new AccettazionePickingModule_ProvidesBottomSheetFragmentLUContentViewModelFactory(module);
|
||||
}
|
||||
|
||||
public static BottomSheetFragmentLUContentViewModel providesBottomSheetFragmentLUContentViewModel(
|
||||
AccettazioneOrdiniPickingModule instance) {
|
||||
return Preconditions.checkNotNullFromProvides(instance.providesBottomSheetFragmentLUContentViewModel());
|
||||
}
|
||||
}
|
||||
@ -1,82 +0,0 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_ordini_picking;
|
||||
|
||||
import dagger.internal.DaggerGenerated;
|
||||
import dagger.internal.Factory;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.rest.AccettazioneOrdiniPickingRESTConsumer;
|
||||
|
||||
import javax.annotation.processing.Generated;
|
||||
import javax.inject.Provider;
|
||||
|
||||
@DaggerGenerated
|
||||
@Generated(
|
||||
value = "dagger.internal.codegen.ComponentProcessor",
|
||||
comments = "https://dagger.dev"
|
||||
)
|
||||
@SuppressWarnings({
|
||||
"unchecked",
|
||||
"rawtypes"
|
||||
})
|
||||
public final class AccettazionePickingViewModel_Factory implements Factory<AccettazioneOrdiniPickingViewModel> {
|
||||
private final Provider<ArticoloRESTConsumer> articoloRESTConsumerProvider;
|
||||
|
||||
private final Provider<BarcodeRESTConsumer> barcodeRESTConsumerProvider;
|
||||
|
||||
private final Provider<ColliMagazzinoRESTConsumer> colliMagazzinoRESTConsumerProvider;
|
||||
|
||||
private final Provider<PrinterRESTConsumer> printerRESTConsumerProvider;
|
||||
|
||||
private final Provider<AccettazioneOrdiniPickingRESTConsumer> accettazionePickingRESTConsumerProvider;
|
||||
|
||||
private final Provider<ColliAccettazioneRESTConsumer> colliAccettazioneRESTConsumerProvider;
|
||||
|
||||
private final Provider<ColliLavorazioneRESTConsumer> colliLavorazioneRESTConsumerProvider;
|
||||
|
||||
public AccettazionePickingViewModel_Factory(
|
||||
Provider<ArticoloRESTConsumer> articoloRESTConsumerProvider,
|
||||
Provider<BarcodeRESTConsumer> barcodeRESTConsumerProvider,
|
||||
Provider<ColliMagazzinoRESTConsumer> colliMagazzinoRESTConsumerProvider,
|
||||
Provider<PrinterRESTConsumer> printerRESTConsumerProvider,
|
||||
Provider<AccettazioneOrdiniPickingRESTConsumer> accettazionePickingRESTConsumerProvider,
|
||||
Provider<ColliAccettazioneRESTConsumer> colliAccettazioneRESTConsumerProvider,
|
||||
Provider<ColliLavorazioneRESTConsumer> colliLavorazioneRESTConsumerProvider) {
|
||||
this.articoloRESTConsumerProvider = articoloRESTConsumerProvider;
|
||||
this.barcodeRESTConsumerProvider = barcodeRESTConsumerProvider;
|
||||
this.colliMagazzinoRESTConsumerProvider = colliMagazzinoRESTConsumerProvider;
|
||||
this.printerRESTConsumerProvider = printerRESTConsumerProvider;
|
||||
this.accettazionePickingRESTConsumerProvider = accettazionePickingRESTConsumerProvider;
|
||||
this.colliAccettazioneRESTConsumerProvider = colliAccettazioneRESTConsumerProvider;
|
||||
this.colliLavorazioneRESTConsumerProvider = colliLavorazioneRESTConsumerProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccettazioneOrdiniPickingViewModel get() {
|
||||
return newInstance(articoloRESTConsumerProvider.get(), barcodeRESTConsumerProvider.get(), colliMagazzinoRESTConsumerProvider.get(), printerRESTConsumerProvider.get(), accettazionePickingRESTConsumerProvider.get(), colliAccettazioneRESTConsumerProvider.get(), colliLavorazioneRESTConsumerProvider.get());
|
||||
}
|
||||
|
||||
public static AccettazionePickingViewModel_Factory create(
|
||||
Provider<ArticoloRESTConsumer> articoloRESTConsumerProvider,
|
||||
Provider<BarcodeRESTConsumer> barcodeRESTConsumerProvider,
|
||||
Provider<ColliMagazzinoRESTConsumer> colliMagazzinoRESTConsumerProvider,
|
||||
Provider<PrinterRESTConsumer> printerRESTConsumerProvider,
|
||||
Provider<AccettazioneOrdiniPickingRESTConsumer> accettazionePickingRESTConsumerProvider,
|
||||
Provider<ColliAccettazioneRESTConsumer> colliAccettazioneRESTConsumerProvider,
|
||||
Provider<ColliLavorazioneRESTConsumer> colliLavorazioneRESTConsumerProvider) {
|
||||
return new AccettazionePickingViewModel_Factory(articoloRESTConsumerProvider, barcodeRESTConsumerProvider, colliMagazzinoRESTConsumerProvider, printerRESTConsumerProvider, accettazionePickingRESTConsumerProvider, colliAccettazioneRESTConsumerProvider, colliLavorazioneRESTConsumerProvider);
|
||||
}
|
||||
|
||||
public static AccettazioneOrdiniPickingViewModel newInstance(ArticoloRESTConsumer articoloRESTConsumer,
|
||||
BarcodeRESTConsumer barcodeRESTConsumer,
|
||||
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
|
||||
PrinterRESTConsumer printerRESTConsumer,
|
||||
AccettazioneOrdiniPickingRESTConsumer accettazioneOrdiniPickingRESTConsumer,
|
||||
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
|
||||
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer) {
|
||||
return new AccettazioneOrdiniPickingViewModel(articoloRESTConsumer, barcodeRESTConsumer, colliMagazzinoRESTConsumer, printerRESTConsumer, accettazioneOrdiniPickingRESTConsumer, colliAccettazioneRESTConsumer, colliLavorazioneRESTConsumer);
|
||||
}
|
||||
}
|
||||
@ -1,39 +0,0 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.rest;
|
||||
|
||||
import dagger.internal.DaggerGenerated;
|
||||
import dagger.internal.Factory;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||
import javax.annotation.processing.Generated;
|
||||
import javax.inject.Provider;
|
||||
|
||||
@DaggerGenerated
|
||||
@Generated(
|
||||
value = "dagger.internal.codegen.ComponentProcessor",
|
||||
comments = "https://dagger.dev"
|
||||
)
|
||||
@SuppressWarnings({
|
||||
"unchecked",
|
||||
"rawtypes"
|
||||
})
|
||||
public final class AccettazionePickingRESTConsumer_Factory implements Factory<AccettazioneOrdiniPickingRESTConsumer> {
|
||||
private final Provider<SystemRESTConsumer> systemRESTConsumerProvider;
|
||||
|
||||
public AccettazionePickingRESTConsumer_Factory(
|
||||
Provider<SystemRESTConsumer> systemRESTConsumerProvider) {
|
||||
this.systemRESTConsumerProvider = systemRESTConsumerProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccettazioneOrdiniPickingRESTConsumer get() {
|
||||
return newInstance(systemRESTConsumerProvider.get());
|
||||
}
|
||||
|
||||
public static AccettazionePickingRESTConsumer_Factory create(
|
||||
Provider<SystemRESTConsumer> systemRESTConsumerProvider) {
|
||||
return new AccettazionePickingRESTConsumer_Factory(systemRESTConsumerProvider);
|
||||
}
|
||||
|
||||
public static AccettazioneOrdiniPickingRESTConsumer newInstance(SystemRESTConsumer systemRESTConsumer) {
|
||||
return new AccettazioneOrdiniPickingRESTConsumer(systemRESTConsumer);
|
||||
}
|
||||
}
|
||||
@ -108,6 +108,11 @@
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
android:name=".gest.accettazione_bolla_picking.AccettazioneBollaPickingActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Light" />
|
||||
|
||||
<provider
|
||||
android:name=".core.update.GenericFileProvider"
|
||||
android:authorities="${applicationId}.core.update.GenericFileProvider"
|
||||
|
||||
@ -11,12 +11,14 @@ import it.integry.integrywmsnative.core.expansion.BaseDialogFragmentComponent;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseDialogFragmentModule;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseFragmentComponent;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseFragmentModule;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.MainAccettazioneBollaElencoComponent;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.MainAccettazioneBollaElencoModule;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.AccettazioneBollaPickingComponent;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.AccettazioneBollaPickingModule;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoComponent;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoModule;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingComponent;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingModule;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.MainAccettazioneBollaElencoComponent;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.MainAccettazioneBollaElencoModule;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniComponent;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniModule;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectDocInfoComponent;
|
||||
@ -180,7 +182,8 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr
|
||||
MainSettingsModule.class,
|
||||
DialogInfoSituazioneArticoloModule.class,
|
||||
DialogSelectArtToOrderModule.class,
|
||||
MainAccettazioneBollaElencoModule.class
|
||||
MainAccettazioneBollaElencoModule.class,
|
||||
AccettazioneBollaPickingModule.class
|
||||
})
|
||||
public interface MainApplicationComponent {
|
||||
|
||||
@ -304,6 +307,8 @@ public interface MainApplicationComponent {
|
||||
|
||||
MainAccettazioneBollaElencoComponent.Factory mainAccettazioneBollaElencoComponent();
|
||||
|
||||
AccettazioneBollaPickingComponent.Factory accettazioneBollaPickingComponent();
|
||||
|
||||
void inject(MainApplication mainApplication);
|
||||
|
||||
void inject(AppContext mainApplication);
|
||||
|
||||
@ -3,7 +3,7 @@ package it.integry.integrywmsnative.core.class_router.configs;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoFragment;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.MainAccettazioneBollaElencoFragment;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.MainAccettazioneBollaElencoFragment;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniFragment;
|
||||
import it.integry.integrywmsnative.gest.inventario.ElencoInventariFragment;
|
||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoFragment;
|
||||
@ -36,16 +36,16 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_accettazione)
|
||||
.setCodMenu("MG044")
|
||||
.setTitleText(R.string.accettazione_title_fragment)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_accettazione)
|
||||
.setTitleText(R.string.accettazione_ordine_title_fragment)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_accettazione_ordini)
|
||||
.setDrawerIcon(R.drawable.ic_black_download)
|
||||
.setFragmentFactory(MainAccettazioneOrdiniElencoFragment::newInstance))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_accettazione_bolle)
|
||||
.setCodMenu("MG065")
|
||||
.setTitleText(R.string.accettazione_title_fragment)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_accettazione)
|
||||
.setTitleText(R.string.accettazione_bolle_title_fragment)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_accettazione_bolle)
|
||||
.setDrawerIcon(R.drawable.ic_black_download)
|
||||
.setFragmentFactory(MainAccettazioneBollaElencoFragment::newInstance))
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@ import androidx.room.ForeignKey;
|
||||
import androidx.room.Index;
|
||||
import androidx.room.PrimaryKey;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
@Entity(
|
||||
@ -138,7 +138,7 @@ public class SqlMtbColr {
|
||||
@ColumnInfo(name = "unt_mis")
|
||||
private String untMis;
|
||||
@ColumnInfo(name = "data_scad")
|
||||
private Date dataScad;
|
||||
private LocalDate dataScad;
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
@ -428,11 +428,11 @@ public class SqlMtbColr {
|
||||
this.descrizione = descrizione;
|
||||
}
|
||||
|
||||
public Date getDataScad() {
|
||||
public LocalDate getDataScad() {
|
||||
return dataScad;
|
||||
}
|
||||
|
||||
public void setDataScad(Date dataScad) {
|
||||
public void setDataScad(LocalDate dataScad) {
|
||||
this.dataScad = dataScad;
|
||||
}
|
||||
}
|
||||
|
||||
@ -24,7 +24,6 @@ import androidx.databinding.BindingAdapter;
|
||||
import androidx.databinding.BindingConversion;
|
||||
import androidx.databinding.Observable;
|
||||
import androidx.databinding.ObservableField;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
import com.google.android.material.datepicker.MaterialDatePicker;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
@ -33,6 +32,7 @@ import com.google.android.material.textfield.TextInputLayout;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.DecimalFormat;
|
||||
import java.text.DecimalFormatSymbols;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
@ -457,8 +457,8 @@ public class Converters {
|
||||
}
|
||||
|
||||
@BindingAdapter(value = {"binding", "parentView", "warningOnOldDates"}, requireAll = false)
|
||||
public static void bindEditTextDate(EditText view, final ObservableField<Date> observableDate, BaseDialogFragment parentFragment, boolean warningOnOldDates) {
|
||||
Pair<ObservableField<Date>, TextWatcherAdapter> pair = (Pair) view.getTag(R.id.bound_observable);
|
||||
public static void bindEditTextDate(EditText view, final ObservableField<LocalDate> observableDate, BaseDialogFragment parentFragment, boolean warningOnOldDates) {
|
||||
Pair<ObservableField<LocalDate>, TextWatcherAdapter> pair = (Pair) view.getTag(R.id.bound_observable);
|
||||
if (pair == null || pair.first != observableDate) {
|
||||
if (pair != null) {
|
||||
view.removeTextChangedListener(pair.second);
|
||||
@ -473,37 +473,33 @@ public class Converters {
|
||||
|
||||
RunnableArgs<View> onClick = v -> {
|
||||
// Get Current Date
|
||||
Calendar c = UtilityDate.getCalendarInstance();
|
||||
|
||||
if (observableDate.get() != null) {
|
||||
c.setTime(observableDate.get());
|
||||
}
|
||||
|
||||
LocalDate selectedDate = observableDate.get() != null ? observableDate.get() : UtilityDate.getNow();
|
||||
|
||||
var datePicker =
|
||||
MaterialDatePicker.Builder.datePicker()
|
||||
.setSelection(c.getTimeInMillis())
|
||||
.setSelection(UtilityDate.localDateToMillisTime(selectedDate))
|
||||
.build();
|
||||
|
||||
|
||||
|
||||
datePicker.addOnDismissListener(dialog -> {
|
||||
if(datePicker.getSelection() != null) {
|
||||
var timeInMillis = datePicker.getSelection();
|
||||
var selectedTimeInMillis = datePicker.getSelection();
|
||||
var nowTime = UtilityDate.millisTimeToLocalDate(selectedTimeInMillis, null);
|
||||
|
||||
var calendar = UtilityDate.getCalendarInstance();
|
||||
calendar.setTimeInMillis(timeInMillis);
|
||||
|
||||
if (parentFragment != null && warningOnOldDates && calendar.before(UtilityDate.getCalendarInstance())) {
|
||||
if (parentFragment != null && warningOnOldDates && nowTime.isBefore(UtilityDate.getNow())) {
|
||||
DialogSimpleMessageView
|
||||
.makeWarningDialog(new SpannableString("Hai scelto una data precedente a quella odierna. Continuare?"), null, () -> {
|
||||
view.setText(UtilityDate.formatDate(calendar.getTime(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
||||
observableDate.set(calendar.getTime());
|
||||
view.setText(UtilityDate.formatDate(nowTime, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
||||
observableDate.set(nowTime);
|
||||
}, () -> {
|
||||
|
||||
})
|
||||
.show(parentFragment.requireActivity().getSupportFragmentManager(), "tag");
|
||||
} else {
|
||||
view.setText(UtilityDate.formatDate(calendar.getTime(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
||||
observableDate.set(calendar.getTime());
|
||||
view.setText(UtilityDate.formatDate(nowTime, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
||||
observableDate.set(nowTime);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -522,7 +518,7 @@ public class Converters {
|
||||
((TextInputLayout) view.getParent().getParent()).setOnClickListener(onClick::run);
|
||||
}
|
||||
}
|
||||
Date newValue = observableDate.get();
|
||||
var newValue = observableDate.get();
|
||||
view.setText(UtilityDate.formatDate(newValue, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package it.integry.integrywmsnative.core.model;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
@ -141,7 +142,7 @@ public class DtbDocr {
|
||||
|
||||
private MtbAart mtbAart;
|
||||
|
||||
private String dataScadPartitaMag;
|
||||
private LocalDate dataScadPartitaMag;
|
||||
|
||||
public String getCodAnag() {
|
||||
return codAnag;
|
||||
@ -741,15 +742,12 @@ public class DtbDocr {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDataScadPartitaMag() {
|
||||
public LocalDate getDataScadPartitaMag() {
|
||||
return dataScadPartitaMag;
|
||||
}
|
||||
|
||||
public Date getDataScadPartitaMagD() {
|
||||
return UtilityDate.recognizeDateWithExceptionHandler(getDataScadPartitaMag());
|
||||
}
|
||||
|
||||
public DtbDocr setDataScadPartitaMag(String dataScadPartitaMag) {
|
||||
public DtbDocr setDataScadPartitaMag(LocalDate dataScadPartitaMag) {
|
||||
this.dataScadPartitaMag = dataScadPartitaMag;
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package it.integry.integrywmsnative.core.model;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
@ -36,7 +37,7 @@ public class MtbColr extends EntityBase {
|
||||
private BigDecimal numCnf;
|
||||
private String insPartitaMag;
|
||||
private String mtbPartitaMag_descrizione;
|
||||
private String dataScadPartita;
|
||||
private LocalDate dataScadPartita;
|
||||
private String descrizione;
|
||||
private String untMis;
|
||||
private Integer causale;
|
||||
@ -361,25 +362,15 @@ public class MtbColr extends EntityBase {
|
||||
}
|
||||
|
||||
|
||||
public String getDataScadPartitaS() {
|
||||
public LocalDate getDataScadPartita() {
|
||||
return dataScadPartita;
|
||||
}
|
||||
|
||||
public Date getDataScadPartitaD() {
|
||||
return UtilityDate.recognizeDateWithExceptionHandler(getDataScadPartitaS());
|
||||
}
|
||||
|
||||
public MtbColr setDataScadPartita(String dataScadPartita) {
|
||||
public MtbColr setDataScadPartita(LocalDate dataScadPartita) {
|
||||
this.dataScadPartita = dataScadPartita;
|
||||
return this;
|
||||
}
|
||||
|
||||
public MtbColr setDataScadPartita(Date dataScadPartita) {
|
||||
this.dataScadPartita = UtilityDate.formatDate(dataScadPartita, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
public String getDescrizione() {
|
||||
return descrizione;
|
||||
}
|
||||
|
||||
@ -1,17 +1,16 @@
|
||||
package it.integry.integrywmsnative.core.model;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
public class MtbPartitaMag extends EntityBase{
|
||||
private String codMart;
|
||||
|
||||
private String partitaMag;
|
||||
private String descrizione;
|
||||
private String dataIns;
|
||||
private String dataScad;
|
||||
private LocalDateTime dataIns;
|
||||
private LocalDate dataScad;
|
||||
private Integer scelta;
|
||||
private BigDecimal costoUntUmMag;
|
||||
private BigDecimal valUntUmMag;
|
||||
@ -62,33 +61,24 @@ public class MtbPartitaMag extends EntityBase{
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDataIns() {
|
||||
public LocalDateTime getDataIns() {
|
||||
return dataIns;
|
||||
}
|
||||
|
||||
public MtbPartitaMag setDataIns(String dataIns) {
|
||||
public MtbPartitaMag setDataIns(LocalDateTime dataIns) {
|
||||
this.dataIns = dataIns;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDataScadS() {
|
||||
public LocalDate getDataScad() {
|
||||
return dataScad;
|
||||
}
|
||||
|
||||
public Date getDataScadD() {
|
||||
return UtilityDate.recognizeDateWithExceptionHandler(getDataScadS());
|
||||
}
|
||||
|
||||
public MtbPartitaMag setDataScad(String dataScad) {
|
||||
public MtbPartitaMag setDataScad(LocalDate dataScad) {
|
||||
this.dataScad = dataScad;
|
||||
return this;
|
||||
}
|
||||
|
||||
public MtbPartitaMag setDataScad(Date dataScad) {
|
||||
this.dataScad = UtilityDate.formatDate(dataScad, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getScelta() {
|
||||
return scelta;
|
||||
}
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
package it.integry.integrywmsnative.core.model.dto;
|
||||
|
||||
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
|
||||
public class AlreadyRegisteredUDCDTO {
|
||||
|
||||
private MtbColt mtbColt;
|
||||
|
||||
private boolean canBeRecovered;
|
||||
|
||||
public MtbColt getMtbColt() {
|
||||
return mtbColt;
|
||||
}
|
||||
|
||||
public AlreadyRegisteredUDCDTO setMtbColt(MtbColt mtbColt) {
|
||||
this.mtbColt = mtbColt;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isCanBeRecovered() {
|
||||
return canBeRecovered;
|
||||
}
|
||||
|
||||
public AlreadyRegisteredUDCDTO setCanBeRecovered(boolean canBeRecovered) {
|
||||
this.canBeRecovered = canBeRecovered;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@ -54,7 +54,7 @@ public class PickDataDTO {
|
||||
if (!UtilityString.isNullOrEmpty(partitaMag)) {
|
||||
MtbPartitaMag mtbPartitaMag = new MtbPartitaMag()
|
||||
.setPartitaMag(partitaMag)
|
||||
.setDataScad(UtilityDate.recognizeDateWithExceptionHandler(dataScad));
|
||||
.setDataScad(UtilityDate.recognizeLocalDateWithExceptionHandler(dataScad));
|
||||
|
||||
manualPickDTO.setMtbPartitaMag(mtbPartitaMag);
|
||||
}
|
||||
|
||||
@ -21,6 +21,9 @@ public class InsertUDCRowRequestDTO {
|
||||
private Integer numOrd;
|
||||
private Integer rigaOrd;
|
||||
|
||||
private LocalDate dataDoc;
|
||||
private Integer numDoc;
|
||||
|
||||
|
||||
public MtbColt getTargetMtbColt() {
|
||||
return targetMtbColt;
|
||||
@ -129,4 +132,22 @@ public class InsertUDCRowRequestDTO {
|
||||
this.rigaOrd = rigaOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public LocalDate getDataDoc() {
|
||||
return dataDoc;
|
||||
}
|
||||
|
||||
public InsertUDCRowRequestDTO setDataDoc(LocalDate dataDoc) {
|
||||
this.dataDoc = dataDoc;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getNumDoc() {
|
||||
return numDoc;
|
||||
}
|
||||
|
||||
public InsertUDCRowRequestDTO setNumDoc(Integer numDoc) {
|
||||
this.numDoc = numDoc;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@ -99,6 +99,7 @@ public class SettingsModel {
|
||||
private String profileDB;
|
||||
private AvailableCodMdepsDTO depo;
|
||||
private Integer defaultOrdinamentoPickingAccettazione = 0;
|
||||
private Integer defaultOrdinamentoPickingAccettazioneBolle = 0;
|
||||
|
||||
public String getDeviceId() {
|
||||
return deviceId;
|
||||
@ -134,6 +135,15 @@ public class SettingsModel {
|
||||
this.defaultOrdinamentoPickingAccettazione = defaultOrdinamentoPickingAccettazione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getDefaultOrdinamentoPickingAccettazioneBolle() {
|
||||
return defaultOrdinamentoPickingAccettazioneBolle;
|
||||
}
|
||||
|
||||
public UserSession setDefaultOrdinamentoPickingAccettazioneBolle(Integer defaultOrdinamentoPickingAccettazioneBolle) {
|
||||
this.defaultOrdinamentoPickingAccettazioneBolle = defaultOrdinamentoPickingAccettazioneBolle;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public Server getServer() {
|
||||
|
||||
@ -53,14 +53,57 @@ public class UtilityDate {
|
||||
}
|
||||
|
||||
public static Date recognizeDate(String dateString) throws ParseException, DateNotRecognizedException, TimeNotRecognizedException {
|
||||
if(dateString == null) return null;
|
||||
|
||||
final String format = recognizeDateFormat(dateString);
|
||||
if(format == null) return null;
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat(format);
|
||||
|
||||
return sdf.parse(dateString);
|
||||
}
|
||||
|
||||
public static LocalDate recognizeLocalDateWithExceptionHandler(String dateString) {
|
||||
try {
|
||||
return UtilityDate.recognizeLocalDate(dateString);
|
||||
} catch (DateNotRecognizedException | TimeNotRecognizedException pex) {
|
||||
UtilityLogger.error(pex);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static LocalDate recognizeLocalDate(String dateString) throws DateNotRecognizedException, TimeNotRecognizedException {
|
||||
final String format = recognizeDateFormat(dateString);
|
||||
if(format == null) return null;
|
||||
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
|
||||
return LocalDate.parse(dateString, formatter);
|
||||
}
|
||||
|
||||
public static LocalDateTime recognizeLocalDateTimeWithExceptionHandler(String dateString) {
|
||||
try {
|
||||
return UtilityDate.recognizeLocalDateTime(dateString);
|
||||
} catch (DateNotRecognizedException | TimeNotRecognizedException pex) {
|
||||
UtilityLogger.error(pex);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static LocalDateTime recognizeLocalDateTime(String dateString) throws DateNotRecognizedException, TimeNotRecognizedException {
|
||||
final String format = recognizeDateFormat(dateString);
|
||||
if(format == null) return null;
|
||||
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
|
||||
return LocalDateTime.parse(dateString, formatter);
|
||||
}
|
||||
|
||||
private static String recognizeDateFormat(String dateString) throws DateNotRecognizedException, TimeNotRecognizedException {
|
||||
if (dateString == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
//SE SONO PIU' DI 10 caratteri allora c'è anche l'ora
|
||||
|
||||
SimpleDateFormat format = null;
|
||||
char dateSeparator;
|
||||
|
||||
String onlyDateSubstring = dateString.substring(0, 10);
|
||||
@ -85,16 +128,12 @@ public class UtilityDate {
|
||||
|
||||
String timeFormatString = "HH" + timeSeparator + "mm" + timeSeparator + "ss";
|
||||
|
||||
format = new SimpleDateFormat(dateFormatString + " " + timeFormatString);
|
||||
return dateFormatString + " " + timeFormatString;
|
||||
|
||||
|
||||
} else {
|
||||
format = new SimpleDateFormat(dateFormatString);
|
||||
return dateFormatString;
|
||||
}
|
||||
|
||||
//format.setTimeZone(TimeZone.getTimeZone("GMT"));
|
||||
|
||||
return format.parse(dateString);
|
||||
}
|
||||
|
||||
|
||||
@ -170,27 +209,27 @@ public class UtilityDate {
|
||||
}
|
||||
|
||||
public static LocalDate toLocalDate(Date dateToConvert) {
|
||||
return dateToConvert.toInstant()
|
||||
return dateToConvert != null ? dateToConvert.toInstant()
|
||||
.atZone(currentZone)
|
||||
.toLocalDate();
|
||||
.toLocalDate() : null;
|
||||
}
|
||||
|
||||
public static LocalDateTime toLocalDateTime(Date dateToConvert) {
|
||||
return dateToConvert.toInstant()
|
||||
return dateToConvert != null ? dateToConvert.toInstant()
|
||||
.atZone(currentZone)
|
||||
.toLocalDateTime();
|
||||
.toLocalDateTime() : null;
|
||||
}
|
||||
|
||||
public static Date toDate(LocalDate dateToConvert) {
|
||||
return Date.from(dateToConvert.atStartOfDay()
|
||||
return dateToConvert != null ? Date.from(dateToConvert.atStartOfDay()
|
||||
.atZone(currentZone)
|
||||
.toInstant());
|
||||
.toInstant()) : null;
|
||||
}
|
||||
|
||||
public static Date toDateTime(LocalDateTime dateToConvert) {
|
||||
return Date.from(dateToConvert
|
||||
return dateToConvert != null ? Date.from(dateToConvert
|
||||
.atZone(currentZone)
|
||||
.toInstant());
|
||||
.toInstant()) : null;
|
||||
}
|
||||
|
||||
|
||||
@ -206,6 +245,12 @@ public class UtilityDate {
|
||||
.toLocalDateTime();
|
||||
}
|
||||
|
||||
public static LocalDate millisTimeToLocalDate(long time, @Nullable String timezone) {
|
||||
return Instant.ofEpochMilli(time)
|
||||
.atZone(timezone == null ? currentZone : ZoneId.of(timezone))
|
||||
.toLocalDate();
|
||||
}
|
||||
|
||||
public static LocalDate timeToLocalDate(long time, @Nullable String timezone) {
|
||||
return Instant.ofEpochSecond(time)
|
||||
.atZone(timezone == null ? currentZone : ZoneId.of(timezone))
|
||||
@ -229,5 +274,9 @@ public class UtilityDate {
|
||||
return TimeUnit.DAYS.toSeconds(localDate.toEpochDay());
|
||||
}
|
||||
|
||||
public static long localDateToMillisTime(LocalDate localDate) {
|
||||
return TimeUnit.DAYS.toMillis(localDate.toEpochDay());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco;
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco;
|
||||
|
||||
import dagger.Subcomponent;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco;
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
@ -26,10 +26,11 @@ import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneBollaBinding;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.ui.MainAccettazioneBolleElencoAdapter;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.ui.MainAccettazioneBolleElencoListModel;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.ui.MainAccettazioneBolleElencoAdapter;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.ui.MainAccettazioneBolleElencoListModel;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.AccettazioneBollaPickingActivity;
|
||||
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
||||
|
||||
public class MainAccettazioneBollaElencoFragment extends BaseFragment implements ITitledFragment, IScrollableFragment, MainAccettazioneBollaElencoViewModel.Listener {
|
||||
@ -63,7 +64,7 @@ public class MainAccettazioneBollaElencoFragment extends BaseFragment implements
|
||||
@Override
|
||||
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
|
||||
mAppBarTitle = titleText;
|
||||
mAppBarTitle.setText(context.getText(R.string.accettazione_title_fragment).toString());
|
||||
mAppBarTitle.setText(context.getText(R.string.accettazione_ordine_title_fragment).toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -213,6 +214,6 @@ public class MainAccettazioneBollaElencoFragment extends BaseFragment implements
|
||||
|
||||
@Override
|
||||
public void onPickingReady(List<TestataBollaAccettazioneDTO> bolle, List<SitBollaAccettazioneDTO> sitArts) {
|
||||
|
||||
AccettazioneBollaPickingActivity.startActivity(requireContext(), bolle, sitArts);
|
||||
}
|
||||
}
|
||||
@ -1,8 +1,8 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco;
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.BolleAccettazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.BolleAccettazioneRESTConsumer;
|
||||
|
||||
@Module(subcomponents = {MainAccettazioneBollaElencoComponent.class})
|
||||
public class MainAccettazioneBollaElencoModule {
|
||||
@ -1,4 +1,4 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco;
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco;
|
||||
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
@ -7,9 +7,9 @@ import java.util.List;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.BolleAccettazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.BolleAccettazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
|
||||
|
||||
public class MainAccettazioneBollaElencoViewModel {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest;
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -8,11 +8,11 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.RetrieveElencoArticoliAccettazioneBollaRequestDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.RetrieveElencoArticoliAccettazioneBollaResponseDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.RetrieveElencoBolleAccettazioneResponseDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.RetrieveElencoArticoliAccettazioneBollaRequestDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.RetrieveElencoArticoliAccettazioneBollaResponseDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.RetrieveElencoBolleAccettazioneResponseDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
import retrofit2.Response;
|
||||
@ -1,9 +1,9 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest;
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest;
|
||||
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.RetrieveElencoArticoliAccettazioneBollaRequestDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.RetrieveElencoArticoliAccettazioneBollaResponseDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.RetrieveElencoBolleAccettazioneResponseDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.RetrieveElencoArticoliAccettazioneBollaRequestDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.RetrieveElencoArticoliAccettazioneBollaResponseDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.RetrieveElencoBolleAccettazioneResponseDTO;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.Body;
|
||||
import retrofit2.http.GET;
|
||||
@ -1,4 +1,4 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto;
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto;
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto;
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto;
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
@ -10,10 +10,16 @@ public class SitBollaAccettazioneDTO {
|
||||
private String serDoc;
|
||||
private String codDtip;
|
||||
private String codMart;
|
||||
private BigDecimal qtaDoc;
|
||||
private String codArtFor;
|
||||
private String partitaMag;
|
||||
|
||||
private BigDecimal qtaDoc;
|
||||
private BigDecimal qtaCnfDoc;
|
||||
private BigDecimal numCnfDoc;
|
||||
private BigDecimal qtaAccettata;
|
||||
private BigDecimal numCnfAccettata;
|
||||
private BigDecimal qtaDaAccettare;
|
||||
private BigDecimal numCnfDaAccettare;
|
||||
|
||||
public int getNumDoc() {
|
||||
return numDoc;
|
||||
@ -60,12 +66,12 @@ public class SitBollaAccettazioneDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaDoc() {
|
||||
return qtaDoc;
|
||||
public String getCodArtFor() {
|
||||
return codArtFor;
|
||||
}
|
||||
|
||||
public SitBollaAccettazioneDTO setQtaDoc(BigDecimal qtaDoc) {
|
||||
this.qtaDoc = qtaDoc;
|
||||
public SitBollaAccettazioneDTO setCodArtFor(String codArtFor) {
|
||||
this.codArtFor = codArtFor;
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -78,6 +84,33 @@ public class SitBollaAccettazioneDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaDoc() {
|
||||
return qtaDoc;
|
||||
}
|
||||
|
||||
public SitBollaAccettazioneDTO setQtaDoc(BigDecimal qtaDoc) {
|
||||
this.qtaDoc = qtaDoc;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaCnfDoc() {
|
||||
return qtaCnfDoc;
|
||||
}
|
||||
|
||||
public SitBollaAccettazioneDTO setQtaCnfDoc(BigDecimal qtaCnfDoc) {
|
||||
this.qtaCnfDoc = qtaCnfDoc;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getNumCnfDoc() {
|
||||
return numCnfDoc;
|
||||
}
|
||||
|
||||
public SitBollaAccettazioneDTO setNumCnfDoc(BigDecimal numCnfDoc) {
|
||||
this.numCnfDoc = numCnfDoc;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaAccettata() {
|
||||
return qtaAccettata;
|
||||
}
|
||||
@ -87,6 +120,15 @@ public class SitBollaAccettazioneDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getNumCnfAccettata() {
|
||||
return numCnfAccettata;
|
||||
}
|
||||
|
||||
public SitBollaAccettazioneDTO setNumCnfAccettata(BigDecimal numCnfAccettata) {
|
||||
this.numCnfAccettata = numCnfAccettata;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaDaAccettare() {
|
||||
return qtaDaAccettare;
|
||||
}
|
||||
@ -95,4 +137,13 @@ public class SitBollaAccettazioneDTO {
|
||||
this.qtaDaAccettare = qtaDaAccettare;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getNumCnfDaAccettare() {
|
||||
return numCnfDaAccettare;
|
||||
}
|
||||
|
||||
public SitBollaAccettazioneDTO setNumCnfDaAccettare(BigDecimal numCnfDaAccettare) {
|
||||
this.numCnfDaAccettare = numCnfDaAccettare;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto;
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco.ui;
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.ui;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.Html;
|
||||
@ -1,9 +1,9 @@
|
||||
package it.integry.integrywmsnative.gest.accettazone_bolla_elenco.ui;
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_elenco.ui;
|
||||
|
||||
import androidx.annotation.ColorInt;
|
||||
|
||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||
import it.integry.integrywmsnative.gest.accettazone_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
|
||||
|
||||
public class MainAccettazioneBolleElencoListModel implements Cloneable {
|
||||
private String groupTitle;
|
||||
@ -0,0 +1,555 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_picking;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.text.SpannableString;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.databinding.ObservableArrayList;
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import com.annimon.stream.ComparatorCompat;
|
||||
import com.annimon.stream.Stream;
|
||||
import com.tfb.fbtoast.FBToast;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||
import it.integry.integrywmsnative.MainApplication;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||
import it.integry.integrywmsnative.core.data_cache.DataCache;
|
||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseActivity;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.core.report.ReportManager;
|
||||
import it.integry.integrywmsnative.core.rest.model.VersamentoAutomaticoULResponseDTO;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityToast;
|
||||
import it.integry.integrywmsnative.databinding.ActivityAccettazioneBollaPickingBinding;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.AccettazioneBollaPickingOrderBy;
|
||||
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.PickingObjectDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.ui.AccettazioneBollaPickingListAdapter;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.ui.AccettazioneBollaPickingListModel;
|
||||
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
|
||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
|
||||
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView;
|
||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_should_versamento_automatico_ul.DialogAskShouldVersamentoAutomaticoULView;
|
||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||
import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.DialogInfoAggiuntiveLU;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
||||
import it.integry.integrywmsnative.view.dialogs.versamento_automatico_ul_done.DialogVersamentoAutomaticoULDoneView;
|
||||
|
||||
public class AccettazioneBollaPickingActivity extends BaseActivity implements AccettazioneBollaPickingViewModel.Listener, BottomSheetFragmentLUContentViewModel.Listener, BottomSheetFragmentLUContentView.Listener {
|
||||
|
||||
|
||||
@Inject
|
||||
AccettazioneBollaPickingViewModel mViewModel;
|
||||
|
||||
@Inject
|
||||
DialogInputQuantityV2View mDialogInputQuantityV2View;
|
||||
|
||||
private ActivityAccettazioneBollaPickingBinding mBindings;
|
||||
|
||||
private BottomSheetFragmentLUContentViewModel mBottomSheetFragmentLUContentViewModel;
|
||||
|
||||
|
||||
private final ObservableArrayList<AccettazioneBollaPickingListModel> mAccettazioneMutableData = new ObservableArrayList<>();
|
||||
|
||||
public BindableBoolean noItemsToPick = new BindableBoolean(false);
|
||||
public BindableBoolean noLUPresent = new BindableBoolean(true);
|
||||
public BindableBoolean bottomSheetEnabled = new BindableBoolean(false);
|
||||
|
||||
private int barcodeScannerIstanceID = -1;
|
||||
private boolean mShowSecondaryUntMis = true;
|
||||
private boolean mShouldCloseActivity;
|
||||
private AccettazioneBollaPickingOrderBy.Enum mCurrentOrderBy;
|
||||
|
||||
private final int PICK_UL_REQUEST = 1;
|
||||
|
||||
private List<TestataBollaAccettazioneDTO> testataBolle;
|
||||
private List<SitBollaAccettazioneDTO> sitArts;
|
||||
|
||||
//Pass here all external parameters
|
||||
public static void startActivity(Context context, List<TestataBollaAccettazioneDTO> testataBolle, List<SitBollaAccettazioneDTO> sitArts) {
|
||||
Intent myIntent = new Intent(context, AccettazioneBollaPickingActivity.class);
|
||||
|
||||
String keyBolle = DataCache.addItem(testataBolle);
|
||||
myIntent.putExtra("keyBolle", keyBolle);
|
||||
|
||||
String keySitArts = DataCache.addItem(sitArts);
|
||||
myIntent.putExtra("keySitArts", keySitArts);
|
||||
|
||||
context.startActivity(myIntent);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
testataBolle = DataCache.retrieveItem(getIntent().getStringExtra("keyBolle"));
|
||||
sitArts = DataCache.retrieveItem(getIntent().getStringExtra("keySitArts"));
|
||||
|
||||
mBindings = ActivityAccettazioneBollaPickingBinding.inflate(getLayoutInflater());
|
||||
mBindings.setLifecycleOwner(this);
|
||||
mBindings.setAccettazioneView(this);
|
||||
|
||||
setContentView(mBindings.getRoot());
|
||||
|
||||
MainApplication.appComponent
|
||||
.accettazioneBollaPickingComponent()
|
||||
.create()
|
||||
.inject(this);
|
||||
|
||||
|
||||
setSupportActionBar(mBindings.toolbar);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
mBottomSheetFragmentLUContentViewModel = mBindings.bottomSheetLuContent.getViewModelInstance();
|
||||
mBindings.bottomSheetLuContent.setListener(this);
|
||||
mBottomSheetFragmentLUContentViewModel.setListener(this);
|
||||
|
||||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
mShowSecondaryUntMis = sharedPreferences.getBoolean("picking_ingresso_enable_sec_unt_mis", true);
|
||||
|
||||
this.initVars();
|
||||
this.initBarcodeReader();
|
||||
this.initRecyclerView();
|
||||
// this.initFilters();
|
||||
|
||||
boolean useQtaOrd = SettingsManager.iDB().isFlagAccettazioneUseQtaOrd();
|
||||
|
||||
mViewModel.setListeners(this);
|
||||
mViewModel.init(
|
||||
testataBolle,
|
||||
sitArts,
|
||||
useQtaOrd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onSupportNavigateUp() {
|
||||
onBackPressed();
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
if (this.mBindings.bottomSheetLuContent.isExpanded()) {
|
||||
this.mBindings.bottomSheetLuContent.collapse();
|
||||
} else if (!noLUPresent.get()) {
|
||||
this.mShouldCloseActivity = true;
|
||||
BarcodeManager.removeCallback(barcodeScannerIstanceID);
|
||||
this.mViewModel.closeLU();
|
||||
} else {
|
||||
BarcodeManager.removeCallback(barcodeScannerIstanceID);
|
||||
super.onBackPressed();
|
||||
}
|
||||
}
|
||||
|
||||
private void initVars() {
|
||||
this.noLUPresent.addOnPropertyChangedCallback(() -> {
|
||||
this.bottomSheetEnabled.set(!this.noLUPresent.get());
|
||||
});
|
||||
|
||||
mCurrentOrderBy = AccettazioneBollaPickingOrderBy.Enum.fromInt(SettingsManager.i().getUserSession().getDefaultOrdinamentoPickingAccettazioneBolle());
|
||||
}
|
||||
|
||||
private void initBarcodeReader() {
|
||||
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||
.setOnScanSuccessful(onScanSuccessful)
|
||||
.setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false)));
|
||||
}
|
||||
|
||||
private void initRecyclerView() {
|
||||
AccettazioneBollaPickingListAdapter adapter = new AccettazioneBollaPickingListAdapter(this, mAccettazioneMutableData, mShowSecondaryUntMis);
|
||||
this.mBindings.accettazionePickingList.setAdapter(adapter);
|
||||
|
||||
this.mViewModel.getPickingList().observe(this, updatedData -> {
|
||||
// mAppliedFilterViewModel.init(updatedData);
|
||||
|
||||
refreshList();
|
||||
});
|
||||
|
||||
adapter.setOnItemClicked(clickedItem -> {
|
||||
this.mViewModel.dispatchOrdineRow(clickedItem);
|
||||
});
|
||||
}
|
||||
|
||||
private void refreshList() {
|
||||
|
||||
runOnUiThread(() -> {
|
||||
List<PickingObjectDTO> tmpList;
|
||||
|
||||
// if (mAppliedFilterViewModel != null) {
|
||||
// mAppliedFilterViewModel.applyAllTests();
|
||||
// tmpList = mAppliedFilterViewModel.getMutableFilteredOrderList().getValue();
|
||||
// } else {
|
||||
tmpList = mViewModel.getPickingList().getValue();
|
||||
// }
|
||||
//
|
||||
var list = convertDataModelToListModel(tmpList);
|
||||
|
||||
this.mAccettazioneMutableData.clear();
|
||||
this.mAccettazioneMutableData.addAll(list);
|
||||
this.noItemsToPick.set(!isThereAnyItemToPick(tmpList));
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
private boolean isThereAnyItemToPick(List<PickingObjectDTO> dataList) {
|
||||
return Stream.of(dataList)
|
||||
.anyMatch(x -> !x.isHidden());
|
||||
}
|
||||
|
||||
private List<AccettazioneBollaPickingListModel> convertDataModelToListModel(List<PickingObjectDTO> dataList) {
|
||||
List<PickingObjectDTO> tmpList = Stream.of(dataList)
|
||||
.filter(x -> !x.isHidden() && UtilityBigDecimal.greaterThan(x.getSitBollaAccettazione().getQtaDaAccettare(), BigDecimal.ZERO))
|
||||
.toList();
|
||||
|
||||
return switch (mCurrentOrderBy) {
|
||||
case COD_ART_FOR -> convertDataModelToListModel__NormalView(
|
||||
tmpList,
|
||||
ComparatorCompat
|
||||
.comparing(x -> x.getSitBollaAccettazione().getCodArtFor()));
|
||||
case DESCR_ART -> //convertDataModelToListModel__DescrArt(tmpList);
|
||||
new ArrayList<>();
|
||||
};
|
||||
}
|
||||
|
||||
private List<AccettazioneBollaPickingListModel> convertDataModelToListModel__NormalView(List<PickingObjectDTO> dataList, ComparatorCompat<PickingObjectDTO> comparator) {
|
||||
ArrayList<AccettazioneBollaPickingListModel> list = new ArrayList<>();
|
||||
Stream.of(dataList)
|
||||
.sorted(comparator)
|
||||
.forEach(x -> {
|
||||
AccettazioneBollaPickingListModel accettazioneBollaPickingListModel = new AccettazioneBollaPickingListModel();
|
||||
accettazioneBollaPickingListModel.setActive(true);
|
||||
|
||||
accettazioneBollaPickingListModel.setTitolo(x.getMtbAart().getCodMart());
|
||||
|
||||
accettazioneBollaPickingListModel.setBadge2Icon(R.drawable.ic_document_outline);
|
||||
accettazioneBollaPickingListModel.setBadge2(x.getSitBollaAccettazione().getNumDoc() + " del " + UtilityDate.formatDate(x.getSitBollaAccettazione().getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
||||
|
||||
accettazioneBollaPickingListModel.setDescrizione(x.getMtbAart().getDescrizione());
|
||||
|
||||
//Calc Num CNF
|
||||
BigDecimal numCnfEvasa = BigDecimal.ZERO;
|
||||
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
numCnfEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||
.map(MtbColr::getNumCnf)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
|
||||
//Calc qta col
|
||||
BigDecimal qtaEvasa = BigDecimal.ZERO;
|
||||
|
||||
if (x.getWithdrawMtbColrs().size() > 0) {
|
||||
qtaEvasa = Stream.of(x.getWithdrawMtbColrs())
|
||||
.map(MtbColr::getQtaCol)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
|
||||
|
||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (x.getMtbAart() == null || !x.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||
accettazioneBollaPickingListModel.setQtaEvasa(numCnfEvasa);
|
||||
accettazioneBollaPickingListModel.setQtaTot(x.getSitBollaAccettazione().getNumCnfDaAccettare());
|
||||
accettazioneBollaPickingListModel.setUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
|
||||
accettazioneBollaPickingListModel.setSecQtaEvasa(qtaEvasa);
|
||||
accettazioneBollaPickingListModel.setSecQtaTot(x.getSitBollaAccettazione().getQtaDaAccettare());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneBollaPickingListModel.setSecUntMis(x.getMtbAart().getUntMis());
|
||||
} else {
|
||||
accettazioneBollaPickingListModel.setQtaEvasa(qtaEvasa);
|
||||
accettazioneBollaPickingListModel.setQtaTot(x.getSitBollaAccettazione().getQtaDaAccettare());
|
||||
if (x.getMtbAart() != null)
|
||||
accettazioneBollaPickingListModel.setUntMis(x.getMtbAart().getUntMis());
|
||||
|
||||
accettazioneBollaPickingListModel.setSecQtaEvasa(numCnfEvasa);
|
||||
accettazioneBollaPickingListModel.setSecQtaTot(x.getSitBollaAccettazione().getNumCnfDaAccettare());
|
||||
accettazioneBollaPickingListModel.setSecUntMis(UtilityResources.getString(R.string.unt_mis_col));
|
||||
}
|
||||
|
||||
accettazioneBollaPickingListModel.setOriginalModel(x);
|
||||
|
||||
list.add(accettazioneBollaPickingListModel);
|
||||
});
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
|
||||
this.onLoadingStarted();
|
||||
|
||||
this.mViewModel.processBarcodeDTO(data, this::onLoadingEnded);
|
||||
};
|
||||
|
||||
public void createNewLU() {
|
||||
this.mBindings.accettazioneOrdineInevasoFab.close(true);
|
||||
this.onLoadingStarted();
|
||||
|
||||
this.mViewModel.createNewLU(null, null, false, this::onLoadingEnded);
|
||||
}
|
||||
|
||||
public void showCreatedUL() {
|
||||
this.mBindings.accettazioneOrdineInevasoFab.close(true);
|
||||
|
||||
this.mViewModel.retrieveExistentLU(this::startListaBancaliRegistratiActivity);
|
||||
}
|
||||
|
||||
private void showOrderByDialog() {
|
||||
AlertDialog dialog = new AlertDialog.Builder(this)
|
||||
.setTitle(this.getText(R.string.action_orderBy))
|
||||
.setSingleChoiceItems(AccettazioneBollaPickingOrderBy.descriptions, mCurrentOrderBy.getVal(), (dialog12, which) -> {
|
||||
mCurrentOrderBy = AccettazioneBollaPickingOrderBy.Enum.fromInt(which);
|
||||
SettingsManager.i().getUserSession().setDefaultOrdinamentoPickingAccettazione(which);
|
||||
})
|
||||
.setPositiveButton(getText(R.string.ok), (dialog1, which) -> this.refreshList())
|
||||
.create();
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
public void startListaBancaliRegistratiActivity(List<AlreadyRegisteredUDCDTO> mtbColts) {
|
||||
|
||||
Intent myIntent = ListaBancaliActivity.createIntent(this,
|
||||
|
||||
Stream.of(mtbColts)
|
||||
.map(AlreadyRegisteredUDCDTO::getMtbColt)
|
||||
.toList(),
|
||||
|
||||
input -> Stream.of(mtbColts)
|
||||
.filter(x -> x.getMtbColt() == input)
|
||||
.findFirstOrElse(null)
|
||||
.isCanBeRecovered(),
|
||||
|
||||
ReportManager.getReportNameLUFromGestione(GestioneEnum.ACQUISTO));
|
||||
|
||||
this.startActivityForResult(myIntent, PICK_UL_REQUEST);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMtbColrDeleteRequest(RunnableArgs<Boolean> onComplete) {
|
||||
runOnUiThread(() -> {
|
||||
String text = getResources().getString(R.string.alert_delete_mtb_colr);
|
||||
DialogSimpleMessageView.makeWarningDialog(new SpannableString(text),
|
||||
null,
|
||||
() -> onComplete.run(true),
|
||||
() -> onComplete.run(false)
|
||||
).show(getSupportFragmentManager(), "tag");
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLUOpened(MtbColt mtbColt) {
|
||||
runOnUiThread(() -> {
|
||||
noLUPresent.set(false);
|
||||
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
|
||||
|
||||
this.mBottomSheetFragmentLUContentViewModel.setMtbColt(mtbColt);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLUClosed() {
|
||||
runOnUiThread(() -> {
|
||||
noLUPresent.set(true);
|
||||
this.mBottomSheetFragmentLUContentViewModel.setMtbColt(null);
|
||||
|
||||
if (this.mShouldCloseActivity) super.onBackPressed();
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRowSaved() {
|
||||
runOnUiThread(() -> {
|
||||
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLUSuccessullyPrinted() {
|
||||
Resources res = getResources();
|
||||
String errorMessage = res.getText(R.string.alert_print_completed_message).toString();
|
||||
DialogSimpleMessageView
|
||||
.makeSuccessDialog(res.getText(R.string.completed).toString(), new SpannableString(errorMessage), null, null)
|
||||
.show(getSupportFragmentManager(), "tag");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLUPrintRequest(RunnableArgs<Boolean> onComplete) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLUPrintError(Exception ex, Runnable onComplete) {
|
||||
this.onLoadingEnded();
|
||||
DialogSimpleMessageView.makeErrorDialog(
|
||||
new SpannableString(ex.getMessage()),
|
||||
null,
|
||||
null,
|
||||
R.string.button_ignore_print,
|
||||
onComplete)
|
||||
.show(getSupportFragmentManager(), "tag");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMtbColrEdit(MtbColr mtbColr) {
|
||||
this.mViewModel.dispatchRowEdit(mtbColr);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMtbColrDelete(MtbColr mtbColr) {
|
||||
this.mViewModel.deleteRow(mtbColr);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBottomSheetLUClose() {
|
||||
this.mViewModel.closeLU();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onVersamentoAutomaticoULRequest(RunnableArgs<Boolean> onComplete) {
|
||||
runOnUiThread(() -> {
|
||||
DialogAskShouldVersamentoAutomaticoULView.newInstance(onComplete)
|
||||
.show(getSupportFragmentManager(), "tag");
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInfoAggiuntiveRequest(RunnableArgss<String, MtbTCol> onComplete) {
|
||||
runOnUiThread(() -> {
|
||||
DialogInfoAggiuntiveLU.newInstance(onComplete).show(getSupportFragmentManager(), "InfoAggiuntiveLUDialog");
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Exception ex) {
|
||||
this.onLoadingEnded();
|
||||
|
||||
if (ex instanceof InvalidPesoKGException) {
|
||||
UtilityToast.showToast(ex.getMessage());
|
||||
} else {
|
||||
UtilityExceptions.defaultException(this, ex);
|
||||
}
|
||||
|
||||
BarcodeManager.enable();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal
|
||||
initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal
|
||||
totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal
|
||||
totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal
|
||||
totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String
|
||||
partitaMag, LocalDate dataScad, boolean canPartitaMagBeChanged,
|
||||
boolean canOverflowQuantity, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
|
||||
.setMtbAart(mtbAart)
|
||||
.setInitialNumCnf(initialNumCnf)
|
||||
.setInitialQtaCnf(initialQtaCnf)
|
||||
.setInitialQtaTot(initialQtaTot)
|
||||
.setTotalQtaOrd(totalQtaOrd)
|
||||
.setTotalNumCnfOrd(totalNumCnfOrd)
|
||||
.setQtaCnfOrd(qtaCnfOrd)
|
||||
.setTotalQtaToBeTaken(totalQtaToBeTaken)
|
||||
.setTotalNumCnfToBeTaken(totalNumCnfToBeTaken)
|
||||
.setQtaCnfToBeTaken(qtaCnfToBeTaken)
|
||||
.setTotalQtaAvailable(totalQtaAvailable)
|
||||
.setTotalNumCnfAvailable(totalNumCnfAvailable)
|
||||
.setQtaCnfAvailable(qtaCnfAvailable)
|
||||
.setPartitaMag(partitaMag)
|
||||
.setDataScad(dataScad)
|
||||
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
||||
.setCanLUBeClosed(true)
|
||||
.setCanOverflowOrderQuantity(canOverflowQuantity);
|
||||
|
||||
if (!mDialogInputQuantityV2View.isVisible())
|
||||
mDialogInputQuantityV2View
|
||||
.setDialogInputQuantityV2DTO(dialogInputQuantityV2DTO)
|
||||
.setOnComplete((resultDTO, shouldCloseLU) -> {
|
||||
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
||||
.setNumCnf(resultDTO.getNumCnf())
|
||||
.setQtaCnf(resultDTO.getQtaCnf())
|
||||
.setQtaTot(resultDTO.getQtaTot())
|
||||
.setPartitaMag(resultDTO.getPartitaMag())
|
||||
.setDataScad(resultDTO.getDataScad());
|
||||
onComplete.run(pickedQuantityDTO, shouldCloseLU);
|
||||
})
|
||||
.setOnAbort(() -> this.mViewModel.resetMatchedRows())
|
||||
.show(getSupportFragmentManager(), "tag");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFilterCodMartApplied(String codMartToFilter) {
|
||||
runOnUiThread(() -> {
|
||||
var codMarts = new ArrayList<String>();
|
||||
codMarts.add(codMartToFilter);
|
||||
|
||||
// this.mAppliedFilterViewModel.setCodArtFilter(codMarts);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFilterPosizioneApplied(String posizioneToFilter) {
|
||||
runOnUiThread(() -> {
|
||||
var posizioni = new ArrayList<String>();
|
||||
posizioni.add(posizioneToFilter);
|
||||
|
||||
// this.mAppliedFilterViewModel.setPosFilter(posizioni);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onULVersata(VersamentoAutomaticoULResponseDTO
|
||||
versamentoAutomaticoULResponseDTO, Runnable onComplete) {
|
||||
|
||||
runOnUiThread(() -> {
|
||||
DialogVersamentoAutomaticoULDoneView
|
||||
.newInstance(versamentoAutomaticoULResponseDTO, onComplete)
|
||||
.show(getSupportFragmentManager(), "tag");
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
|
||||
// Check which request we're responding to
|
||||
if (requestCode == PICK_UL_REQUEST) {
|
||||
|
||||
// Make sure the request was successful
|
||||
if (resultCode == RESULT_OK) {
|
||||
MtbColt recoveredMtbColt = DataCache.retrieveItem(data.getStringExtra("key"));
|
||||
this.mViewModel.recoverLU(recoveredMtbColt);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_picking;
|
||||
|
||||
import dagger.Subcomponent;
|
||||
|
||||
@Subcomponent
|
||||
public interface AccettazioneBollaPickingComponent {
|
||||
|
||||
@Subcomponent.Factory
|
||||
interface Factory {
|
||||
AccettazioneBollaPickingComponent create();
|
||||
}
|
||||
|
||||
void inject(AccettazioneBollaPickingActivity AccettazioneBollaPickingActivity);
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_picking;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.rest.AccettazioneBollaPickingRESTConsumer;
|
||||
|
||||
@Module(subcomponents = AccettazioneBollaPickingComponent.class)
|
||||
public class AccettazioneBollaPickingModule {
|
||||
|
||||
@Provides
|
||||
AccettazioneBollaPickingViewModel providesAccettazioneBollaPickingViewModel(ArticoloRESTConsumer articoloRESTConsumer,
|
||||
BarcodeRESTConsumer barcodeRESTConsumer,
|
||||
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
|
||||
PrinterRESTConsumer printerRESTConsumer,
|
||||
AccettazioneBollaPickingRESTConsumer accettazioneBollaPickingRESTConsumer,
|
||||
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
|
||||
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer) {
|
||||
return new AccettazioneBollaPickingViewModel(articoloRESTConsumer,
|
||||
barcodeRESTConsumer,
|
||||
colliMagazzinoRESTConsumer,
|
||||
printerRESTConsumer,
|
||||
accettazioneBollaPickingRESTConsumer,
|
||||
colliAccettazioneRESTConsumer,
|
||||
colliLavorazioneRESTConsumer);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,935 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_picking;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.databinding.ObservableArrayList;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
import com.annimon.stream.Optional;
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||
import it.integry.integrywmsnative.core.CommonConst;
|
||||
import it.integry.integrywmsnative.core.exception.AlreadyUsedAnonymousLabelException;
|
||||
import it.integry.integrywmsnative.core.exception.LUScanNotGrantedException;
|
||||
import it.integry.integrywmsnative.core.exception.NoArtsFoundException;
|
||||
import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException;
|
||||
import it.integry.integrywmsnative.core.expansion.AtomicBigDecimal;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
||||
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILUBaseOperationsListener;
|
||||
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILUPrintListener;
|
||||
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
import it.integry.integrywmsnative.core.model.MtbTCol;
|
||||
import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.interfaces.ColliCaricoRESTConsumerInterface;
|
||||
import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
|
||||
import it.integry.integrywmsnative.core.rest.model.VersamentoAutomaticoULResponseDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.udc.CloseUDCRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.udc.CreateUDCRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.udc.DeleteUDCRowRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.udc.EditUDCRowRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.DeleteULRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.InsertUDCRowRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.PrintULRequestDTO;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.PickingObjectDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.rest.AccettazioneBollaPickingRESTConsumer;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.HistoryMtbAartDTO;
|
||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
|
||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.NotCurrentYearLUException;
|
||||
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
||||
|
||||
public class AccettazioneBollaPickingViewModel {
|
||||
|
||||
|
||||
|
||||
private final ArticoloRESTConsumer mArticoloRESTConsumer;
|
||||
private final BarcodeRESTConsumer mBarcodeRESTConsumer;
|
||||
private final ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer;
|
||||
private final PrinterRESTConsumer mPrinterRESTConsumer;
|
||||
private final AccettazioneBollaPickingRESTConsumer mAccettazioneBollaPickingRESTConsumer;
|
||||
private final ColliAccettazioneRESTConsumer mColliAccettazioneRESTConsumer;
|
||||
private final ColliLavorazioneRESTConsumer mColliLavorazioneRESTConsumer;
|
||||
|
||||
|
||||
|
||||
private ColliCaricoRESTConsumerInterface mColliCaricoRESTConsumer;
|
||||
|
||||
|
||||
|
||||
|
||||
private Listener mListener;
|
||||
|
||||
private List<TestataBollaAccettazioneDTO> mBolle;
|
||||
private boolean mUseQtaBolla;
|
||||
private final MutableLiveData<List<PickingObjectDTO>> mPickingList = new MutableLiveData<>();
|
||||
|
||||
private MtbColt mCurrentMtbColt = null;
|
||||
private GestioneEnum defaultGestioneOfUL = null;
|
||||
|
||||
private final List<HistoryMtbAartDTO> mHistoryUsedAarts = new ArrayList<>();
|
||||
|
||||
@Inject
|
||||
public AccettazioneBollaPickingViewModel(ArticoloRESTConsumer articoloRESTConsumer,
|
||||
BarcodeRESTConsumer barcodeRESTConsumer,
|
||||
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
|
||||
PrinterRESTConsumer printerRESTConsumer,
|
||||
AccettazioneBollaPickingRESTConsumer accettazioneBollaPickingRESTConsumer,
|
||||
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
|
||||
ColliLavorazioneRESTConsumer colliLavorazioneRESTConsumer) {
|
||||
this.mArticoloRESTConsumer = articoloRESTConsumer;
|
||||
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
|
||||
this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer;
|
||||
this.mPrinterRESTConsumer = printerRESTConsumer;
|
||||
this.mAccettazioneBollaPickingRESTConsumer = accettazioneBollaPickingRESTConsumer;
|
||||
this.mColliAccettazioneRESTConsumer = colliAccettazioneRESTConsumer;
|
||||
this.mColliLavorazioneRESTConsumer = colliLavorazioneRESTConsumer;
|
||||
}
|
||||
|
||||
public void init(List<TestataBollaAccettazioneDTO> orders, List<SitBollaAccettazioneDTO> sitArts, boolean useQtaOrd) {
|
||||
this.mBolle = orders;
|
||||
this.mUseQtaBolla = useQtaOrd;
|
||||
|
||||
List<SitBollaAccettazioneDTO> mSitArts = Stream.of(sitArts)
|
||||
.filter(x ->
|
||||
UtilityBigDecimal.greaterThan(x.getQtaDaAccettare(), BigDecimal.ZERO))
|
||||
.toList();
|
||||
|
||||
getEmptyPickingList(mSitArts, this.mPickingList::postValue);
|
||||
|
||||
|
||||
defaultGestioneOfUL = GestioneEnum.ACQUISTO;
|
||||
|
||||
switch (defaultGestioneOfUL) {
|
||||
case ACQUISTO -> this.mColliCaricoRESTConsumer = mColliAccettazioneRESTConsumer;
|
||||
case LAVORAZIONE -> this.mColliCaricoRESTConsumer = mColliLavorazioneRESTConsumer;
|
||||
}
|
||||
}
|
||||
|
||||
private void getEmptyPickingList(List<SitBollaAccettazioneDTO> sitBolleList, RunnableArgs<List<PickingObjectDTO>> onComplete) {
|
||||
|
||||
List<String> codMarts = Stream.of(sitBolleList)
|
||||
.map(SitBollaAccettazioneDTO::getCodMart)
|
||||
.toList();
|
||||
|
||||
this.mArticoloRESTConsumer.getByCodMarts(codMarts, listMtbAarts -> {
|
||||
List<PickingObjectDTO> pickingList = Stream.of(sitBolleList)
|
||||
.map(sitBolla -> {
|
||||
MtbAart mtbAart = null;
|
||||
|
||||
for (MtbAart mtbAartItem : listMtbAarts) {
|
||||
if (mtbAartItem.getCodMart().equalsIgnoreCase(sitBolla.getCodMart())) {
|
||||
mtbAart = mtbAartItem;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return new PickingObjectDTO()
|
||||
.setSitBollaAccettazione(sitBolla)
|
||||
.setMtbAart(mtbAart);
|
||||
})
|
||||
.toList();
|
||||
|
||||
onComplete.run(pickingList);
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
public MutableLiveData<List<PickingObjectDTO>> getPickingList() {
|
||||
return mPickingList;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void retrieveExistentLU(RunnableArgs<List<AlreadyRegisteredUDCDTO>> onComplete) {
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
this.mAccettazioneBollaPickingRESTConsumer.retrieveAlreadyRegisteredUDC(this.mBolle, mtbColtList -> {
|
||||
this.sendOnLoadingEnded();
|
||||
onComplete.run(mtbColtList);
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
|
||||
public void recoverLU(MtbColt recoveredMtbColt) {
|
||||
this.mCurrentMtbColt = recoveredMtbColt;
|
||||
|
||||
this.resetMatchedRows();
|
||||
this.sendLUOpened(this.mCurrentMtbColt);
|
||||
}
|
||||
|
||||
|
||||
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
||||
//Se non c'è una UL aperta
|
||||
if (mCurrentMtbColt == null) {
|
||||
|
||||
//Se è un'etichetta anonima
|
||||
if (UtilityBarcode.isEtichettaAnonima(barcodeScanDTO)) {
|
||||
//Se il collo non esiste allora lo creo associandolo a questa etichetta anonima
|
||||
//invece se esiste apro un collo nuovo e cerco gli articoli presenti nell'ul
|
||||
//dell'etichetta anonima
|
||||
this.executeEtichettaAnonimaNotOpenedLU(barcodeScanDTO, onComplete);
|
||||
} else {
|
||||
this.processBarcodeNotOpenedLU(barcodeScanDTO, onComplete);
|
||||
}
|
||||
|
||||
} else {
|
||||
if (UtilityBarcode.isEtichettaAnonima(barcodeScanDTO)) {
|
||||
this.sendError(new LUScanNotGrantedException());
|
||||
} else {
|
||||
this.processBarcodeAlreadyOpenedLU(barcodeScanDTO, onComplete);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void executeEtichettaAnonimaNotOpenedLU(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
||||
mColliMagazzinoRESTConsumer.getBySSCC(barcodeScanDTO.getStringValue(), true, false, mtbColt -> {
|
||||
|
||||
if (mtbColt == null) {
|
||||
if (!UtilityBarcode.isEtichettaAnonimaOfCurrentYear(barcodeScanDTO.getStringValue())) {
|
||||
this.sendError(new NotCurrentYearLUException());
|
||||
} else {
|
||||
int numCollo = -1;
|
||||
|
||||
try {
|
||||
numCollo = UtilityBarcode.getNumColloFromULAnonima(barcodeScanDTO.getStringValue());
|
||||
this.createNewLU(
|
||||
numCollo,
|
||||
CommonConst.Config.DEFAULT_ANONYMOUS_UL_SERIE, true, onComplete);
|
||||
} catch (Exception ex) {
|
||||
this.sendError(ex);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.sendError(new AlreadyUsedAnonymousLabelException());
|
||||
}
|
||||
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
private void processBarcodeNotOpenedLU(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
||||
this.createNewLU(
|
||||
null,
|
||||
null,
|
||||
false,
|
||||
() -> processBarcodeAlreadyOpenedLU(barcodeScanDTO, onComplete));
|
||||
}
|
||||
|
||||
private void processBarcodeAlreadyOpenedLU(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
||||
|
||||
if (UtilityBarcode.isEanPeso(barcodeScanDTO)) {
|
||||
//Cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
|
||||
this.executeEtichettaEanPeso(barcodeScanDTO, onComplete);
|
||||
|
||||
|
||||
} else if (UtilityBarcode.isEtichettaPosizione(barcodeScanDTO)) {
|
||||
//Applico filtro per posizione
|
||||
this.executeEtichettaPosizione(barcodeScanDTO, onComplete);
|
||||
|
||||
} else if (UtilityBarcode.isEtichetta128(barcodeScanDTO)) {
|
||||
//Cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
|
||||
this.executeEtichettaEan128(barcodeScanDTO, onComplete);
|
||||
|
||||
|
||||
} else {
|
||||
this.loadArticolo(barcodeScanDTO.getStringValue(), null, onComplete);
|
||||
}
|
||||
}
|
||||
|
||||
private void executeEtichettaEanPeso(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
||||
try {
|
||||
Ean13PesoModel ean13PesoModel = Ean13PesoModel.fromBarcode(barcodeScanDTO.getStringValue());
|
||||
|
||||
this.loadArticolo(ean13PesoModel.getPrecode(), PickDataDTO.fromEan128(ean13PesoModel.toEan128()), onComplete);
|
||||
} catch (Exception ex) {
|
||||
this.sendError(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void executeEtichettaEan128(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
||||
mBarcodeRESTConsumer.decodeEan128(barcodeScanDTO, ean128Model -> {
|
||||
|
||||
String barcodeProd = null;
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(ean128Model.Sscc)) barcodeProd = ean128Model.Sscc;
|
||||
if (!UtilityString.isNullOrEmpty(ean128Model.Gtin)) barcodeProd = ean128Model.Gtin;
|
||||
if (!UtilityString.isNullOrEmpty(ean128Model.Content))
|
||||
barcodeProd = ean128Model.Content;
|
||||
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(barcodeProd)) {
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(ean128Model.Sscc)) {
|
||||
this.sendError(new LUScanNotGrantedException());
|
||||
} else {
|
||||
|
||||
PickDataDTO pickDataDTO = PickDataDTO.fromEan128(ean128Model);
|
||||
this.loadArticolo(barcodeProd, pickDataDTO, onComplete);
|
||||
}
|
||||
} else {
|
||||
//EAN 128 non completo o comunque mancano i riferimenti al prodotto
|
||||
onComplete.run();
|
||||
}
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
private void executeEtichettaPosizione(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
||||
|
||||
var optionalPos = Stream.of(SettingsManager.iDB().getAvailablePosizioni())
|
||||
.filter(x -> x.getPosizione().equalsIgnoreCase(barcodeScanDTO.getStringValue()))
|
||||
.findFirst();
|
||||
|
||||
this.sendFilterPosizioneApplied(optionalPos.get().getPosizione());
|
||||
onComplete.run();
|
||||
}
|
||||
|
||||
private void loadArticolo(String barcodeProd, PickDataDTO pickData, Runnable onComplete) {
|
||||
this.mArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
|
||||
|
||||
if (mtbAartList != null && mtbAartList.size() > 0) {
|
||||
this.searchArtFromAnag(mtbAartList.get(0), pickData, onComplete);
|
||||
} else {
|
||||
this.sendError(new NoResultFromBarcodeException(barcodeProd));
|
||||
}
|
||||
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
|
||||
private void searchArtFromAnag(MtbAart mtbAart, PickDataDTO pickData, Runnable onComplete) {
|
||||
final List<PickingObjectDTO> pickingList = mPickingList.getValue();
|
||||
|
||||
List<PickingObjectDTO> matchPickingObject = Stream.of(pickingList)
|
||||
.filter(x -> UtilityString.equalsIgnoreCase(mtbAart.getCodMart(), x.getSitBollaAccettazione().getCodMart()))
|
||||
.toList();
|
||||
|
||||
for (PickingObjectDTO pickingObjectDTO : matchPickingObject) {
|
||||
pickingObjectDTO.setTempPickData(pickData);
|
||||
}
|
||||
|
||||
this.loadMatchedRows(matchPickingObject);
|
||||
onComplete.run();
|
||||
}
|
||||
|
||||
private void loadMatchedRows(List<PickingObjectDTO> matchedRows) {
|
||||
if (matchedRows == null || matchedRows.size() == 0) {
|
||||
this.sendError(new NoArtsFoundException());
|
||||
} else if (matchedRows.size() == 1) {
|
||||
this.dispatchOrdineRow(matchedRows.get(0));
|
||||
} else {
|
||||
//So che il codMart sarà solo 1
|
||||
var firstCodMart = Stream.of(matchedRows)
|
||||
.map(x -> x.getSitBollaAccettazione().getCodMart())
|
||||
.distinct()
|
||||
.findFirst()
|
||||
.get();
|
||||
|
||||
this.sendFilterCodMartApplied(firstCodMart);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void createNewLU(Integer customNumCollo, String customSerCollo, boolean disablePrint, Runnable onComplete) {
|
||||
this.sendOnInfoAggiuntiveRequest((additionalNotes, tCol) -> {
|
||||
|
||||
|
||||
final CreateUDCRequestDTO createUDCRequestDTO = new CreateUDCRequestDTO()
|
||||
.setCodMdep(SettingsManager.i().getUserSession().getDepo().getCodMdep())
|
||||
.setAnnotazioni(additionalNotes)
|
||||
.setCodTcol(tCol != null ? tCol.getCodTcol() : null)
|
||||
.setNumCollo(customNumCollo)
|
||||
.setSerCollo(customSerCollo);
|
||||
|
||||
this.mColliCaricoRESTConsumer.createUDC(createUDCRequestDTO, createdUDS -> {
|
||||
this.mCurrentMtbColt = createdUDS;
|
||||
|
||||
this.mCurrentMtbColt.setMtbColr(new ObservableArrayList<>())
|
||||
.setDisablePrint(disablePrint);
|
||||
|
||||
if (onComplete != null) onComplete.run();
|
||||
this.sendLUOpened(createdUDS);
|
||||
}, this::sendError);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public void dispatchOrdineRow(final PickingObjectDTO pickingObjectDTO) {
|
||||
if (this.mCurrentMtbColt == null) return;
|
||||
|
||||
BigDecimal totalQtaDoc = pickingObjectDTO.getSitBollaAccettazione().getQtaDoc();
|
||||
BigDecimal totalNumCnfDoc = pickingObjectDTO.getSitBollaAccettazione().getNumCnfDoc();
|
||||
BigDecimal qtaCnfDoc = pickingObjectDTO.getSitBollaAccettazione().getQtaCnfDoc();
|
||||
|
||||
AtomicBigDecimal numCnfWithdrawRows = new AtomicBigDecimal();
|
||||
AtomicBigDecimal qtaColWithdrawRows = new AtomicBigDecimal();
|
||||
|
||||
Stream.of(pickingObjectDTO.getWithdrawMtbColrs())
|
||||
.forEach(row -> {
|
||||
numCnfWithdrawRows.addAndGet(row.getNumCnf());
|
||||
qtaColWithdrawRows.addAndGet(row.getQtaCol());
|
||||
});
|
||||
|
||||
BigDecimal numCnfDaEvadere = pickingObjectDTO.getSitBollaAccettazione().getNumCnfDaAccettare().subtract(numCnfWithdrawRows.getBigDecimalValue());
|
||||
BigDecimal qtaDaEvadere = pickingObjectDTO.getSitBollaAccettazione().getQtaDaAccettare().subtract(qtaColWithdrawRows.getBigDecimalValue());
|
||||
BigDecimal qtaCnfDaEvadere = qtaCnfDoc;
|
||||
|
||||
numCnfDaEvadere = UtilityBigDecimal.getGreaterBetween(numCnfDaEvadere, BigDecimal.ZERO);
|
||||
qtaDaEvadere = UtilityBigDecimal.getGreaterBetween(qtaDaEvadere, BigDecimal.ZERO);
|
||||
|
||||
BigDecimal numCnfDaPrelevare = null;
|
||||
BigDecimal qtaColDaPrelevare = null;
|
||||
BigDecimal qtaCnfDaPrelevare = null;
|
||||
|
||||
String partitaMag = null;
|
||||
LocalDate dataScad = null;
|
||||
|
||||
if (pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getManualPickDTO() != null) {
|
||||
//Oppure le info del barcode scansionato
|
||||
PickDataDTO.ManualPickDTO manualPickDTO = pickingObjectDTO.getTempPickData().getManualPickDTO();
|
||||
MtbAart mtbAart = pickingObjectDTO.getMtbAart();
|
||||
|
||||
|
||||
qtaColDaPrelevare = manualPickDTO.getQtaTot();
|
||||
numCnfDaPrelevare = manualPickDTO.getNumCnf();
|
||||
|
||||
if (mtbAart.isFlagQtaCnfFissaBoolean()) {
|
||||
qtaCnfDaPrelevare = mtbAart.getQtaCnf();
|
||||
|
||||
if (manualPickDTO.isEanPeso()) {
|
||||
if (mtbAart.getUntMisRifPeso() == MtbAart.UntMisRifPesoEnum.M) {
|
||||
if (UtilityBigDecimal.equalsTo(mtbAart.getPesoKg(), BigDecimal.ZERO)) {
|
||||
this.sendError(new InvalidPesoKGException());
|
||||
} else {
|
||||
qtaColDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, mtbAart.getPesoKg());
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (qtaColDaPrelevare != null && numCnfDaPrelevare != null) {
|
||||
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
|
||||
}
|
||||
|
||||
|
||||
if (qtaColDaPrelevare != null && numCnfDaPrelevare == null) {
|
||||
numCnfDaPrelevare = UtilityBigDecimal.divideAndRoundToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf());
|
||||
|
||||
if (!mtbAart.isFlagQtaCnfFissaBoolean()) {
|
||||
if (UtilityBigDecimal.equalsTo(numCnfDaPrelevare, BigDecimal.ZERO))
|
||||
numCnfDaPrelevare = BigDecimal.ONE;
|
||||
qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare);
|
||||
}
|
||||
} else if (numCnfDaPrelevare != null && qtaColDaPrelevare == null) {
|
||||
qtaCnfDaPrelevare = mtbAart.getQtaCnf();
|
||||
qtaColDaPrelevare = UtilityBigDecimal.multiply(numCnfDaPrelevare, qtaCnfDaPrelevare);
|
||||
}
|
||||
|
||||
if (manualPickDTO.getMtbPartitaMag() != null) {
|
||||
partitaMag = manualPickDTO.getMtbPartitaMag().getPartitaMag();
|
||||
dataScad = manualPickDTO.getMtbPartitaMag().getDataScad();
|
||||
}
|
||||
}
|
||||
|
||||
BigDecimal initialNumCnf;
|
||||
BigDecimal initialQtaCnf;
|
||||
BigDecimal initialQtaTot;
|
||||
|
||||
if (qtaColDaPrelevare != null) {
|
||||
initialNumCnf = numCnfDaPrelevare;
|
||||
initialQtaCnf = qtaCnfDaPrelevare;
|
||||
initialQtaTot = qtaColDaPrelevare;
|
||||
|
||||
} else {
|
||||
initialNumCnf = totalNumCnfDoc;
|
||||
initialQtaCnf = qtaCnfDoc;
|
||||
initialQtaTot = totalQtaDoc;
|
||||
}
|
||||
|
||||
if (!this.mUseQtaBolla &&
|
||||
UtilityBigDecimal.greaterThan(pickingObjectDTO.getMtbAart().getColliPedana(), BigDecimal.ZERO) &&
|
||||
UtilityBigDecimal.greaterThan(initialNumCnf, pickingObjectDTO.getMtbAart().getColliPedana())) {
|
||||
initialNumCnf = pickingObjectDTO.getMtbAart().getColliPedana();
|
||||
initialQtaTot = initialNumCnf.multiply(initialQtaCnf);
|
||||
}
|
||||
|
||||
if (dataScad == null && pickingObjectDTO.getMtbAart().getGgScadPartita() != null && pickingObjectDTO.getMtbAart().getGgScadPartita() > 0) {
|
||||
dataScad = UtilityDate.getNow();
|
||||
dataScad.plusDays(pickingObjectDTO.getMtbAart().getGgScadPartita());
|
||||
}
|
||||
|
||||
if (partitaMag == null && dataScad == null) {
|
||||
HistoryMtbAartDTO historyMtbAartDTO = this.getHistoryItemIfExists(pickingObjectDTO.getMtbAart().getCodMart());
|
||||
|
||||
if (historyMtbAartDTO != null) {
|
||||
partitaMag = historyMtbAartDTO.getPartitaMag();
|
||||
dataScad = historyMtbAartDTO.getDataScad();
|
||||
}
|
||||
}
|
||||
|
||||
this.sendOnItemDispatched(
|
||||
pickingObjectDTO,
|
||||
pickingObjectDTO.getMtbAart(),
|
||||
initialNumCnf, initialQtaCnf, initialQtaTot,
|
||||
qtaDaEvadere,
|
||||
numCnfDaEvadere,
|
||||
qtaCnfDaEvadere,
|
||||
qtaColDaPrelevare,
|
||||
numCnfDaPrelevare,
|
||||
qtaCnfDaPrelevare,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
partitaMag,
|
||||
dataScad,
|
||||
true,
|
||||
(pickedQuantityDTO, shouldCloseLU) -> {
|
||||
this.saveNewRow(pickingObjectDTO,
|
||||
pickedQuantityDTO.getNumCnf(),
|
||||
pickedQuantityDTO.getQtaCnf(),
|
||||
pickedQuantityDTO.getQtaTot(),
|
||||
pickedQuantityDTO.getPartitaMag(),
|
||||
pickedQuantityDTO.getDataScad(),
|
||||
shouldCloseLU);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void saveNewRow(PickingObjectDTO pickingObjectDTO, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
|
||||
if (UtilityBigDecimal.equalsTo(numCnf, BigDecimal.ZERO) && UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO)) {
|
||||
resetMatchedRows();
|
||||
|
||||
if (shouldCloseLU) closeLU();
|
||||
return;
|
||||
}
|
||||
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
|
||||
var clonedTargetMtbColt = (MtbColt) mCurrentMtbColt.clone();
|
||||
clonedTargetMtbColt.setMtbColr(null);
|
||||
|
||||
var insertUDCRowRequestDto = new InsertUDCRowRequestDTO()
|
||||
.setCodMart(pickingObjectDTO.getMtbAart().getCodMart())
|
||||
.setQtaTot(qtaTot)
|
||||
.setQtaCnf(qtaCnf)
|
||||
.setNumCnf(numCnf)
|
||||
.setPartitaMag(partitaMag)
|
||||
// .setCodJcom(pickingObjectDTO.getSitBollaAccettazione().getCodJcom())
|
||||
.setDataDoc(pickingObjectDTO.getSitBollaAccettazione().getDataDoc())
|
||||
.setNumDoc(pickingObjectDTO.getSitBollaAccettazione().getNumDoc())
|
||||
.setTargetMtbColt(clonedTargetMtbColt);
|
||||
|
||||
if (dataScad != null)
|
||||
insertUDCRowRequestDto
|
||||
.setDataScad(dataScad);
|
||||
|
||||
mColliCaricoRESTConsumer.insertUDCRow(insertUDCRowRequestDto, insertedMtbColr -> {
|
||||
this.addHistoryItem(insertedMtbColr);
|
||||
|
||||
insertedMtbColr
|
||||
.setUntMis(pickingObjectDTO.getMtbAart().getUntMis())
|
||||
.setMtbAart(pickingObjectDTO.getMtbAart());
|
||||
|
||||
pickingObjectDTO.getWithdrawMtbColrs().add(insertedMtbColr);
|
||||
mCurrentMtbColt.getMtbColr().add(insertedMtbColr);
|
||||
|
||||
//Chiamato removeListFilter perché cosi mi cancella tutti i dati di pick temporanei
|
||||
resetMatchedRows();
|
||||
|
||||
this.sendOnRowSaved();
|
||||
this.sendOnLoadingEnded();
|
||||
|
||||
if (shouldCloseLU) closeLU();
|
||||
|
||||
}, this::sendError);
|
||||
|
||||
}
|
||||
|
||||
public void dispatchRowEdit(MtbColr mtbColrToEdit) {
|
||||
final PickingObjectDTO pickingObjectDTO = new PickingObjectDTO()
|
||||
.setMtbAart(mtbColrToEdit.getMtbAart());
|
||||
|
||||
this.sendOnItemDispatched(
|
||||
pickingObjectDTO,
|
||||
pickingObjectDTO.getMtbAart(),
|
||||
mtbColrToEdit.getNumCnf(),
|
||||
mtbColrToEdit.getQtaCnf(),
|
||||
mtbColrToEdit.getQtaCol(),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null, null, null,
|
||||
null, null, null,
|
||||
mtbColrToEdit.getPartitaMag(),
|
||||
mtbColrToEdit.getDataScadPartita(),
|
||||
true,
|
||||
(pickedQuantityDTO, shouldCloseLU) -> {
|
||||
|
||||
this.saveEditedRow(mtbColrToEdit,
|
||||
pickedQuantityDTO.getNumCnf(),
|
||||
pickedQuantityDTO.getQtaCnf(),
|
||||
pickedQuantityDTO.getQtaTot(),
|
||||
pickedQuantityDTO.getPartitaMag(),
|
||||
pickedQuantityDTO.getDataScad(),
|
||||
shouldCloseLU);
|
||||
});
|
||||
}
|
||||
|
||||
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
MtbColr mtbColrClone = (MtbColr) mtbColrToUpdate.clone();
|
||||
mtbColrClone.setMtbAart(null)
|
||||
.setMtbPartitaMag(null);
|
||||
|
||||
var editUDCRowRequest = new EditUDCRowRequestDTO()
|
||||
.setSourceMtbColr(mtbColrClone)
|
||||
.setNewNumCnf(numCnf)
|
||||
.setNewQtaCnf(qtaCnf)
|
||||
.setNewQtaTot(qtaTot)
|
||||
.setNewPartitaMag(partitaMag);
|
||||
|
||||
if (dataScad != null)
|
||||
editUDCRowRequest
|
||||
.setNewDataScad(dataScad);
|
||||
|
||||
|
||||
this.mColliCaricoRESTConsumer.editUDCRow(editUDCRowRequest, (editedMtbColr) -> {
|
||||
|
||||
this.addHistoryItem(editedMtbColr);
|
||||
|
||||
Optional<PickingObjectDTO> pickingObjectDTO = Stream.of(this.mPickingList.getValue())
|
||||
.filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToUpdate))
|
||||
.findSingle();
|
||||
|
||||
editedMtbColr
|
||||
.setUntMis(mtbColrToUpdate.getUntMis())
|
||||
.setMtbAart(mtbColrToUpdate.getMtbAart());
|
||||
|
||||
if (pickingObjectDTO.isPresent()) {
|
||||
pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToUpdate);
|
||||
pickingObjectDTO.get().getWithdrawMtbColrs().add(editedMtbColr);
|
||||
}
|
||||
|
||||
this.mCurrentMtbColt.getMtbColr().remove(mtbColrToUpdate);
|
||||
this.mCurrentMtbColt.getMtbColr().add(editedMtbColr);
|
||||
|
||||
//Chiamato removeListFilter perché cosi mi cancella tutti i dati di pick temporanei
|
||||
resetMatchedRows();
|
||||
|
||||
this.sendOnRowSaved();
|
||||
this.sendOnLoadingEnded();
|
||||
|
||||
if (shouldCloseLU) closeLU();
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
public void deleteRow(MtbColr mtbColrToDelete) {
|
||||
this.sendMtbColrDeleteRequest(shouldDelete -> {
|
||||
|
||||
if (!shouldDelete)
|
||||
return;
|
||||
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
var deleteUDCRowRequest = new DeleteUDCRowRequestDTO()
|
||||
.setMtbColrToDelete(mtbColrToDelete);
|
||||
|
||||
this.mColliCaricoRESTConsumer.deleteUDCRow(deleteUDCRowRequest,
|
||||
() -> {
|
||||
Optional<PickingObjectDTO> pickingObjectDTO = Stream.of(this.mPickingList.getValue())
|
||||
.filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToDelete))
|
||||
.findSingle();
|
||||
|
||||
if (pickingObjectDTO.isPresent()) {
|
||||
pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToDelete);
|
||||
}
|
||||
|
||||
this.mCurrentMtbColt.getMtbColr().remove(mtbColrToDelete);
|
||||
|
||||
this.resetMatchedRows();
|
||||
this.sendOnRowSaved();
|
||||
this.sendOnLoadingEnded();
|
||||
}, this::sendError);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
public void closeLU() {
|
||||
if (mCurrentMtbColt == null) return;
|
||||
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
mColliMagazzinoRESTConsumer.canULBeDeleted(mCurrentMtbColt, canBeDeleted -> {
|
||||
if (canBeDeleted) {
|
||||
deleteLU(() -> {
|
||||
this.sendLUClosed();
|
||||
this.sendOnLoadingEnded();
|
||||
});
|
||||
} else {
|
||||
CloseUDCRequestDTO closeUDCRequestDTO = new CloseUDCRequestDTO()
|
||||
.setMtbColt(mCurrentMtbColt);
|
||||
mColliCaricoRESTConsumer.closeUDC(closeUDCRequestDTO, closeUDCResponse -> {
|
||||
|
||||
Runnable onVersamentoCompleted = () -> {
|
||||
if (!mCurrentMtbColt.getDisablePrint()) {
|
||||
printCollo(this::postCloseOperations);
|
||||
} else {
|
||||
postCloseOperations();
|
||||
}
|
||||
|
||||
this.sendLUClosed();
|
||||
this.sendOnLoadingEnded();
|
||||
};
|
||||
|
||||
sendVersamentoAutomaticoULRequest(response -> {
|
||||
if (response) {
|
||||
versaAutomaticamenteUL(onVersamentoCompleted);
|
||||
} else {
|
||||
onVersamentoCompleted.run();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}, this::sendError);
|
||||
}
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
public void versaAutomaticamenteUL(Runnable onComplete) {
|
||||
if (mCurrentMtbColt == null) return;
|
||||
|
||||
mColliMagazzinoRESTConsumer.versamentoAutomaticoUL(mCurrentMtbColt, versamentoResult -> {
|
||||
this.notifyVersamentoAutomaticoResult(versamentoResult, onComplete);
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
|
||||
private void printCollo(Runnable onComplete) {
|
||||
|
||||
MtbColt cloneMtbColt = (MtbColt) mCurrentMtbColt.clone();
|
||||
cloneMtbColt.setGestione(cloneMtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE ? GestioneEnum.PRODUZIONE : cloneMtbColt.getGestioneEnum());
|
||||
|
||||
var printUDSRequestDto = new PrintULRequestDTO()
|
||||
.setMtbColt(cloneMtbColt);
|
||||
|
||||
this.mColliMagazzinoRESTConsumer.printUL(printUDSRequestDto, onComplete,
|
||||
ex -> this.sendLUPrintError(ex, onComplete));
|
||||
}
|
||||
|
||||
private void postCloseOperations() {
|
||||
this.mCurrentMtbColt = null;
|
||||
this.sendLUClosed();
|
||||
this.sendOnLoadingEnded();
|
||||
}
|
||||
|
||||
private void deleteLU(Runnable onComplete) {
|
||||
DeleteULRequestDTO deleteULRequestDTO = new DeleteULRequestDTO()
|
||||
.setMtbColt(this.mCurrentMtbColt);
|
||||
|
||||
mColliMagazzinoRESTConsumer.deleteUL(deleteULRequestDTO, () -> {
|
||||
this.mCurrentMtbColt = null;
|
||||
|
||||
if (onComplete != null) onComplete.run();
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
public void resetMatchedRows() {
|
||||
for (PickingObjectDTO pickingObjectDTO : this.mPickingList.getValue()) {
|
||||
pickingObjectDTO
|
||||
.setTempPickData(null);
|
||||
}
|
||||
|
||||
this.mPickingList.postValue(this.mPickingList.getValue());
|
||||
}
|
||||
|
||||
private void addHistoryItem(@NonNull MtbColr mtbColr) {
|
||||
Optional<HistoryMtbAartDTO> optional = Stream.of(this.mHistoryUsedAarts)
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(mtbColr.getCodMart()))
|
||||
.findFirst();
|
||||
|
||||
if (optional.isPresent()) {
|
||||
optional.get()
|
||||
.setPartitaMag(mtbColr.getPartitaMag())
|
||||
.setDataScad(mtbColr.getDataScadPartita());
|
||||
} else {
|
||||
this.mHistoryUsedAarts.add(new HistoryMtbAartDTO()
|
||||
.setCodMart(mtbColr.getCodMart())
|
||||
.setPartitaMag(mtbColr.getPartitaMag())
|
||||
.setDataScad(mtbColr.getDataScadPartita()));
|
||||
}
|
||||
}
|
||||
|
||||
private HistoryMtbAartDTO getHistoryItemIfExists(@NonNull String codMart) {
|
||||
Optional<HistoryMtbAartDTO> optional = Stream.of(this.mHistoryUsedAarts)
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(codMart))
|
||||
.findFirst();
|
||||
|
||||
return optional.isPresent() ? optional.get() : null;
|
||||
}
|
||||
|
||||
private void sendOnLoadingStarted() {
|
||||
if (this.mListener != null) mListener.onLoadingStarted();
|
||||
}
|
||||
|
||||
private void sendOnLoadingEnded() {
|
||||
if (this.mListener != null) mListener.onLoadingEnded();
|
||||
}
|
||||
|
||||
private void sendVersamentoAutomaticoULRequest(RunnableArgs<Boolean> onComplete) {
|
||||
if (this.mListener != null) this.mListener.onVersamentoAutomaticoULRequest(onComplete);
|
||||
}
|
||||
|
||||
private void sendOnInfoAggiuntiveRequest(RunnableArgss<String, MtbTCol> onComplete) {
|
||||
if (this.mListener != null) this.mListener.onInfoAggiuntiveRequest(onComplete);
|
||||
}
|
||||
|
||||
private void sendError(Exception ex) {
|
||||
if (this.mListener != null) mListener.onError(ex);
|
||||
}
|
||||
|
||||
private void sendLUOpened(MtbColt mtbColt) {
|
||||
if (this.mListener != null) mListener.onLUOpened(mtbColt);
|
||||
}
|
||||
|
||||
private void sendLUClosed() {
|
||||
if (this.mListener != null) mListener.onLUClosed();
|
||||
}
|
||||
|
||||
private void sendLUSuccessfullyPrinted() {
|
||||
if (this.mListener != null) mListener.onLUSuccessullyPrinted();
|
||||
}
|
||||
|
||||
private void sendLUPrintError(Exception ex, Runnable onComplete) {
|
||||
if (this.mListener != null) mListener.onLUPrintError(ex, onComplete);
|
||||
}
|
||||
|
||||
private void sendOnItemDispatched(PickingObjectDTO pickingObjectDTO,
|
||||
MtbAart mtbAart,
|
||||
BigDecimal initialNumCnf,
|
||||
BigDecimal initialQtaCnf,
|
||||
BigDecimal initialQtaTot,
|
||||
BigDecimal totalQtaOrd,
|
||||
BigDecimal totalNumCnfOrd,
|
||||
BigDecimal qtaCnfOrd,
|
||||
BigDecimal totalQtaToBeTaken,
|
||||
BigDecimal totalNumCnfToBeTaken,
|
||||
BigDecimal qtaCnfToBeTaken,
|
||||
BigDecimal totalQtaAvailable,
|
||||
BigDecimal totalNumCnfAvailable,
|
||||
BigDecimal qtaCnfAvailable,
|
||||
String partitaMag,
|
||||
LocalDate dataScad,
|
||||
boolean canPartitaMagBeChanged,
|
||||
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||
if (this.mListener != null) mListener.onItemDispatched(pickingObjectDTO,
|
||||
mtbAart,
|
||||
initialNumCnf,
|
||||
initialQtaCnf,
|
||||
initialQtaTot,
|
||||
totalQtaOrd,
|
||||
totalNumCnfOrd,
|
||||
qtaCnfOrd,
|
||||
totalQtaToBeTaken,
|
||||
totalNumCnfToBeTaken,
|
||||
qtaCnfToBeTaken,
|
||||
totalQtaAvailable,
|
||||
totalNumCnfAvailable,
|
||||
qtaCnfAvailable,
|
||||
partitaMag,
|
||||
dataScad,
|
||||
canPartitaMagBeChanged,
|
||||
true,
|
||||
onComplete);
|
||||
}
|
||||
|
||||
|
||||
private void sendOnRowSaved() {
|
||||
if (this.mListener != null) mListener.onRowSaved();
|
||||
}
|
||||
|
||||
private void sendFilterCodMartApplied(String codMart) {
|
||||
if (this.mListener != null) mListener.onFilterCodMartApplied(codMart);
|
||||
}
|
||||
|
||||
private void sendFilterPosizioneApplied(String posizione) {
|
||||
if (this.mListener != null) mListener.onFilterPosizioneApplied(posizione);
|
||||
}
|
||||
|
||||
private void sendMtbColrDeleteRequest(RunnableArgs<Boolean> onComplete) {
|
||||
if (this.mListener != null) mListener.onMtbColrDeleteRequest(onComplete);
|
||||
}
|
||||
|
||||
private void notifyVersamentoAutomaticoResult(VersamentoAutomaticoULResponseDTO versamentoAutomaticoULResponseDTO, Runnable onComplete) {
|
||||
if (this.mListener != null)
|
||||
mListener.onULVersata(versamentoAutomaticoULResponseDTO, onComplete);
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingViewModel setListeners(Listener listener) {
|
||||
this.mListener = listener;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public interface Listener extends ILoadingListener, ILUPrintListener, ILUBaseOperationsListener {
|
||||
|
||||
void onVersamentoAutomaticoULRequest(RunnableArgs<Boolean> onComplete);
|
||||
|
||||
void onInfoAggiuntiveRequest(RunnableArgss<String, MtbTCol> onComplete);
|
||||
|
||||
void onError(Exception ex);
|
||||
|
||||
void onItemDispatched(PickingObjectDTO pickingObjectDTO,
|
||||
MtbAart mtbAart,
|
||||
BigDecimal initialNumCnf,
|
||||
BigDecimal initialQtaCnf,
|
||||
BigDecimal initialQtaTot,
|
||||
BigDecimal totalQtaOrd,
|
||||
BigDecimal totalNumCnfOrd,
|
||||
BigDecimal qtaCnfOrd,
|
||||
BigDecimal totalQtaToBeTaken,
|
||||
BigDecimal totalNumCnfToBeTaken,
|
||||
BigDecimal qtaCnfToBeTaken,
|
||||
BigDecimal totalQtaAvailable,
|
||||
BigDecimal totalNumCnfAvailable,
|
||||
BigDecimal qtaCnfAvailable,
|
||||
String partitaMag,
|
||||
LocalDate dataScad,
|
||||
boolean canPartitaMagBeChanged,
|
||||
boolean canOverflowQuantity,
|
||||
RunnableArgss<PickedQuantityDTO, Boolean> onComplete);
|
||||
|
||||
void onFilterCodMartApplied(String codMartToFilter);
|
||||
|
||||
void onFilterPosizioneApplied(String posizioneToFilter);
|
||||
|
||||
void onULVersata(VersamentoAutomaticoULResponseDTO versamentoAutomaticoULResponseDTO, Runnable onComplete);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto;
|
||||
|
||||
public class AccettazioneBollaPickingOrderBy {
|
||||
|
||||
public static String[] descriptions = new String[] {
|
||||
"Cod articolo fornitore",
|
||||
"Descrizione articolo",
|
||||
};
|
||||
|
||||
public enum Enum {
|
||||
COD_ART_FOR(0),
|
||||
DESCR_ART(1);
|
||||
|
||||
|
||||
private int val;
|
||||
Enum(int val) {
|
||||
this.val = val;
|
||||
}
|
||||
public int getVal() {
|
||||
return this.val;
|
||||
}
|
||||
|
||||
public static AccettazioneBollaPickingOrderBy.Enum fromInt(int val) {
|
||||
for (AccettazioneBollaPickingOrderBy.Enum b : AccettazioneBollaPickingOrderBy.Enum.values()) {
|
||||
if (b.val == val) return b;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,64 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||
import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
|
||||
|
||||
public class PickingObjectDTO {
|
||||
private SitBollaAccettazioneDTO sitBollaAccettazione;
|
||||
private MtbAart mtbAart;
|
||||
|
||||
private PickDataDTO tempPickData;
|
||||
private List<MtbColr> withdrawMtbColrs = new ArrayList<>();
|
||||
|
||||
private boolean hidden = false;
|
||||
|
||||
public SitBollaAccettazioneDTO getSitBollaAccettazione() {
|
||||
return sitBollaAccettazione;
|
||||
}
|
||||
|
||||
public PickingObjectDTO setSitBollaAccettazione(SitBollaAccettazioneDTO sitBollaAccettazione) {
|
||||
this.sitBollaAccettazione = sitBollaAccettazione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public MtbAart getMtbAart() {
|
||||
return mtbAart;
|
||||
}
|
||||
|
||||
public PickingObjectDTO setMtbAart(MtbAart mtbAart) {
|
||||
this.mtbAart = mtbAart;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PickDataDTO getTempPickData() {
|
||||
return tempPickData;
|
||||
}
|
||||
|
||||
public PickingObjectDTO setTempPickData(PickDataDTO tempPickData) {
|
||||
this.tempPickData = tempPickData;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<MtbColr> getWithdrawMtbColrs() {
|
||||
return withdrawMtbColrs;
|
||||
}
|
||||
|
||||
public PickingObjectDTO setWithdrawMtbColrs(List<MtbColr> withdrawMtbColrs) {
|
||||
this.withdrawMtbColrs = withdrawMtbColrs;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isHidden() {
|
||||
return hidden;
|
||||
}
|
||||
|
||||
public PickingObjectDTO setHidden(boolean hidden) {
|
||||
this.hidden = hidden;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
|
||||
|
||||
public class RetrieveAlreadyRegisteredULAccettazioneBollaRequestDTO {
|
||||
|
||||
private List<TestataBollaAccettazioneDTO> bolle;
|
||||
|
||||
public List<TestataBollaAccettazioneDTO> getBolle() {
|
||||
return bolle;
|
||||
}
|
||||
|
||||
public RetrieveAlreadyRegisteredULAccettazioneBollaRequestDTO setBolle(List<TestataBollaAccettazioneDTO> bolle) {
|
||||
this.bolle = bolle;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
|
||||
|
||||
public class RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO {
|
||||
|
||||
private List<AlreadyRegisteredUDCDTO> udcList;
|
||||
|
||||
public List<AlreadyRegisteredUDCDTO> getUdcList() {
|
||||
return udcList;
|
||||
}
|
||||
|
||||
public RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO setUdcList(List<AlreadyRegisteredUDCDTO> udcList) {
|
||||
this.udcList = udcList;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,50 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_picking.rest;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.TestataBollaAccettazioneDTO;
|
||||
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.RetrieveAlreadyRegisteredULAccettazioneBollaRequestDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
import retrofit2.Response;
|
||||
|
||||
@Singleton
|
||||
public class AccettazioneBollaPickingRESTConsumer extends _BaseRESTConsumer {
|
||||
|
||||
@Inject
|
||||
public AccettazioneBollaPickingRESTConsumer() {
|
||||
}
|
||||
|
||||
|
||||
public void retrieveAlreadyRegisteredUDC(List<TestataBollaAccettazioneDTO> bolle, RunnableArgs<List<AlreadyRegisteredUDCDTO>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
AccettazioneBollaPickingRESTConsumerService service = RESTBuilder.getService(AccettazioneBollaPickingRESTConsumerService.class);
|
||||
|
||||
var request = new RetrieveAlreadyRegisteredULAccettazioneBollaRequestDTO()
|
||||
.setBolle(bolle);
|
||||
|
||||
service.retrieveAlreadyRegisteredUDC(request)
|
||||
.enqueue(new Callback<>() {
|
||||
@Override
|
||||
public void onResponse(Call<ServiceRESTResponse<RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO>> call, Response<ServiceRESTResponse<RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO>> response) {
|
||||
analyzeAnswer(response, "retrieveAlreadyRegisteredUDC",
|
||||
data -> onComplete.run(data.getUdcList() == null ? new ArrayList<>() : data.getUdcList()),
|
||||
onFailed);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<ServiceRESTResponse<RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO>> call, Throwable t) {
|
||||
onFailed.run(new Exception(t));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_picking.rest;
|
||||
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.RetrieveAlreadyRegisteredULAccettazioneBollaRequestDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.Body;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface AccettazioneBollaPickingRESTConsumerService {
|
||||
|
||||
@POST("wms/accettazione-bolla/retrieveAlreadyRegisteredUDC")
|
||||
Call<ServiceRESTResponse<RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO>> retrieveAlreadyRegisteredUDC(@Body RetrieveAlreadyRegisteredULAccettazioneBollaRequestDTO RetrieveAlreadyRegisteredULAccettazioneBollaRequest);
|
||||
|
||||
}
|
||||
@ -0,0 +1,184 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_picking.ui;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.content.res.ResourcesCompat;
|
||||
import androidx.databinding.ObservableArrayList;
|
||||
import androidx.databinding.ObservableList;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.databinding.AccettazioneBollaPickingMainListGroupHeaderBinding;
|
||||
import it.integry.integrywmsnative.databinding.AccettazioneBollaPickingMainListGroupItemBinding;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.PickingObjectDTO;
|
||||
|
||||
public class AccettazioneBollaPickingListAdapter extends SectionedRecyclerViewAdapter<AccettazioneBollaPickingListAdapter.SubheaderHolder, AccettazioneBollaPickingListAdapter.SingleItemViewHolder> {
|
||||
|
||||
private final Context mContext;
|
||||
private final boolean mShowSecondaryUntMis;
|
||||
private final List<AccettazioneBollaPickingListModel> mDataset = new ArrayList<>();
|
||||
|
||||
private RunnableArgs<PickingObjectDTO> mOnItemClicked;
|
||||
|
||||
static class SubheaderHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
AccettazioneBollaPickingMainListGroupHeaderBinding mBinding;
|
||||
|
||||
SubheaderHolder(AccettazioneBollaPickingMainListGroupHeaderBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.mBinding = binding;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static class SingleItemViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
AccettazioneBollaPickingMainListGroupItemBinding mBinding;
|
||||
|
||||
SingleItemViewHolder(AccettazioneBollaPickingMainListGroupItemBinding binding) {
|
||||
super(binding.getRoot());
|
||||
this.mBinding = binding;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public AccettazioneBollaPickingListAdapter(AppCompatActivity context, ObservableArrayList<AccettazioneBollaPickingListModel> mutableDataSet, boolean showSecondaryUntMis) {
|
||||
this.mContext = context;
|
||||
this.mShowSecondaryUntMis = showSecondaryUntMis;
|
||||
|
||||
mutableDataSet.addOnListChangedCallback(new OnListGeneralChangedCallback() {
|
||||
@Override
|
||||
public void onChanged(ObservableList sender) {
|
||||
mDataset.clear();
|
||||
mDataset.addAll(sender);
|
||||
notifyDataSetChanged();
|
||||
notifyDataChanged();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void setOnItemClicked(RunnableArgs<PickingObjectDTO> onItemClicked) {
|
||||
this.mOnItemClicked = onItemClicked;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public AccettazioneBollaPickingListAdapter.SubheaderHolder onCreateSubheaderViewHolder(ViewGroup parent, int viewType) {
|
||||
AccettazioneBollaPickingMainListGroupHeaderBinding binding = AccettazioneBollaPickingMainListGroupHeaderBinding.inflate(LayoutInflater.from(mContext), parent, false);
|
||||
return new AccettazioneBollaPickingListAdapter.SubheaderHolder(binding);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccettazioneBollaPickingListAdapter.SingleItemViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) {
|
||||
AccettazioneBollaPickingMainListGroupItemBinding binding = AccettazioneBollaPickingMainListGroupItemBinding.inflate(LayoutInflater.from(mContext), parent, false);
|
||||
return new AccettazioneBollaPickingListAdapter.SingleItemViewHolder(binding);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onBindSubheaderViewHolder(AccettazioneBollaPickingListAdapter.SubheaderHolder subheaderHolder, int nextItemPosition) {
|
||||
AccettazioneBollaPickingListModel pickingObjectDTO = this.mDataset.get(nextItemPosition);
|
||||
|
||||
subheaderHolder.mBinding.groupTitle.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getGroupTitle()) ? View.GONE : View.VISIBLE);
|
||||
subheaderHolder.mBinding.groupTitle.setText(pickingObjectDTO.getGroupTitle());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindItemViewHolder(final AccettazioneBollaPickingListAdapter.SingleItemViewHolder holder, final int position) {
|
||||
AccettazioneBollaPickingListModel pickingObjectDTO = this.mDataset.get(position);
|
||||
|
||||
if (pickingObjectDTO.getQtaEvasa().subtract(pickingObjectDTO.getQtaTot()).floatValue() >= 0) {
|
||||
holder.mBinding.getRoot().setBackgroundColor(mContext.getResources().getColor(R.color.green_500_with_alpha));
|
||||
} else if (pickingObjectDTO.getQtaEvasa().floatValue() > 0) {
|
||||
holder.mBinding.getRoot().setBackgroundColor(mContext.getResources().getColor(R.color.orange_600_with_alpha));
|
||||
} else if (position % 2 == 1) {
|
||||
holder.mBinding.getRoot().setBackgroundColor(Color.WHITE);
|
||||
} else {
|
||||
holder.mBinding.getRoot().setBackgroundColor(mContext.getResources().getColor(R.color.letturaFacilitataBG));
|
||||
}
|
||||
|
||||
holder.mBinding.deactivatedOverBg.setVisibility(!pickingObjectDTO.isActive() ? View.VISIBLE : View.GONE);
|
||||
holder.mBinding.getRoot().setAlpha(!pickingObjectDTO.isActive() ? 0.8f : 1);
|
||||
holder.mBinding.qtaEvasa.setTextColor(ResourcesCompat.getColor(mContext.getResources(), !pickingObjectDTO.isActive() ? R.color.gray_600 : R.color.green_700, null));
|
||||
|
||||
holder.mBinding.titolo.setText(pickingObjectDTO.getTitolo());
|
||||
holder.mBinding.titolo.setVisibility(pickingObjectDTO.isTitoloPresente() ? View.VISIBLE : View.GONE);
|
||||
|
||||
|
||||
holder.mBinding.descrizione.setText(pickingObjectDTO.getDescrizione());
|
||||
holder.mBinding.descrizione.setTextColor(pickingObjectDTO.isDescrizionePresente() ? Color.BLACK : Color.GRAY);
|
||||
|
||||
|
||||
holder.mBinding.badge1.setBackground(ResourcesCompat.getDrawable(mContext.getResources(), !pickingObjectDTO.isActive() ? R.drawable.badge_round_corner : R.drawable.badge1_round_corner, null));
|
||||
holder.mBinding.badge1.setText(pickingObjectDTO.getBadge1());
|
||||
holder.mBinding.badge1.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getBadge1()) ? View.GONE : View.VISIBLE);
|
||||
|
||||
holder.mBinding.badge2.setText(pickingObjectDTO.getBadge2());
|
||||
holder.mBinding.badge2.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getBadge2()) ? View.GONE : View.VISIBLE);
|
||||
|
||||
holder.mBinding.badge2Icon.setVisibility(pickingObjectDTO.getBadge2Icon() == null ? View.GONE : View.VISIBLE);
|
||||
if(pickingObjectDTO.getBadge2Icon() != null) holder.mBinding.badge2Icon.setImageResource(pickingObjectDTO.getBadge2Icon());
|
||||
|
||||
holder.mBinding.badge3.setText(pickingObjectDTO.getPosizione());
|
||||
holder.mBinding.badge3Layout.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getPosizione()) ? View.GONE : View.VISIBLE);
|
||||
|
||||
|
||||
holder.mBinding.qtaEvasa.setText(UtilityNumber.decimalToString(pickingObjectDTO.getQtaEvasa()));
|
||||
holder.mBinding.qtaTot.setText(UtilityNumber.decimalToString(pickingObjectDTO.getQtaTot()));
|
||||
|
||||
holder.mBinding.untMis.setText(pickingObjectDTO.getUntMis());
|
||||
holder.mBinding.untMis.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getUntMis()) ? View.GONE : View.VISIBLE);
|
||||
|
||||
//Secondary Unt Mis
|
||||
holder.mBinding.secondaryUntMis.setVisibility(mShowSecondaryUntMis ? View.VISIBLE : View.GONE);
|
||||
|
||||
if(mShowSecondaryUntMis) {
|
||||
holder.mBinding.secQtaEvasa.setText(UtilityNumber.decimalToString(pickingObjectDTO.getSecQtaEvasa()));
|
||||
holder.mBinding.secQtaTot.setText(UtilityNumber.decimalToString(pickingObjectDTO.getSecQtaTot()));
|
||||
|
||||
holder.mBinding.secUntMis.setText(pickingObjectDTO.getSecUntMis());
|
||||
holder.mBinding.secUntMis.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getSecUntMis()) ? View.GONE : View.VISIBLE);
|
||||
}
|
||||
|
||||
holder.mBinding.getRoot().setOnClickListener(v -> {
|
||||
if (this.mOnItemClicked != null)
|
||||
this.mOnItemClicked.run(pickingObjectDTO.getOriginalModel());
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPlaceSubheaderBetweenItems(int position) {
|
||||
|
||||
if (getItemSize() == 1) return true;
|
||||
else if (getItemSize() > 1) {
|
||||
AccettazioneBollaPickingListModel compare1 = this.mDataset.get(position);
|
||||
AccettazioneBollaPickingListModel compare2 = this.mDataset.get(position + 1);
|
||||
|
||||
if (UtilityString.equalsIgnoreCase(compare1.getGroupTitle(), compare2.getGroupTitle())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemSize() {
|
||||
return mDataset.size();
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,210 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_bolla_picking.ui;
|
||||
|
||||
import androidx.annotation.DrawableRes;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto.PickingObjectDTO;
|
||||
|
||||
public class AccettazioneBollaPickingListModel implements Cloneable {
|
||||
|
||||
private String groupTitle;
|
||||
private String titolo;
|
||||
|
||||
private String badge1;
|
||||
private @DrawableRes Integer badge2Icon;
|
||||
private String badge2;
|
||||
|
||||
private String descrizione;
|
||||
private String subDescrizione1;
|
||||
private String subDescrizione2;
|
||||
private BigDecimal qtaEvasa;
|
||||
private BigDecimal qtaTot;
|
||||
private String untMis;
|
||||
private BigDecimal secQtaEvasa;
|
||||
private BigDecimal secQtaTot;
|
||||
private String secUntMis;
|
||||
|
||||
private String posizione;
|
||||
|
||||
private boolean active;
|
||||
|
||||
private PickingObjectDTO mOriginalModel;
|
||||
|
||||
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Object clone() {
|
||||
try {
|
||||
return super.clone();
|
||||
} catch (Exception ex) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public String getGroupTitle() {
|
||||
return groupTitle;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setGroupTitle(String groupTitle) {
|
||||
this.groupTitle = groupTitle;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isTitoloPresente() {
|
||||
return !UtilityString.isNullOrEmpty(titolo);
|
||||
}
|
||||
|
||||
public String getTitolo() {
|
||||
return titolo;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setTitolo(String titolo) {
|
||||
this.titolo = titolo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getBadge1() {
|
||||
return badge1;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setBadge1(String badge1) {
|
||||
this.badge1 = badge1;
|
||||
return this;
|
||||
}
|
||||
|
||||
public @DrawableRes Integer getBadge2Icon() {
|
||||
return badge2Icon;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setBadge2Icon(@DrawableRes Integer badge2Icon) {
|
||||
this.badge2Icon = badge2Icon;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getBadge2() {
|
||||
return badge2;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setBadge2(String badge2) {
|
||||
this.badge2 = badge2;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrizione() {
|
||||
return descrizione;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setDescrizione(String descrizione) {
|
||||
this.descrizione = descrizione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isDescrizionePresente() {
|
||||
return !UtilityString.isNullOrEmpty(descrizione);
|
||||
}
|
||||
|
||||
public String getSubDescrizione1() {
|
||||
return subDescrizione1;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setSubDescrizione1(String subDescrizione1) {
|
||||
this.subDescrizione1 = subDescrizione1;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getSubDescrizione2() {
|
||||
return subDescrizione2;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setSubDescrizione2(String subDescrizione2) {
|
||||
this.subDescrizione2 = subDescrizione2;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaEvasa() {
|
||||
return qtaEvasa;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setQtaEvasa(BigDecimal qtaEvasa) {
|
||||
this.qtaEvasa = qtaEvasa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getQtaTot() {
|
||||
return qtaTot;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setQtaTot(BigDecimal qtaTot) {
|
||||
this.qtaTot = qtaTot;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUntMis() {
|
||||
return untMis;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setUntMis(String untMis) {
|
||||
this.untMis = untMis;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getSecQtaEvasa() {
|
||||
return secQtaEvasa;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setSecQtaEvasa(BigDecimal secQtaEvasa) {
|
||||
this.secQtaEvasa = secQtaEvasa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BigDecimal getSecQtaTot() {
|
||||
return secQtaTot;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setSecQtaTot(BigDecimal secQtaTot) {
|
||||
this.secQtaTot = secQtaTot;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getSecUntMis() {
|
||||
return secUntMis;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setSecUntMis(String secUntMis) {
|
||||
this.secUntMis = secUntMis;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getPosizione() {
|
||||
return posizione;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setPosizione(String posizione) {
|
||||
this.posizione = posizione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isActive() {
|
||||
return active;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setActive(boolean active) {
|
||||
this.active = active;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PickingObjectDTO getOriginalModel() {
|
||||
return mOriginalModel;
|
||||
}
|
||||
|
||||
public AccettazioneBollaPickingListModel setOriginalModel(PickingObjectDTO mOriginalModel) {
|
||||
this.mOriginalModel = mOriginalModel;
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
||||
@ -73,7 +73,7 @@ public class MainAccettazioneOrdiniElencoFragment extends BaseFragment implement
|
||||
@Override
|
||||
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
|
||||
mAppBarTitle = titleText;
|
||||
mAppBarTitle.setText(context.getText(R.string.accettazione_title_fragment).toString());
|
||||
mAppBarTitle.setText(context.getText(R.string.accettazione_ordine_title_fragment).toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -18,8 +18,8 @@ import com.annimon.stream.Stream;
|
||||
import com.tfb.fbtoast.FBToast;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
@ -52,11 +52,11 @@ import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityToast;
|
||||
import it.integry.integrywmsnative.databinding.ActivityAccettazioneOrdineInevasoBinding;
|
||||
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.AccettazioneOrdineInevasoOrderBy;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.PickingObjectDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.RecoverMtbColtDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters.AccettazionePickingFiltroOrdineViewModel;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters.FilterCodArtLayoutView;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.filters.FilterDescrLayoutView;
|
||||
@ -142,14 +142,12 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
this.initRecyclerView();
|
||||
this.initFilters();
|
||||
|
||||
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||
boolean useQtaOrd = SettingsManager.iDB().isFlagAccettazioneUseQtaOrd();
|
||||
|
||||
mViewModel.setListeners(this);
|
||||
mViewModel.init(
|
||||
mOrders,
|
||||
mSitArts,
|
||||
codMdep,
|
||||
useQtaOrd);
|
||||
}
|
||||
|
||||
@ -675,10 +673,6 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
});
|
||||
};
|
||||
|
||||
public void removeListFilter() {
|
||||
this.mViewModel.resetMatchedRows();
|
||||
}
|
||||
|
||||
|
||||
public void createNewLU() {
|
||||
this.mBindings.accettazioneOrdineInevasoFab.close(true);
|
||||
@ -707,12 +701,21 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
public void startListaBancaliRegistratiActivity(ArrayList<RecoverMtbColtDTO> mtbColts) {
|
||||
public void startListaBancaliRegistratiActivity(List<AlreadyRegisteredUDCDTO> mtbColts) {
|
||||
|
||||
Intent myIntent = ListaBancaliActivity.createIntent(this,
|
||||
Stream.of(mtbColts).map(x -> (MtbColt) x).toList(),
|
||||
input -> ((RecoverMtbColtDTO) input).isFlagCanBeRecovered(),
|
||||
|
||||
Stream.of(mtbColts)
|
||||
.map(AlreadyRegisteredUDCDTO::getMtbColt)
|
||||
.toList(),
|
||||
|
||||
input -> Stream.of(mtbColts)
|
||||
.filter(x -> x.getMtbColt() == input)
|
||||
.findFirstOrElse(null)
|
||||
.isCanBeRecovered(),
|
||||
|
||||
ReportManager.getReportNameLUFromGestione(GestioneEnum.ACQUISTO));
|
||||
|
||||
this.startActivityForResult(myIntent, PICK_UL_REQUEST);
|
||||
}
|
||||
|
||||
@ -785,7 +788,7 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, Date dataScad, boolean canPartitaMagBeChanged, boolean canOverflowQuantity, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||
public void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, LocalDate dataScad, boolean canPartitaMagBeChanged, boolean canOverflowQuantity, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
|
||||
.setMtbAart(mtbAart)
|
||||
.setInitialNumCnf(initialNumCnf)
|
||||
|
||||
@ -8,10 +8,8 @@ import com.annimon.stream.Optional;
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@ -57,12 +55,12 @@ import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.SitArtOrdDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.HistoryMtbAartDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.PickingObjectDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.rest.AccettazioneOrdiniPickingRESTConsumer;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.RecoverMtbColtDTO;
|
||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
|
||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.NotCurrentYearLUException;
|
||||
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
||||
@ -108,7 +106,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
}
|
||||
|
||||
|
||||
public void init(List<OrdineAccettazioneInevasoDTO> orders, List<SitArtOrdDTO> sitArts, String codMdep, boolean useQtaOrd) {
|
||||
public void init(List<OrdineAccettazioneInevasoDTO> orders, List<SitArtOrdDTO> sitArts, boolean useQtaOrd) {
|
||||
this.mOrders = orders;
|
||||
this.mUseQtaOrd = useQtaOrd;
|
||||
|
||||
@ -182,7 +180,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
return mPickingList;
|
||||
}
|
||||
|
||||
public void retrieveExistentLU(RunnableArgs<ArrayList<RecoverMtbColtDTO>> onComplete) {
|
||||
public void retrieveExistentLU(RunnableArgs<List<AlreadyRegisteredUDCDTO>> onComplete) {
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
this.mAccettazioneOrdiniPickingRESTConsumer.getBancaliGiaRegistrati(this.mOrders, mtbColtList -> {
|
||||
@ -372,78 +370,6 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
public void createNewLU(Integer customNumCollo, String customSerCollo, boolean disablePrint, Runnable onComplete) {
|
||||
this.sendOnInfoAggiuntiveRequest((additionalNotes, tCol) -> {
|
||||
|
||||
// this.mGestSetupRESTConsumer.getValue("PICKING", "SETUP", "DEFAULT_POSIZIONE_COLLI_ACCETTAZIONE", defaultPosAccettazioneDTO -> {
|
||||
//
|
||||
// String defaultPosAccettazione = null;
|
||||
// if (defaultPosAccettazioneDTO != null && !UtilityString.isNullOrEmpty(defaultPosAccettazioneDTO.value))
|
||||
// defaultPosAccettazione = defaultPosAccettazioneDTO.value;
|
||||
//
|
||||
// MtbColt mtbColt = new MtbColt();
|
||||
// mtbColt
|
||||
// .initDefaultFields(defaultGestioneOfUL)
|
||||
// .setAnnotazioni(additionalNotes)
|
||||
// .setPosizione(defaultPosAccettazione)
|
||||
// .setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
||||
//
|
||||
// if (tCol != null) {
|
||||
// mtbColt.setCodTcol(tCol.getCodTcol());
|
||||
// mtbColt.setMtbTCol(tCol);
|
||||
// }
|
||||
//
|
||||
// if (customNumCollo != null) {
|
||||
// mtbColt.setNumCollo(customNumCollo);
|
||||
// }
|
||||
//
|
||||
// if (!UtilityString.isNullOrEmpty(customSerCollo)) {
|
||||
// mtbColt.setSerCollo(customSerCollo);
|
||||
// }
|
||||
//
|
||||
// List<String> codAnags =
|
||||
// Stream.of(mOrders)
|
||||
// .map(OrdineAccettazioneInevasoDTO::getCodAnagOrd)
|
||||
// .distinct()
|
||||
// .toList();
|
||||
//
|
||||
// if (codAnags.size() == 1) {
|
||||
// mtbColt.setCodAnag(codAnags.get(0));
|
||||
// }
|
||||
//
|
||||
// List<String> rifOrds =
|
||||
// Stream.of(mOrders)
|
||||
// .map(OrdineAccettazioneInevasoDTO::getRifOrd)
|
||||
// .distinct()
|
||||
// .toList();
|
||||
//
|
||||
// if (rifOrds.size() == 1) {
|
||||
// mtbColt.setRifOrd(rifOrds.get(0));
|
||||
// }
|
||||
//
|
||||
// List<String> numDataOrds =
|
||||
// Stream.of(mOrders)
|
||||
// .map(value -> value.getNumero() + value.getData())
|
||||
// .distinct()
|
||||
// .toList();
|
||||
//
|
||||
// if (numDataOrds.size() == 1) {
|
||||
// mtbColt.setNumOrd(mOrders.get(0).getNumero());
|
||||
// mtbColt.setDataOrd(mOrders.get(0).getData());
|
||||
// }
|
||||
//
|
||||
// this.mColliMagazzinoRESTConsumer.saveCollo(mtbColt, savedMtbColt -> {
|
||||
// mtbColt
|
||||
// .setNumCollo(savedMtbColt.getNumCollo())
|
||||
// .setDataCollo(savedMtbColt.getDataColloS())
|
||||
// .setMtbColr(new ObservableArrayList<>())
|
||||
// .setDisablePrint(disablePrint);
|
||||
//
|
||||
// this.mCurrentMtbColt = mtbColt;
|
||||
//
|
||||
// if (onComplete != null) onComplete.run();
|
||||
// this.sendLUOpened(mtbColt);
|
||||
// }, this::sendError);
|
||||
//
|
||||
// }, this::sendError);
|
||||
|
||||
final List<CreateUDCRequestOrderDTO> orders = Stream.of(this.mOrders)
|
||||
.map(x -> new CreateUDCRequestOrderDTO()
|
||||
.setDataCons(x.getDataConsD() != null ? UtilityDate.toLocalDate(x.getDataConsD()) : null)
|
||||
@ -502,7 +428,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
BigDecimal qtaCnfDaPrelevare = null;
|
||||
|
||||
String partitaMag = null;
|
||||
Date dataScad = null;
|
||||
LocalDate dataScad = null;
|
||||
|
||||
if (pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getManualPickDTO() != null) {
|
||||
//Oppure le info del barcode scansionato
|
||||
@ -545,7 +471,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
|
||||
if (manualPickDTO.getMtbPartitaMag() != null) {
|
||||
partitaMag = manualPickDTO.getMtbPartitaMag().getPartitaMag();
|
||||
dataScad = manualPickDTO.getMtbPartitaMag().getDataScadD();
|
||||
dataScad = manualPickDTO.getMtbPartitaMag().getDataScad();
|
||||
}
|
||||
}
|
||||
|
||||
@ -572,11 +498,8 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
}
|
||||
|
||||
if (dataScad == null && pickingObjectDTO.getMtbAart().getGgScadPartita() != null && pickingObjectDTO.getMtbAart().getGgScadPartita() > 0) {
|
||||
dataScad = UtilityDate.getDateInstance();
|
||||
Calendar c = new GregorianCalendar();
|
||||
c.setTime(dataScad);
|
||||
c.add(Calendar.DATE, pickingObjectDTO.getMtbAart().getGgScadPartita());
|
||||
dataScad = c.getTime();
|
||||
dataScad = UtilityDate.getNow();
|
||||
dataScad.plusDays(pickingObjectDTO.getMtbAart().getGgScadPartita());
|
||||
}
|
||||
|
||||
if (partitaMag == null && dataScad == null) {
|
||||
@ -617,7 +540,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
}
|
||||
|
||||
|
||||
public void saveNewRow(PickingObjectDTO pickingObjectDTO, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
|
||||
public void saveNewRow(PickingObjectDTO pickingObjectDTO, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
|
||||
if (UtilityBigDecimal.equalsTo(numCnf, BigDecimal.ZERO) && UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO)) {
|
||||
resetMatchedRows();
|
||||
|
||||
@ -647,7 +570,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
|
||||
if (dataScad != null)
|
||||
insertUDCRowRequestDto
|
||||
.setDataScad(UtilityDate.toLocalDate(dataScad));
|
||||
.setDataScad(dataScad);
|
||||
|
||||
mColliCaricoRESTConsumer.insertUDCRow(insertUDCRowRequestDto, insertedMtbColr -> {
|
||||
this.addHistoryItem(insertedMtbColr);
|
||||
@ -688,7 +611,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
null, null, null,
|
||||
null, null, null,
|
||||
mtbColrToEdit.getPartitaMag(),
|
||||
mtbColrToEdit.getDataScadPartitaD(),
|
||||
mtbColrToEdit.getDataScadPartita(),
|
||||
true,
|
||||
(pickedQuantityDTO, shouldCloseLU) -> {
|
||||
|
||||
@ -702,7 +625,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
});
|
||||
}
|
||||
|
||||
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
|
||||
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
MtbColr mtbColrClone = (MtbColr) mtbColrToUpdate.clone();
|
||||
@ -718,7 +641,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
|
||||
if (dataScad != null)
|
||||
editUDCRowRequest
|
||||
.setNewDataScad(UtilityDate.toLocalDate(dataScad));
|
||||
.setNewDataScad(dataScad);
|
||||
|
||||
|
||||
this.mColliCaricoRESTConsumer.editUDCRow(editUDCRowRequest, (editedMtbColr) -> {
|
||||
@ -878,12 +801,12 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
if (optional.isPresent()) {
|
||||
optional.get()
|
||||
.setPartitaMag(mtbColr.getPartitaMag())
|
||||
.setDataScad(mtbColr.getDataScadPartitaD());
|
||||
.setDataScad(mtbColr.getDataScadPartita());
|
||||
} else {
|
||||
this.mHistoryUsedAarts.add(new HistoryMtbAartDTO()
|
||||
.setCodMart(mtbColr.getCodMart())
|
||||
.setPartitaMag(mtbColr.getPartitaMag())
|
||||
.setDataScad(mtbColr.getDataScadPartitaD()));
|
||||
.setDataScad(mtbColr.getDataScadPartita()));
|
||||
}
|
||||
}
|
||||
|
||||
@ -946,7 +869,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
BigDecimal totalNumCnfAvailable,
|
||||
BigDecimal qtaCnfAvailable,
|
||||
String partitaMag,
|
||||
Date dataScad,
|
||||
LocalDate dataScad,
|
||||
boolean canPartitaMagBeChanged,
|
||||
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||
if (this.mListener != null) mListener.onItemDispatched(pickingObjectDTO,
|
||||
@ -1020,7 +943,7 @@ public class AccettazioneOrdiniPickingViewModel {
|
||||
BigDecimal totalNumCnfAvailable,
|
||||
BigDecimal qtaCnfAvailable,
|
||||
String partitaMag,
|
||||
Date dataScad,
|
||||
LocalDate dataScad,
|
||||
boolean canPartitaMagBeChanged,
|
||||
boolean canOverflowQuantity,
|
||||
RunnableArgss<PickedQuantityDTO, Boolean> onComplete);
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto;
|
||||
|
||||
import java.util.Date;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class HistoryMtbAartDTO {
|
||||
|
||||
private String codMart;
|
||||
private String partitaMag;
|
||||
private Date dataScad;
|
||||
private LocalDate dataScad;
|
||||
|
||||
public String getCodMart() {
|
||||
return codMart;
|
||||
@ -26,11 +26,11 @@ public class HistoryMtbAartDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataScad() {
|
||||
public LocalDate getDataScad() {
|
||||
return dataScad;
|
||||
}
|
||||
|
||||
public HistoryMtbAartDTO setDataScad(Date dataScad) {
|
||||
public HistoryMtbAartDTO setDataScad(LocalDate dataScad) {
|
||||
this.dataScad = dataScad;
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -1,17 +0,0 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
|
||||
public class RecoverMtbColtDTO extends MtbColt {
|
||||
|
||||
private boolean flagCanBeRecovered;
|
||||
|
||||
public boolean isFlagCanBeRecovered() {
|
||||
return flagCanBeRecovered;
|
||||
}
|
||||
|
||||
public RecoverMtbColtDTO setFlagCanBeRecovered(boolean flagCanBeRecovered) {
|
||||
this.flagCanBeRecovered = flagCanBeRecovered;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
|
||||
|
||||
public class RetrieveAlreadyRegisteredULAccettazioneOrdineRequestDTO {
|
||||
|
||||
private List<OrdineAccettazioneInevasoDTO> ordini;
|
||||
|
||||
public List<OrdineAccettazioneInevasoDTO> getOrdini() {
|
||||
return ordini;
|
||||
}
|
||||
|
||||
public RetrieveAlreadyRegisteredULAccettazioneOrdineRequestDTO setOrdini(List<OrdineAccettazioneInevasoDTO> ordini) {
|
||||
this.ordini = ordini;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
|
||||
|
||||
public class RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO {
|
||||
|
||||
private List<AlreadyRegisteredUDCDTO> udcList;
|
||||
|
||||
public List<AlreadyRegisteredUDCDTO> getUdcList() {
|
||||
return udcList;
|
||||
}
|
||||
|
||||
public RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO setUdcList(List<AlreadyRegisteredUDCDTO> udcList) {
|
||||
this.udcList = udcList;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@ -1,26 +1,26 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.rest;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO;
|
||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityQuery;
|
||||
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.dto.OrdineAccettazioneInevasoDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.RecoverMtbColtDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.RetrieveAlreadyRegisteredULAccettazioneOrdineRequestDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
import retrofit2.Response;
|
||||
|
||||
@Singleton
|
||||
public class AccettazioneOrdiniPickingRESTConsumer {
|
||||
public class AccettazioneOrdiniPickingRESTConsumer extends _BaseRESTConsumer {
|
||||
|
||||
private final SystemRESTConsumer mSystemRestConsumer;
|
||||
|
||||
@ -29,115 +29,26 @@ public class AccettazioneOrdiniPickingRESTConsumer {
|
||||
this.mSystemRestConsumer = systemRESTConsumer;
|
||||
}
|
||||
|
||||
public void getBancaliGiaRegistrati(List<OrdineAccettazioneInevasoDTO> ordiniToShow, RunnableArgs<ArrayList<RecoverMtbColtDTO>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
List<HashMap<String, Object>> whereCondListMap = new ArrayList<>();
|
||||
public void getBancaliGiaRegistrati(List<OrdineAccettazioneInevasoDTO> ordiniToShow, RunnableArgs<List<AlreadyRegisteredUDCDTO>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
AccettazioneOrdiniPickingRESTConsumerService service = RESTBuilder.getService(AccettazioneOrdiniPickingRESTConsumerService.class);
|
||||
|
||||
Stream
|
||||
.of(ordiniToShow)
|
||||
.distinctBy(x -> x.getData() + " " + x.getGestione() + " " + x.getNumero())
|
||||
.forEach(x -> {
|
||||
try {
|
||||
HashMap<String, Object> whereCondMap = new HashMap<>();
|
||||
whereCondMap.put("mtb_colr.data_ord", UtilityDate.recognizeDate(x.getData()));
|
||||
whereCondMap.put("mtb_colr.gestione", x.getGestione().equalsIgnoreCase("P") ? "L" : x.getGestione());
|
||||
whereCondMap.put("mtb_colr.num_ord", x.getNumero());
|
||||
var request = new RetrieveAlreadyRegisteredULAccettazioneOrdineRequestDTO()
|
||||
.setOrdini(ordiniToShow);
|
||||
|
||||
whereCondListMap.add(whereCondMap);
|
||||
} catch (Exception ex) {
|
||||
UtilityLogger.error(ex);
|
||||
service.retrieveAlreadyRegisteredUDC(request)
|
||||
.enqueue(new Callback<>() {
|
||||
@Override
|
||||
public void onResponse(Call<ServiceRESTResponse<RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO>> call, Response<ServiceRESTResponse<RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO>> response) {
|
||||
analyzeAnswer(response, "retrieveAlreadyRegisteredUDC",
|
||||
data -> onComplete.run(data.getUdcList() == null ? new ArrayList<>() : data.getUdcList()),
|
||||
onFailed);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<ServiceRESTResponse<RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO>> call, Throwable t) {
|
||||
onFailed.run(new Exception(t));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
String sql = "SELECT DISTINCT CAST(CASE WHEN MAX(ISNULL(mtb_colr_scar.num_collo, 0)) = 0 THEN 1 ELSE 0 END AS BIT) AS flagCanBeRecovered, " +
|
||||
" mtb_colt.gestione," +
|
||||
" mtb_colt.data_collo," +
|
||||
" mtb_colt.num_collo," +
|
||||
" segno," +
|
||||
" peso_kg," +
|
||||
" lunghezza_cm," +
|
||||
" larghezza_cm," +
|
||||
" altezza_cm," +
|
||||
" cod_anag," +
|
||||
" cod_dtip," +
|
||||
" mtb_colt.data_doc," +
|
||||
" mtb_colt.ser_doc," +
|
||||
" mtb_colt.num_doc," +
|
||||
" rif_ord," +
|
||||
" mtb_colt.ser_collo," +
|
||||
" cod_tcol," +
|
||||
" mtb_colt.data_ord," +
|
||||
" mtb_colt.num_ord," +
|
||||
" cod_vdes," +
|
||||
" cod_mdep," +
|
||||
" cod_vlis," +
|
||||
" preparato_da," +
|
||||
" ora_iniz_prep," +
|
||||
" ora_fine_prep," +
|
||||
" filtro_ordini," +
|
||||
" annotazioni," +
|
||||
" posizione," +
|
||||
" cod_dtip_provv," +
|
||||
" data_doc_provv," +
|
||||
" ser_doc_provv," +
|
||||
" num_doc_provv," +
|
||||
" cod_jfas," +
|
||||
" data_vers," +
|
||||
" mtb_colt.peso_netto_kg " +
|
||||
"FROM mtb_colt" +
|
||||
" INNER JOIN mtb_colr ON " +
|
||||
" mtb_colt.gestione = mtb_colr.gestione AND " +
|
||||
" mtb_colt.ser_collo = mtb_colr.ser_collo AND " +
|
||||
" mtb_colt.data_collo = mtb_colr.data_collo AND " +
|
||||
" mtb_colt.num_collo = mtb_colr.num_collo " +
|
||||
" LEFT OUTER JOIN mtb_colr mtb_colr_scar ON mtb_colr_scar.num_collo_rif = mtb_colr.num_collo AND " +
|
||||
" mtb_colr_scar.gestione_rif = mtb_colr.gestione AND " +
|
||||
" mtb_colr_scar.ser_collo_rif = mtb_colr.ser_collo AND " +
|
||||
" mtb_colr_scar.data_collo_rif = mtb_colr.data_collo " +
|
||||
" WHERE (" + UtilityQuery.concatFieldListInWhereCond(whereCondListMap) + ") " +
|
||||
" AND mtb_colt.data_doc IS NULL " +
|
||||
" GROUP BY mtb_colt.gestione," +
|
||||
" mtb_colt.data_collo," +
|
||||
" mtb_colt.num_collo," +
|
||||
" segno," +
|
||||
" peso_kg," +
|
||||
" lunghezza_cm," +
|
||||
" larghezza_cm," +
|
||||
" altezza_cm," +
|
||||
" cod_anag," +
|
||||
" cod_dtip," +
|
||||
" mtb_colt.data_doc," +
|
||||
" mtb_colt.ser_doc," +
|
||||
" mtb_colt.num_doc," +
|
||||
" rif_ord," +
|
||||
" mtb_colt.ser_collo," +
|
||||
" cod_tcol," +
|
||||
" mtb_colt.data_ord," +
|
||||
" mtb_colt.num_ord," +
|
||||
" cod_vdes," +
|
||||
" cod_mdep," +
|
||||
" cod_vlis," +
|
||||
" preparato_da," +
|
||||
" ora_iniz_prep," +
|
||||
" ora_fine_prep," +
|
||||
" filtro_ordini," +
|
||||
" annotazioni," +
|
||||
" posizione," +
|
||||
" cod_dtip_provv," +
|
||||
" data_doc_provv," +
|
||||
" ser_doc_provv," +
|
||||
" num_doc_provv," +
|
||||
" cod_jfas," +
|
||||
" data_vers," +
|
||||
" mtb_colt.peso_netto_kg";
|
||||
|
||||
|
||||
Type typeOfObjectsList = new TypeToken<ArrayList<RecoverMtbColtDTO>>() {
|
||||
}.getType();
|
||||
mSystemRestConsumer.<ArrayList<RecoverMtbColtDTO>>processSql(sql, typeOfObjectsList, value -> {
|
||||
if (onComplete != null) onComplete.run(value);
|
||||
}, onFailed);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,15 @@
|
||||
package it.integry.integrywmsnative.gest.accettazione_ordini_picking.rest;
|
||||
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.RetrieveAlreadyRegisteredULAccettazioneOrdineRequestDTO;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto.RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.Body;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface AccettazioneOrdiniPickingRESTConsumerService {
|
||||
|
||||
@POST("wms/accettazione/retrieveAlreadyRegisteredUDC")
|
||||
Call<ServiceRESTResponse<RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO>> retrieveAlreadyRegisteredUDC(@Body RetrieveAlreadyRegisteredULAccettazioneOrdineRequestDTO retrieveAlreadyRegisteredULAccettazioneOrdineRequest);
|
||||
|
||||
}
|
||||
@ -94,8 +94,8 @@ public class AccettazioneOrdiniPickingListAdapter extends SectionedRecyclerViewA
|
||||
public void onBindSubheaderViewHolder(SubheaderHolder subheaderHolder, int nextItemPosition) {
|
||||
AccettazioneOrdiniPickingListModel pickingObjectDTO = this.mDataset.get(nextItemPosition);
|
||||
|
||||
subheaderHolder.mBinding.spedizioneGroupTitle.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getGroupTitle()) ? View.GONE : View.VISIBLE);
|
||||
subheaderHolder.mBinding.spedizioneGroupTitle.setText(pickingObjectDTO.getGroupTitle());
|
||||
subheaderHolder.mBinding.groupTitle.setVisibility(UtilityString.isNullOrEmpty(pickingObjectDTO.getGroupTitle()) ? View.GONE : View.VISIBLE);
|
||||
subheaderHolder.mBinding.groupTitle.setText(pickingObjectDTO.getGroupTitle());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package it.integry.integrywmsnative.gest.contab_doc_interni.dto;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
public class ArtDTO {
|
||||
@ -25,7 +26,7 @@ public class ArtDTO {
|
||||
|
||||
private String partitaMag;
|
||||
|
||||
private Date dataScad;
|
||||
private LocalDate dataScad;
|
||||
|
||||
private String systemNote;
|
||||
private String codAlis;
|
||||
@ -110,11 +111,11 @@ public class ArtDTO {
|
||||
this.partitaMag = partitaMag;
|
||||
}
|
||||
|
||||
public Date getDataScad() {
|
||||
public LocalDate getDataScad() {
|
||||
return dataScad;
|
||||
}
|
||||
|
||||
public void setDataScad(Date dataScad) {
|
||||
public void setDataScad(LocalDate dataScad) {
|
||||
this.dataScad = dataScad;
|
||||
}
|
||||
|
||||
|
||||
@ -13,9 +13,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@ -265,11 +263,11 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
|
||||
.setCanPartitaMagBeChanged(flagTracciabilita)
|
||||
.setNumCnfEditable(false)
|
||||
.setSuggestPartitaMag(data -> {
|
||||
Date dataScad = data.getDataScad();
|
||||
var dataScad = data.getDataScad();
|
||||
|
||||
String partitaMag = null;
|
||||
if (dataScad != null) {
|
||||
partitaMag = new SimpleDateFormat("yyyymmdd").format(dataScad);
|
||||
}
|
||||
if (dataScad != null) partitaMag = UtilityDate.formatDate(dataScad, "yyyymmdd");
|
||||
|
||||
return partitaMag;
|
||||
});
|
||||
|
||||
|
||||
@ -18,8 +18,8 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import com.tfb.fbtoast.FBToast;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@ -311,7 +311,7 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme
|
||||
BigDecimal totalNumCnfToBeTaken,
|
||||
BigDecimal qtaCnfToBeTaken,
|
||||
String partitaMag,
|
||||
Date dataScad,
|
||||
LocalDate dataScad,
|
||||
boolean canOverflowOrderQuantity,
|
||||
boolean canPartitaMagBeChanged,
|
||||
boolean canLUBeClosed,
|
||||
|
||||
@ -5,8 +5,8 @@ import androidx.databinding.ObservableArrayList;
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
@ -344,7 +344,7 @@ public class PickingLiberoViewModel {
|
||||
BigDecimal initialQtaTot;
|
||||
|
||||
String partitaMag = null;
|
||||
Date dataScad = null;
|
||||
LocalDate dataScad = null;
|
||||
|
||||
if (pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getManualPickDTO() != null) {
|
||||
//Oppure le info del barcode scansionato
|
||||
@ -388,7 +388,7 @@ public class PickingLiberoViewModel {
|
||||
|
||||
if (manualPickDTO.getMtbPartitaMag() != null) {
|
||||
partitaMag = manualPickDTO.getMtbPartitaMag().getPartitaMag();
|
||||
dataScad = manualPickDTO.getMtbPartitaMag().getDataScadD();
|
||||
dataScad = manualPickDTO.getMtbPartitaMag().getDataScad();
|
||||
}
|
||||
|
||||
initialNumCnf = numCnfDaPrelevare;
|
||||
@ -560,7 +560,7 @@ public class PickingLiberoViewModel {
|
||||
null,
|
||||
null,
|
||||
mtbColr.getPartitaMag(),
|
||||
mtbColr.getDataScadPartitaD(),
|
||||
mtbColr.getDataScadPartita(),
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
@ -579,7 +579,7 @@ public class PickingLiberoViewModel {
|
||||
}
|
||||
|
||||
|
||||
public void saveNewRow(PickingObjectDTO pickingObjectDTO, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
|
||||
public void saveNewRow(PickingObjectDTO pickingObjectDTO, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
|
||||
new Thread(this::sendOnLoadingStarted).start();
|
||||
|
||||
|
||||
@ -706,7 +706,7 @@ public class PickingLiberoViewModel {
|
||||
null,
|
||||
null,
|
||||
mtbColrToUpdate.getPartitaMag(),
|
||||
mtbColrToUpdate.getDataScadPartitaD(),
|
||||
mtbColrToUpdate.getDataScadPartita(),
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
@ -726,7 +726,7 @@ public class PickingLiberoViewModel {
|
||||
}
|
||||
|
||||
|
||||
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
|
||||
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
|
||||
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
@ -885,7 +885,7 @@ public class PickingLiberoViewModel {
|
||||
BigDecimal totalNumCnfToBeTaken,
|
||||
BigDecimal qtaCnfToBeTaken,
|
||||
String partitaMag,
|
||||
Date dataScad,
|
||||
LocalDate dataScad,
|
||||
boolean canOverflowOrderQuantity,
|
||||
boolean canPartitaMagBeChanged,
|
||||
boolean canLUBeClosed,
|
||||
@ -938,7 +938,7 @@ public class PickingLiberoViewModel {
|
||||
BigDecimal totalNumCnfToBeTaken,
|
||||
BigDecimal qtaCnfToBeTaken,
|
||||
String partitaMag,
|
||||
Date dataScad,
|
||||
LocalDate dataScad,
|
||||
boolean canOverflowOrderQuantity,
|
||||
boolean canPartitaMagBeChanged,
|
||||
boolean canLUBeClosed,
|
||||
|
||||
@ -14,8 +14,8 @@ import com.annimon.stream.Stream;
|
||||
import com.tfb.fbtoast.FBToast;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@ -301,7 +301,7 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
|
||||
BigDecimal totalNumCnfAvailable,
|
||||
BigDecimal qtaCnfAvailable,
|
||||
String partitaMag,
|
||||
Date dataScad,
|
||||
LocalDate dataScad,
|
||||
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
|
||||
.setMtbAart(mtbAart)
|
||||
|
||||
@ -7,8 +7,8 @@ import com.annimon.stream.Optional;
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@ -490,7 +490,7 @@ public class PickingResiViewModel {
|
||||
totalAvailableNumCnf,
|
||||
totalAvailableQtaCnf,
|
||||
withdrawableDtbDocr.getPartitaMag(),
|
||||
withdrawableDtbDocr.getDataScadPartitaMagD(),
|
||||
withdrawableDtbDocr.getDataScadPartitaMag(),
|
||||
(pickedQuantityDTO, shouldCloseLU) -> {
|
||||
|
||||
this.saveNewRow(withdrawableDtbDocr,
|
||||
@ -515,7 +515,7 @@ public class PickingResiViewModel {
|
||||
null,
|
||||
null,
|
||||
mtbColrToEdit.getPartitaMag(),
|
||||
mtbColrToEdit.getDataScadPartitaD(),
|
||||
mtbColrToEdit.getDataScadPartita(),
|
||||
(pickedQuantityDTO, shouldCloseLU) -> {
|
||||
|
||||
this.saveEditedRow(mtbColrToEdit,
|
||||
@ -529,7 +529,7 @@ public class PickingResiViewModel {
|
||||
}
|
||||
|
||||
|
||||
public void saveNewRow(WithdrawableDtbDocr withdrawableDtbDocr, MtbColt refMtbColt, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
|
||||
public void saveNewRow(WithdrawableDtbDocr withdrawableDtbDocr, MtbColt refMtbColt, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
final MtbColr mtbColr = new MtbColr()
|
||||
@ -628,7 +628,7 @@ public class PickingResiViewModel {
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
|
||||
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
|
||||
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
@ -776,7 +776,7 @@ public class PickingResiViewModel {
|
||||
BigDecimal totalNumCnfAvailable,
|
||||
BigDecimal qtaCnfAvailable,
|
||||
String partitaMag,
|
||||
Date dataScad,
|
||||
LocalDate dataScad,
|
||||
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||
if (this.mListener != null) mListener.onItemDispatched(mtbAart,
|
||||
initialNumCnf,
|
||||
@ -822,7 +822,7 @@ public class PickingResiViewModel {
|
||||
BigDecimal totalNumCnfAvailable,
|
||||
BigDecimal qtaCnfAvailable,
|
||||
String partitaMag,
|
||||
Date dataScad,
|
||||
LocalDate dataScad,
|
||||
RunnableArgss<PickedQuantityDTO, Boolean> onComplete);
|
||||
|
||||
void onFilterApplied(String newValue);
|
||||
|
||||
@ -185,7 +185,7 @@ public class ProdDettaglioLineaActivity extends BaseActivity implements ProdDett
|
||||
.setTotalNumCnfAvailable(mtbColr.getNumCnf())
|
||||
.setQtaCnfAvailable(mtbColr.getQtaCnf())
|
||||
.setPartitaMag(mtbColr.getPartitaMag())
|
||||
.setDataScad(mtbColr.getDataScadPartitaD())
|
||||
.setDataScad(mtbColr.getDataScadPartita())
|
||||
.setCanOverflowOrderQuantity(false)
|
||||
.setCanPartitaMagBeChanged(false)
|
||||
.setCanLUBeClosed(false)
|
||||
|
||||
@ -23,8 +23,8 @@ import com.google.android.material.textfield.TextInputLayout;
|
||||
import com.tfb.fbtoast.FBToast;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
@ -374,7 +374,7 @@ public class RettificaGiacenzeFragment extends BaseFragment implements ITitledFr
|
||||
BigDecimal totalNumCnfToBeTaken,
|
||||
BigDecimal qtaCnfToBeTaken,
|
||||
String partitaMag,
|
||||
Date dataScad,
|
||||
LocalDate dataScad,
|
||||
boolean canOverflowOrderQuantity,
|
||||
boolean canPartitaMagBeChanged,
|
||||
boolean canLUBeClosed,
|
||||
|
||||
@ -3,10 +3,8 @@ package it.integry.integrywmsnative.gest.rettifica_giacenze;
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@ -250,7 +248,7 @@ public class RettificaGiacenzeViewModel {
|
||||
BigDecimal initialQtaTot = null;
|
||||
|
||||
String partitaMag = null;
|
||||
Date dataScad = null;
|
||||
LocalDate dataScad = null;
|
||||
|
||||
boolean canPartitaMagBeChanged = true;
|
||||
|
||||
@ -294,7 +292,7 @@ public class RettificaGiacenzeViewModel {
|
||||
|
||||
if (manualPickDTO.getMtbPartitaMag() != null) {
|
||||
partitaMag = manualPickDTO.getMtbPartitaMag().getPartitaMag();
|
||||
dataScad = manualPickDTO.getMtbPartitaMag().getDataScadD();
|
||||
dataScad = manualPickDTO.getMtbPartitaMag().getDataScad();
|
||||
canPartitaMagBeChanged = false;
|
||||
}
|
||||
} else {
|
||||
@ -310,11 +308,8 @@ public class RettificaGiacenzeViewModel {
|
||||
}
|
||||
|
||||
if (dataScad == null && pickingObjectDTO.getMtbAart().getGgScadPartita() != null && pickingObjectDTO.getMtbAart().getGgScadPartita() > 0) {
|
||||
dataScad = UtilityDate.getDateInstance();
|
||||
Calendar c = new GregorianCalendar();
|
||||
c.setTime(dataScad);
|
||||
c.add(Calendar.DATE, pickingObjectDTO.getMtbAart().getGgScadPartita());
|
||||
dataScad = c.getTime();
|
||||
dataScad = UtilityDate.getNow();
|
||||
dataScad.plusDays(pickingObjectDTO.getMtbAart().getGgScadPartita());
|
||||
}
|
||||
|
||||
this.sendOnItemDispatched(
|
||||
@ -347,7 +342,7 @@ public class RettificaGiacenzeViewModel {
|
||||
}
|
||||
|
||||
|
||||
public void saveNewRow(PickingObjectDTO pickingObjectDTO, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
|
||||
public void saveNewRow(PickingObjectDTO pickingObjectDTO, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
final MtbColr mtbColr = new MtbColr()
|
||||
@ -540,7 +535,7 @@ public class RettificaGiacenzeViewModel {
|
||||
null,
|
||||
null,
|
||||
mtbColrToUpdate.getPartitaMag(),
|
||||
mtbColrToUpdate.getDataScadPartitaD(),
|
||||
mtbColrToUpdate.getDataScadPartita(),
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
@ -558,7 +553,7 @@ public class RettificaGiacenzeViewModel {
|
||||
|
||||
}
|
||||
|
||||
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
|
||||
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
// if(!mIsCreatedLU && mCurrentMtbColt.isDocumentPresent()) {
|
||||
@ -730,7 +725,7 @@ public class RettificaGiacenzeViewModel {
|
||||
BigDecimal totalNumCnfToBeTaken,
|
||||
BigDecimal qtaCnfToBeTaken,
|
||||
String partitaMag,
|
||||
Date dataScad,
|
||||
LocalDate dataScad,
|
||||
boolean canOverflowOrderQuantity,
|
||||
boolean canPartitaMagBeChanged,
|
||||
boolean canLUBeClosed,
|
||||
@ -807,7 +802,7 @@ public class RettificaGiacenzeViewModel {
|
||||
BigDecimal totalNumCnfToBeTaken,
|
||||
BigDecimal qtaCnfToBeTaken,
|
||||
String partitaMag,
|
||||
Date dataScad,
|
||||
LocalDate dataScad,
|
||||
boolean canOverflowOrderQuantity,
|
||||
boolean canPartitaMagBeChanged,
|
||||
boolean canLUBeClosed,
|
||||
|
||||
@ -17,8 +17,8 @@ import com.annimon.stream.Stream;
|
||||
import com.tfb.fbtoast.FBToast;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@ -827,7 +827,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
BigDecimal totalNumCnfAvailable,
|
||||
BigDecimal qtaCnfAvailable,
|
||||
String partitaMag,
|
||||
Date dataScad,
|
||||
LocalDate dataScad,
|
||||
boolean canOverflowOrderQuantity,
|
||||
boolean canPartitaMagBeChanged,
|
||||
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||
|
||||
@ -9,8 +9,8 @@ import com.annimon.stream.Stream;
|
||||
import org.apache.commons.lang3.NotImplementedException;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@ -328,9 +328,27 @@ public class SpedizioneViewModel {
|
||||
if (this.mListener != null) mListener.onMtbColrDeleteRequest(onComplete);
|
||||
}
|
||||
|
||||
private void sendOnFullItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, Date dataScad, boolean canOverflowOrderQuantity, boolean canBatchLotBeChanged, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||
private void sendOnFullItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, LocalDate dataScad, boolean canOverflowOrderQuantity, boolean canBatchLotBeChanged, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||
if (this.mListener != null)
|
||||
mListener.onFullItemDispatched(pickingObjectDTO, mtbAart, initialNumCnf, initialQtaCnf, initialQtaTot, totalQtaOrd, totalNumCnfOrd, qtaCnfOrd, totalQtaToBeTaken, totalNumCnfToBeTaken, qtaCnfToBeTaken, totalQtaAvailable, totalNumCnfAvailable, qtaCnfAvailable, partitaMag, dataScad, canOverflowOrderQuantity, canBatchLotBeChanged, onComplete);
|
||||
mListener.onFullItemDispatched(pickingObjectDTO,
|
||||
mtbAart,
|
||||
initialNumCnf,
|
||||
initialQtaCnf,
|
||||
initialQtaTot,
|
||||
totalQtaOrd,
|
||||
totalNumCnfOrd,
|
||||
qtaCnfOrd,
|
||||
totalQtaToBeTaken,
|
||||
totalNumCnfToBeTaken,
|
||||
qtaCnfToBeTaken,
|
||||
totalQtaAvailable,
|
||||
totalNumCnfAvailable,
|
||||
qtaCnfAvailable,
|
||||
partitaMag,
|
||||
dataScad,
|
||||
canOverflowOrderQuantity,
|
||||
canBatchLotBeChanged,
|
||||
onComplete);
|
||||
}
|
||||
|
||||
private void sendOnRowSaved() {
|
||||
@ -786,7 +804,14 @@ public class SpedizioneViewModel {
|
||||
|
||||
List<MtbColr> scannedMtbColrs = pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr();
|
||||
|
||||
List<MtbPartitaMag> availableBatchLots = Stream.of(scannedMtbColrs).filter(x -> x.getCodMart().equalsIgnoreCase(pickingObjectDTO.getMtbAart().getCodMart()) && (x.getPartitaMag() == null || UtilityString.isNullOrEmpty(x.getMtbPartitaMag().getDataScadS()) || UtilityDate.getDateInstance().before(x.getMtbPartitaMag().getDataScadD()))).distinctBy(MtbColr::getPartitaMag).map(x -> x.getPartitaMag() == null ? new MtbPartitaMag().setCodMart(x.getMtbAart().getCodMart()) : x.getMtbPartitaMag()).toList();
|
||||
List<MtbPartitaMag> availableBatchLots = Stream.of(scannedMtbColrs)
|
||||
.filter(x -> x.getCodMart().equalsIgnoreCase(pickingObjectDTO.getMtbAart().getCodMart()) &&
|
||||
(x.getPartitaMag() == null || x.getMtbPartitaMag().getDataScad() == null ||
|
||||
UtilityDate.getNow().isBefore(x.getMtbPartitaMag().getDataScad())))
|
||||
|
||||
.distinctBy(MtbColr::getPartitaMag)
|
||||
.map(x -> x.getPartitaMag() == null ? new MtbPartitaMag().setCodMart(x.getMtbAart().getCodMart()) : x.getMtbPartitaMag())
|
||||
.toList();
|
||||
|
||||
//Controllo se una delle partite combacia con quella che voglio evadere
|
||||
if (refMtbColr != null && refMtbColr.getMtbPartitaMag() != null) {
|
||||
@ -805,12 +830,17 @@ public class SpedizioneViewModel {
|
||||
|
||||
List<MtbPartitaMag> tmp = new ArrayList<>();
|
||||
|
||||
if (Stream.of(availableBatchLots).anyMatch(x -> !UtilityString.isNullOrEmpty(x.getDataScadS()))) {
|
||||
tmp.addAll(Stream.of(availableBatchLots).filter(x -> !UtilityString.isNullOrEmpty(x.getDataScadS()) && UtilityDate.getDateInstance().before(x.getDataScadD())).sortBy(MtbPartitaMag::getDataScadD).toList());
|
||||
if (Stream.of(availableBatchLots).anyMatch(x -> x.getDataScad() != null)) {
|
||||
tmp.addAll(Stream.of(availableBatchLots)
|
||||
.filter(x -> x.getDataScad() != null && UtilityDate.getNow().isBefore(x.getDataScad()))
|
||||
.sortBy(MtbPartitaMag::getDataScad).
|
||||
toList());
|
||||
}
|
||||
|
||||
if (Stream.of(availableBatchLots).anyMatch(x -> UtilityString.isNullOrEmpty(x.getDataScadS()))) {
|
||||
tmp.addAll(Stream.of(availableBatchLots).filter(x -> UtilityString.isNullOrEmpty(x.getDataScadS())).sortBy(x -> UtilityString.isNull(x.getPartitaMag(), "")).toList());
|
||||
if (Stream.of(availableBatchLots).anyMatch(x -> x.getDataScad() == null)) {
|
||||
tmp.addAll(Stream.of(availableBatchLots)
|
||||
.filter(x -> x.getDataScad() == null)
|
||||
.sortBy(x -> UtilityString.isNull(x.getPartitaMag(), "")).toList());
|
||||
}
|
||||
|
||||
this.sendBatchLotSelectionRequest(tmp, selected -> {
|
||||
@ -864,7 +894,7 @@ public class SpedizioneViewModel {
|
||||
BigDecimal qtaCnfAvailable = null;
|
||||
|
||||
String partitaMag = null;
|
||||
Date dataScad = null;
|
||||
LocalDate dataScad = null;
|
||||
|
||||
|
||||
if (refMtbColt == null && pickingObjectDTO.getMtbColts() != null && pickingObjectDTO.getMtbColts().size() == 1) {
|
||||
@ -925,7 +955,7 @@ public class SpedizioneViewModel {
|
||||
qtaColDaPrelevare = BigDecimal.ZERO;
|
||||
|
||||
partitaMag = mtbColrToUse.getPartitaMag();
|
||||
dataScad = mtbColrToUse.getDataScadPartitaD();
|
||||
dataScad = mtbColrToUse.getDataScadPartita();
|
||||
|
||||
} else if (pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getManualPickDTO() != null) {
|
||||
//Oppure le info del barcode scansionato
|
||||
@ -968,7 +998,7 @@ public class SpedizioneViewModel {
|
||||
|
||||
if (manualPickDTO.getMtbPartitaMag() != null) {
|
||||
partitaMag = manualPickDTO.getMtbPartitaMag().getPartitaMag();
|
||||
dataScad = manualPickDTO.getMtbPartitaMag().getDataScadD();
|
||||
dataScad = manualPickDTO.getMtbPartitaMag().getDataScad();
|
||||
}
|
||||
}
|
||||
|
||||
@ -978,7 +1008,7 @@ public class SpedizioneViewModel {
|
||||
});
|
||||
}
|
||||
|
||||
public void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, Date dataScad, boolean canOverflowOrderQuantity, boolean canPartitaMagBeChanged, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||
public void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, LocalDate dataScad, boolean canOverflowOrderQuantity, boolean canPartitaMagBeChanged, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||
if (SettingsManager.iDB().isNotifyLotStatus() && !UtilityString.isNullOrEmpty(partitaMag)) {
|
||||
this.loadProductLotStatus(mtbAart.getCodMart(), partitaMag, (status) -> {
|
||||
pickingObjectDTO.setStatoArticoloDTO(status);
|
||||
@ -1015,7 +1045,7 @@ public class SpedizioneViewModel {
|
||||
BigDecimal initialQtaTot = null;
|
||||
|
||||
String partitaMag = null;
|
||||
Date dataScad = null;
|
||||
LocalDate dataScad = null;
|
||||
|
||||
MtbColt refMtbColt = null;
|
||||
|
||||
@ -1049,7 +1079,7 @@ public class SpedizioneViewModel {
|
||||
qtaColDaPrelevare = BigDecimal.ZERO;
|
||||
|
||||
partitaMag = mtbColrToUse.getPartitaMag();
|
||||
dataScad = mtbColrToUse.getDataScadPartitaD();
|
||||
dataScad = mtbColrToUse.getDataScadPartita();
|
||||
|
||||
} else if (pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getManualPickDTO() != null) {
|
||||
//Oppure le info del barcode scansionato
|
||||
@ -1081,7 +1111,7 @@ public class SpedizioneViewModel {
|
||||
|
||||
if (manualPickDTO.getMtbPartitaMag() != null) {
|
||||
partitaMag = manualPickDTO.getMtbPartitaMag().getPartitaMag();
|
||||
dataScad = manualPickDTO.getMtbPartitaMag().getDataScadD();
|
||||
dataScad = manualPickDTO.getMtbPartitaMag().getDataScad();
|
||||
}
|
||||
} else {
|
||||
initialNumCnf = BigDecimal.ONE;
|
||||
@ -1154,7 +1184,7 @@ public class SpedizioneViewModel {
|
||||
BigDecimal qtaCnfAvailable = null;
|
||||
|
||||
String partitaMag = null;
|
||||
Date dataScad = null;
|
||||
LocalDate dataScad = null;
|
||||
|
||||
|
||||
List<MtbColr> mtbColrRifs = mtbColtRif != null && mtbColtRif.getMtbColr() != null ? mtbColtRif.getMtbColr() : null;
|
||||
@ -1195,7 +1225,7 @@ public class SpedizioneViewModel {
|
||||
|
||||
|
||||
partitaMag = mtbColrToEdit.getPartitaMag();
|
||||
dataScad = mtbColrToEdit.getDataScadPartitaD();
|
||||
dataScad = mtbColrToEdit.getDataScadPartita();
|
||||
|
||||
this.sendOnLoadingEnded();
|
||||
|
||||
@ -1244,7 +1274,7 @@ public class SpedizioneViewModel {
|
||||
}, this::sendError);
|
||||
}
|
||||
|
||||
public void saveNewRow(PickingObjectDTO pickingObjectDTO, MtbColt refMtbColt, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
|
||||
public void saveNewRow(PickingObjectDTO pickingObjectDTO, MtbColt refMtbColt, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
//TODO: Al posto di prelevare la prima riga bisognerebbe controllare se c'è ne una che corrisponde con la partita richiesta
|
||||
@ -1286,7 +1316,7 @@ public class SpedizioneViewModel {
|
||||
|
||||
if (dataScad != null)
|
||||
insertUDSRowRequestDto
|
||||
.setDataScad(UtilityDate.toLocalDate(dataScad));
|
||||
.setDataScad(dataScad);
|
||||
|
||||
this.mColliScaricoRESTConsumer.insertUDSRow(insertUDSRowRequestDto, createdMtbColr -> {
|
||||
pickingObjectDTO.getWithdrawMtbColrs().add(createdMtbColr);
|
||||
@ -1332,7 +1362,7 @@ public class SpedizioneViewModel {
|
||||
|
||||
}
|
||||
|
||||
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) {
|
||||
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
|
||||
|
||||
this.sendOnLoadingStarted();
|
||||
|
||||
@ -1780,7 +1810,7 @@ public class SpedizioneViewModel {
|
||||
|
||||
void onError(Exception ex);
|
||||
|
||||
void onFullItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, Date dataScad, boolean canOverflowOrderQuantity, boolean canBatchLotBeChanged, RunnableArgss<PickedQuantityDTO, Boolean> onComplete);
|
||||
void onFullItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd, BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, BigDecimal totalQtaAvailable, BigDecimal totalNumCnfAvailable, BigDecimal qtaCnfAvailable, String partitaMag, LocalDate dataScad, boolean canOverflowOrderQuantity, boolean canBatchLotBeChanged, RunnableArgss<PickedQuantityDTO, Boolean> onComplete);
|
||||
|
||||
void onInfoAggiuntiveRequired(MtbColt currentMtbColt, RunnableArgss<String, MtbTCol> onComplete);
|
||||
|
||||
|
||||
@ -1,12 +1,13 @@
|
||||
package it.integry.integrywmsnative.gest.spedizione.model;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
public class PickedQuantityDTO {
|
||||
|
||||
private String partitaMag;
|
||||
private Date dataScad;
|
||||
private LocalDate dataScad;
|
||||
|
||||
private BigDecimal numCnf;
|
||||
private BigDecimal qtaCnf;
|
||||
@ -21,11 +22,11 @@ public class PickedQuantityDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataScad() {
|
||||
public LocalDate getDataScad() {
|
||||
return dataScad;
|
||||
}
|
||||
|
||||
public PickedQuantityDTO setDataScad(Date dataScad) {
|
||||
public PickedQuantityDTO setDataScad(LocalDate dataScad) {
|
||||
this.dataScad = dataScad;
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -12,8 +12,8 @@ import androidx.appcompat.widget.AppCompatTextView;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@ -189,7 +189,7 @@ public class VersamentoMerceFragment extends BaseFragment implements ITitledFrag
|
||||
BigDecimal totalNumCnfAvailable,
|
||||
BigDecimal qtaCnfAvailable,
|
||||
String partitaMag,
|
||||
Date dataScad,
|
||||
LocalDate dataScad,
|
||||
boolean canOverflowOrderQuantity,
|
||||
boolean canBatchLotBeChanged,
|
||||
RunnableArgs<PickedQuantityDTO> onComplete) {
|
||||
|
||||
@ -6,8 +6,8 @@ import androidx.lifecycle.MutableLiveData;
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
@ -263,7 +263,7 @@ public class VersamentoMerceViewModel {
|
||||
mtbColr.getNumCnf(),
|
||||
mtbColr.getQtaCnf(),
|
||||
mtbColr.getPartitaMag(),
|
||||
mtbColr.getDataScadPartitaD(),
|
||||
mtbColr.getDataScadPartita(),
|
||||
false,
|
||||
false,
|
||||
pickedQuantity -> {
|
||||
@ -335,7 +335,7 @@ public class VersamentoMerceViewModel {
|
||||
BigDecimal totalNumCnfAvailable,
|
||||
BigDecimal qtaCnfAvailable,
|
||||
String partitaMag,
|
||||
Date dataScad,
|
||||
LocalDate dataScad,
|
||||
boolean canOverflowOrderQuantity,
|
||||
boolean canBatchLotBeChanged,
|
||||
RunnableArgs<PickedQuantityDTO> onComplete) {
|
||||
@ -382,7 +382,7 @@ public class VersamentoMerceViewModel {
|
||||
BigDecimal totalNumCnfAvailable,
|
||||
BigDecimal qtaCnfAvailable,
|
||||
String partitaMag,
|
||||
Date dataScad,
|
||||
LocalDate dataScad,
|
||||
boolean canOverflowOrderQuantity,
|
||||
boolean canBatchLotBeChanged,
|
||||
RunnableArgs<PickedQuantityDTO> onComplete);
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgsWithReturn;
|
||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||
@ -48,7 +48,7 @@ public class DialogInputQuantityV2DTO {
|
||||
|
||||
private String partitaMag;
|
||||
private String note;
|
||||
private Date dataScad;
|
||||
private LocalDate dataScad;
|
||||
private RunnableArgsWithReturn<DialogInputQuantityV2ViewModel, String> suggestPartitaMag;
|
||||
|
||||
private boolean canOverflowOrderQuantity;
|
||||
@ -260,11 +260,11 @@ public class DialogInputQuantityV2DTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataScad() {
|
||||
public LocalDate getDataScad() {
|
||||
return dataScad;
|
||||
}
|
||||
|
||||
public DialogInputQuantityV2DTO setDataScad(Date dataScad) {
|
||||
public DialogInputQuantityV2DTO setDataScad(LocalDate dataScad) {
|
||||
this.dataScad = dataScad;
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class DialogInputQuantityV2ResultDTO {
|
||||
|
||||
private String partitaMag;
|
||||
private String note;
|
||||
private Date dataScad;
|
||||
private LocalDate dataScad;
|
||||
|
||||
private BigDecimal numCnf;
|
||||
private BigDecimal qtaCnf;
|
||||
@ -31,11 +31,11 @@ public class DialogInputQuantityV2ResultDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataScad() {
|
||||
public LocalDate getDataScad() {
|
||||
return dataScad;
|
||||
}
|
||||
|
||||
public DialogInputQuantityV2ResultDTO setDataScad(Date dataScad) {
|
||||
public DialogInputQuantityV2ResultDTO setDataScad(LocalDate dataScad) {
|
||||
this.dataScad = dataScad;
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -26,8 +26,7 @@ import com.pedromassango.doubleclick.DoubleClickListener;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
@ -45,6 +44,7 @@ import it.integry.integrywmsnative.core.model.MtbUntMis;
|
||||
import it.integry.integrywmsnative.core.model.secondary.StatoPartitaMag;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityFocus;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityObservable;
|
||||
@ -67,7 +67,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
||||
|
||||
public ObservableField<String> currentPartitaMag = new ObservableField<>();
|
||||
public ObservableField<String> currentNotes = new ObservableField<>();
|
||||
public ObservableField<Date> currentDataScad = new ObservableField<>();
|
||||
public ObservableField<LocalDate> currentDataScad = new ObservableField<>();
|
||||
|
||||
public ObservableField<BigDecimal> currentNumCnf = new ObservableField<>();
|
||||
public ObservableField<BigDecimal> currentQtaCnf = new ObservableField<>();
|
||||
@ -300,12 +300,12 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia
|
||||
if (this.mEnableDataCallback) {
|
||||
MtbAart mtbAart = this.mViewModel.getMtbAart();
|
||||
if (value != null && mtbAart != null && mtbAart.getGgScadPartita() != null && mtbAart.getGgScadPartita() > 0) {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.add(Calendar.DATE, mtbAart.getGgScadPartita());
|
||||
Date minDataScad = calendar.getTime();
|
||||
if (minDataScad.after(value) && value.after(new Date())) {
|
||||
|
||||
LocalDate minDataScad = UtilityDate.getNow().plusDays(mtbAart.getGgScadPartita());
|
||||
if (minDataScad.isAfter(value) && value.isAfter(UtilityDate.getNow())) {
|
||||
DialogSimpleMessageView
|
||||
.makeWarningDialog(new SpannableString("La data selezionata è precedente alla data di scadenza consigliata per l'articolo scelto ( " + mtbAart.getGgScadPartita() + " giorni) . Continuare?"), null, () -> this.mViewModel.setDataScad(value), () -> this.currentDataScad.set(null))
|
||||
.makeWarningDialog(new SpannableString("La data selezionata è precedente alla data di scadenza consigliata per l'articolo scelto ( " + mtbAart.getGgScadPartita() + " giorni) . Continuare?"), null,
|
||||
() -> this.mViewModel.setDataScad(value), () -> this.currentDataScad.set(null))
|
||||
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||
} else {
|
||||
this.mViewModel.setDataScad(value);
|
||||
|
||||
@ -3,7 +3,7 @@ package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
|
||||
import androidx.databinding.ObservableField;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
@ -68,7 +68,7 @@ public class DialogInputQuantityV2ViewModel {
|
||||
|
||||
private String internalPartitaMag;
|
||||
private String internalNote;
|
||||
private Date internalDataScad;
|
||||
private LocalDate internalDataScad;
|
||||
|
||||
private RunnableArgsWithReturn<DialogInputQuantityV2ViewModel, String> suggestPartitaMagRunnable;
|
||||
|
||||
@ -169,9 +169,9 @@ public class DialogInputQuantityV2ViewModel {
|
||||
|
||||
try {
|
||||
if (!UtilityString.isNullOrEmpty(ean128Model.BestBefore)) {
|
||||
this.setDataScad(UtilityDate.recognizeDate(ean128Model.BestBefore));
|
||||
this.setDataScad(UtilityDate.recognizeLocalDate(ean128Model.BestBefore));
|
||||
} else if (!UtilityString.isNullOrEmpty(ean128Model.Expiry)) {
|
||||
this.setDataScad(UtilityDate.recognizeDate(ean128Model.Expiry));
|
||||
this.setDataScad(UtilityDate.recognizeLocalDate(ean128Model.Expiry));
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
this.mListener.onError(ex);
|
||||
@ -214,7 +214,7 @@ public class DialogInputQuantityV2ViewModel {
|
||||
return internalNote;
|
||||
}
|
||||
|
||||
public Date getDataScad() {
|
||||
public LocalDate getDataScad() {
|
||||
return internalDataScad;
|
||||
}
|
||||
|
||||
@ -339,7 +339,7 @@ public class DialogInputQuantityV2ViewModel {
|
||||
return this;
|
||||
}
|
||||
|
||||
public DialogInputQuantityV2ViewModel setDataScad(Date internalDataScad) {
|
||||
public DialogInputQuantityV2ViewModel setDataScad(LocalDate internalDataScad) {
|
||||
this.internalDataScad = internalDataScad;
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -0,0 +1,6 @@
|
||||
<vector android:height="24dp" android:viewportHeight="48"
|
||||
android:viewportWidth="48" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#FF9800" android:pathData="M37,5L11,5L6,12L6,40C6,41.6563 7.3438,43 9,43L39,43C40.6563,43 42,41.6563 42,40L42,12Z"/>
|
||||
<path android:fillColor="#F57C00" android:pathData="M12.0273,7L8.457,12L18,12C18,15.3125 20.6875,18 24,18C27.3125,18 30,15.3125 30,12L39.543,12L35.9727,7Z"/>
|
||||
<path android:fillColor="#CCFF90" android:pathData="M30.8242,21.7539L22.9336,29.6563L19.1719,25.8984L17,28.0742L22.9375,34L33,23.9258Z"/>
|
||||
</vector>
|
||||
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout>
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/mainGreen"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/group_title"
|
||||
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:padding="8dp"
|
||||
android:textColor="@android:color/white"
|
||||
android:textStyle="bold"
|
||||
tools:text="DESCRIZIONE" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
</layout>
|
||||
@ -0,0 +1,244 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/full_white">
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:id="@+id/content_view_child"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="8dp">
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/badge1"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/badge_round_corner"
|
||||
android:backgroundTint="@color/colorPrimary"
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingTop="2dp"
|
||||
android:paddingRight="6dp"
|
||||
android:paddingBottom="2dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:textColor="@android:color/white"
|
||||
android:textStyle="bold"
|
||||
tools:text="BADGE 1" />
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:background="@drawable/badge_round_corner"
|
||||
android:backgroundTint="@color/orange_600"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingTop="2dp"
|
||||
android:paddingRight="6dp"
|
||||
android:paddingBottom="2dp">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/badge2_icon"
|
||||
android:layout_width="14dp"
|
||||
android:layout_height="14dp"
|
||||
android:visibility="gone"
|
||||
android:tint="@color/white"
|
||||
android:layout_marginEnd="2dp"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/badge2"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@android:color/white"
|
||||
android:textStyle="bold"
|
||||
tools:text="BADGE 2" />
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:id="@+id/badge3_layout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:background="@drawable/badge_round_corner"
|
||||
android:backgroundTint="@color/light_blue_500"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingTop="2dp"
|
||||
android:paddingRight="6dp"
|
||||
android:paddingBottom="2dp">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:layout_width="12dp"
|
||||
android:layout_height="12dp"
|
||||
android:src="@drawable/ic_location_24"
|
||||
android:tint="@color/white" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/badge3"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:textColor="@android:color/white"
|
||||
android:textStyle="bold"
|
||||
tools:text="POSIZIONE" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:id="@+id/primary_unt_mis"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/qta_evasa"
|
||||
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:textColor="@color/green_700"
|
||||
android:textStyle="bold"
|
||||
tools:text="QTA" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text=" / "
|
||||
android:textColor="@android:color/black"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/qta_tot"
|
||||
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@android:color/black"
|
||||
android:textStyle="bold"
|
||||
tools:text="QTA" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/unt_mis"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@android:color/black"
|
||||
android:textStyle="bold"
|
||||
tools:text="cnf" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/titolo"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:textColor="@android:color/black"
|
||||
android:textStyle="bold"
|
||||
tools:text="CODICE ART" />
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:id="@+id/secondary_unt_mis"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignTop="@id/titolo"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:alpha="0.8"
|
||||
android:gravity="end"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/sec_qta_evasa"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:textColor="@color/green_700"
|
||||
android:textStyle="bold"
|
||||
tools:text="QTA" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text=" / "
|
||||
android:textStyle="bold" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/sec_qta_tot"
|
||||
style="@style/AppTheme.NewMaterial.Text.Small"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textStyle="bold"
|
||||
tools:text="QTA" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/sec_unt_mis"
|
||||
style="@style/AppTheme.NewMaterial.Text.ExtraSmall"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:textAllCaps="true"
|
||||
android:textStyle="bold"
|
||||
tools:text="cnf" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/descrizione"
|
||||
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_below="@id/titolo"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:textColor="@android:color/black"
|
||||
android:textSize="16sp"
|
||||
tools:text="DESCRIZIONE" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
<View
|
||||
android:id="@+id/deactivated_over_bg"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignTop="@id/content_view_child"
|
||||
android:layout_alignBottom="@id/content_view_child"
|
||||
android:alpha="0.15"
|
||||
android:background="@android:color/black" />
|
||||
|
||||
</RelativeLayout>
|
||||
</layout>
|
||||
@ -9,7 +9,7 @@
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/spedizione_group_title"
|
||||
android:id="@+id/group_title"
|
||||
style="@style/AppTheme.NewMaterial.Text.Medium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
221
app/src/main/res/layout/activity_accettazione_bolla_picking.xml
Normal file
221
app/src/main/res/layout/activity_accettazione_bolla_picking.xml
Normal file
@ -0,0 +1,221 @@
|
||||
<?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"
|
||||
xmlns:fab="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
|
||||
<data>
|
||||
|
||||
<import type="android.view.View" />
|
||||
|
||||
<variable
|
||||
name="accettazioneView"
|
||||
type="it.integry.integrywmsnative.gest.accettazione_bolla_picking.AccettazioneBollaPickingActivity" />
|
||||
</data>
|
||||
|
||||
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="top"
|
||||
android:background="@color/full_white"
|
||||
android:fitsSystemWindows="false">
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<!-- Main Content -->
|
||||
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/appbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/full_white"
|
||||
android:minHeight="?attr/actionBarSize">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
style="@style/AppTheme.NewMaterial.Text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
app:layout_collapseMode="pin" />
|
||||
|
||||
|
||||
<HorizontalScrollView
|
||||
android:id="@+id/filter_chips"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:scrollbars="none">
|
||||
|
||||
<com.google.android.material.chip.ChipGroup
|
||||
android:id="@+id/filter_chips_group"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingEnd="8dp"
|
||||
app:chipSpacing="8dp"
|
||||
app:singleSelection="true" />
|
||||
</HorizontalScrollView>
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/accettazione_picking_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipToPadding="false"
|
||||
android:paddingBottom="72dp"
|
||||
android:scrollbars="vertical"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"/>
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/accettazione_empty_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:alpha="0.3"
|
||||
app:visibility="@{accettazioneView.noItemsToPick}">
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guideline_empty_top"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintGuide_percent="0.2" />
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guideline_empty_left"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.15" />
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guideline_empty_right"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.85" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintEnd_toStartOf="@id/guideline_empty_right"
|
||||
app:layout_constraintStart_toEndOf="@id/guideline_empty_left"
|
||||
app:layout_constraintTop_toTopOf="@id/guideline_empty_top">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:layout_width="72dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:src="@drawable/ic_playlist_add_check_24dp" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/no_item_to_pick_text"
|
||||
android:textColor="@android:color/black"
|
||||
android:textSize="18sp" />
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<com.github.clans.fab.FloatingActionMenu
|
||||
android:id="@+id/accettazione_ordine_inevaso_fab"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentBottom="true"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:visibility="@{accettazioneView.noLUPresent}"
|
||||
fab:menu_animationDelayPerItem="50"
|
||||
fab:menu_backgroundColor="@color/white_bg_alpha"
|
||||
fab:menu_buttonSpacing="0dp"
|
||||
fab:menu_colorNormal="@color/colorSecondary"
|
||||
fab:menu_colorPressed="@color/colorSecondaryDark"
|
||||
fab:menu_fab_size="normal"
|
||||
fab:menu_labels_colorNormal="@color/white"
|
||||
fab:menu_labels_colorPressed="@color/white_pressed"
|
||||
fab:menu_labels_colorRipple="#66FFFFFF"
|
||||
fab:menu_labels_cornerRadius="3dp"
|
||||
fab:menu_labels_hideAnimation="@anim/fab_slide_out_to_right"
|
||||
fab:menu_labels_margin="0dp"
|
||||
fab:menu_labels_padding="8dp"
|
||||
fab:menu_labels_paddingBottom="4dp"
|
||||
fab:menu_labels_paddingLeft="8dp"
|
||||
fab:menu_labels_paddingRight="8dp"
|
||||
fab:menu_labels_paddingTop="4dp"
|
||||
fab:menu_labels_position="left"
|
||||
fab:menu_labels_showAnimation="@anim/fab_slide_in_from_right"
|
||||
fab:menu_labels_showShadow="true"
|
||||
fab:menu_labels_textColor="@color/black_semi_transparent"
|
||||
fab:menu_labels_textSize="18sp"
|
||||
fab:menu_openDirection="up"
|
||||
fab:menu_shadowColor="#66000000"
|
||||
fab:menu_shadowRadius="4dp"
|
||||
fab:menu_shadowXOffset="1dp"
|
||||
fab:menu_shadowYOffset="3dp"
|
||||
fab:menu_showShadow="true">
|
||||
|
||||
<com.github.clans.fab.FloatingActionButton
|
||||
android:id="@+id/accettazione_ordine_inevaso_fab_item1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_box"
|
||||
app:fab_colorNormal="@color/white"
|
||||
app:fab_colorPressed="@color/white_pressed"
|
||||
app:fab_colorRipple="#66FFFFFF"
|
||||
app:onClick="@{() -> accettazioneView.showCreatedUL()}"
|
||||
fab:fab_label="@string/action_show_created_ul" />
|
||||
|
||||
<com.github.clans.fab.FloatingActionButton
|
||||
android:id="@+id/accettazione_ordine_inevaso_fab_item2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_add_24dp"
|
||||
app:fab_colorNormal="@color/white"
|
||||
app:fab_colorPressed="@color/white_pressed"
|
||||
app:fab_colorRipple="#66FFFFFF"
|
||||
app:onClick="@{() -> accettazioneView.createNewLU()}"
|
||||
fab:fab_label="@string/action_create_ul" />
|
||||
|
||||
</com.github.clans.fab.FloatingActionMenu>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/bottom_sheet__background"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#99000000"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:visibility="gone" />
|
||||
|
||||
<it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView
|
||||
android:id="@+id/bottom_sheet_lu_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:behavior_hideable="false"
|
||||
app:behavior_peekHeight="66dp"
|
||||
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"
|
||||
app:visibility="@{accettazioneView.bottomSheetEnabled}"
|
||||
app:parentView="@id/bottom_sheet_lu_content" />
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
</layout>
|
||||
@ -55,17 +55,17 @@
|
||||
android:textStyle="bold"
|
||||
android:layout_toStartOf="@id/data_scad"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:visibility="@{UtilityString.isNullOrEmpty(mtbPartitaMag.dataScadS) ? View.GONE : View.VISIBLE}" />
|
||||
android:visibility="@{mtbPartitaMag.dataScad == null ? View.GONE : View.VISIBLE}" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/data_scad"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:text="@{UtilityDate.formatDate(mtbPartitaMag.dataScadD, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)}"
|
||||
android:text="@{UtilityDate.formatDate(mtbPartitaMag.dataScad, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)}"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
android:visibility="@{UtilityString.isNullOrEmpty(mtbPartitaMag.dataScadS) ? View.GONE : View.VISIBLE}"
|
||||
android:visibility="@{mtbPartitaMag.dataScad == null ? View.GONE : View.VISIBLE}"
|
||||
tools:text="Data scad" />
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
|
||||
<variable
|
||||
name="view"
|
||||
type="it.integry.integrywmsnative.gest.accettazone_bolla_elenco.MainAccettazioneBollaElencoFragment" />
|
||||
type="it.integry.integrywmsnative.gest.accettazione_bolla_elenco.MainAccettazioneBollaElencoFragment" />
|
||||
</data>
|
||||
|
||||
<FrameLayout xmlns:fab="http://schemas.android.com/apk/res-auto"
|
||||
@ -15,7 +15,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/full_white"
|
||||
tools:context="it.integry.integrywmsnative.gest.accettazone_bolla_elenco.MainAccettazioneBollaElencoFragment">
|
||||
tools:context="it.integry.integrywmsnative.gest.accettazione_bolla_elenco.MainAccettazioneBollaElencoFragment">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@ -23,14 +23,14 @@
|
||||
android:layout_width="64sp"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:src="@drawable/ic_dashboard_accettazione" />
|
||||
android:src="@drawable/ic_dashboard_accettazione_ordini" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/menu_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="@string/accettazione_title_fragment"
|
||||
android:text="@string/accettazione_ordine_title_fragment"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/gray_700"
|
||||
android:gravity="center_horizontal"
|
||||
|
||||
@ -16,7 +16,8 @@
|
||||
<string name="ord_ven_testata_data_cons"><![CDATA[Cons <b>%s</b>]]></string>
|
||||
<string name="search">Cerca…</string>
|
||||
<string name="login">Login</string>
|
||||
<string name="accettazione_title_fragment">Accettazione</string>
|
||||
<string name="accettazione_bolle_title_fragment">Accettazione bolle</string>
|
||||
<string name="accettazione_ordine_title_fragment">Accettazione</string>
|
||||
<string name="accettazione_ordine_inevaso_title_empty">Ordine di accettazione</string>
|
||||
<string name="accettazione_ordine_inevaso_title_multiple_order">Ordini di accettazione</string>
|
||||
<string name="vendita_title_fragment">Spedizione</string>
|
||||
|
||||
@ -64,7 +64,8 @@
|
||||
<string name="ord_testata"><![CDATA[#<b>%s</b> of <b>%s</b>]]></string>
|
||||
<string name="doc_testata"><![CDATA[#<b>%s</b> of <b>%s</b>]]></string>
|
||||
<string name="ord_ven_testata_data_cons"><![CDATA[Ship <b>%s</b>]]></string>
|
||||
<string name="accettazione_title_fragment">Check in</string>
|
||||
<string name="accettazione_bolle_title_fragment">Check in</string>
|
||||
<string name="accettazione_ordine_title_fragment">Check in</string>
|
||||
<string name="accettazione_ordine_inevaso_title_empty">Check in order</string>
|
||||
<string name="accettazione_ordine_inevaso_title_multiple_order">Multiple acceptance orders</string>
|
||||
<string name="vendita_title_fragment">Check out</string>
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<PreferenceCategory
|
||||
app:title="@string/accettazione_title_fragment"
|
||||
app:title="@string/accettazione_ordine_title_fragment"
|
||||
app:iconSpaceReserved="false">
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user