From ecfb8faf01bb388653d9a58699432ee85f739654 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Tue, 8 Feb 2022 10:36:40 +0100 Subject: [PATCH] =?UTF-8?q?vg=20aggiunta=20possibilit=C3=A0=20di=20selezio?= =?UTF-8?q?nare=20il=20tipo=20pedana=20in=20accettazione=20e=20visulizzati?= =?UTF-8?q?=20dettagli=20peso?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/deploymentTargetDropDown.xml | 12 ++ .../MainApplicationComponent.java | 38 +++++ .../AccettazionePickingActivity.java | 7 +- .../AccettazionePickingViewModel.java | 13 +- .../picking_resi/PickingResiActivity.java | 13 +- .../picking_resi/PickingResiViewModel.java | 12 +- ...odRientroMerceOrderDetailRESTConsumer.java | 16 +- ...roMerceOrderDetailRESTConsumerService.java | 4 +- .../InfoAggiuntiveLUDialog.java | 146 ++++++++++++++++++ .../InfoAggiuntiveLUDialogComponent.java | 15 ++ .../InfoAggiuntiveLUDialogModule.java | 15 ++ .../InfoAggiuntiveLUDialogViewModel.java | 71 +++++++++ .../input_lu_prod/DialogInputLUProdView.java | 24 ++- .../DialogInputQuantityV2View.java | 23 ++- .../DialogInputQuantityV2ViewModel.java | 28 ++-- .../NoteAggiuntiveLUDialog.java | 47 ------ .../dialog_input_quantity_v2.xml | 91 ++++++++++- .../bottom_sheet_fragment__lu_content.xml | 68 ++++++++ .../res/layout/dialog_input_quantity_v2.xml | 94 ++++++++++- .../dialog_note_aggiuntive_nuova_ul.xml | 34 +++- app/src/main/res/values-it/strings.xml | 3 +- app/src/main/res/values/strings.xml | 2 + 22 files changed, 659 insertions(+), 117 deletions(-) create mode 100644 app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialog.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialogComponent.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialogModule.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialogViewModel.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/view/dialogs/note_aggiuntive_lu/NoteAggiuntiveLUDialog.java diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 2850b67a..439f49c6 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -1,6 +1,18 @@ + + + + + + + + + + + + diff --git a/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java b/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java index 60078c14..ba20830b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java @@ -63,6 +63,7 @@ import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.Dial import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArtsModule; import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotComponent; import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotModule; +import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.InfoAggiuntiveLUDialogComponent; import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdComponent; import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdModule; import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2Component; @@ -114,42 +115,79 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr public interface MainApplicationComponent { SplashActivityComponent.Factory splashActivityComponent(); + LoginComponent.Factory loginActivityComponent(); + MainActivityComponent.Factory mainActivityComponent(); + MainFragmentComponent.Factory mainFragmentComponent(); + MainAccettazioneComponent.Factory mainAccettazioneComponent(); + ListaBancaliComponent.Factory listaBancaliComponent(); + ContenutoBancaleComponent.Factory contenutoBancaleComponent(); + PVOrdiniAcquistoGrigliaComponent.Factory pvOrdineAcquistoGrigliaComponent(); + PVOrdineAcquistoEditComponent.Factory pvOrdineAcquistoEditComponent(); + PickingLiberoComponent.Factory pickingLiberoComponent(); + RettificaGiacenzeComponent.Factory rettificaGiacenzeComponent(); + SpedizioneComponent.Factory spedizioneComponent(); + AccettazionePickingComponent.Factory accettazionePickingComponent(); + UltimeConsegneClienteComponent.Factory ultimeConsegneClienteComponent(); + UltimiArriviFornitoreComponent.Factory ultimiArriviFornitoreComponent(); + PickingResiComponent.Factory pickingResiComponent(); + OrdiniUscitaElencoComponent.Factory prodOrdineLavorazioneElencoComponent(); + DialogInputQuantityV2Component.Factory dialogInputQuantityV2Component(); + DialogInputLUProdComponent.Factory dialogInputLUProdComponent(); + DialogScanArtComponent.Factory dialogScanArtComponent(); + DialogScanOrCreateLUComponent.Factory dialogScanOrCreateLUComponent(); + ProdFabbisognoLineeProdComponent.Factory prodFabbisognoLineeProdComponent(); + VersamentoMerceComponent.Factory versamentoMerceComponent(); + DialogAskMagazzinoProssimitaComponent.Factory dialogAskMagazzinoProssimitaComponent(); + DialogChooseBatchLotComponent.Factory dialogChooseBatchLotComponent(); + DialogRowInfoProdFabbisognoLineeProdComponent.Factory dialogRowInfoProdFabbisognoLineeProdComponent(); + ProdRientroMerceComponent.Factory prodRientroMerceComponent(); + ProdRientroMerceOrderDetailComponent.Factory prodRientroMerceOrderDetailComponent(); + ProdOrdineProduzioneElencoComponent.Factory prodOrdineProduzioneElencoComponent(); + ProdRecuperoMaterialeComponent.Factory prodRecuperoMaterialeComponent(); + ProdVersamentoMaterialeComponent.Factory prodVersamentoMaterialeComponent(); + DialogChooseArtsFromListaArtsComponent.Factory dialogChooseArtsFromListaArtsComponent(); + DocInterniComponent.Factory docInterniComponent(); + DialogSelectDocInfoComponent.Factory dialogSelectMgrpDtipPairComponent(); + DocInterniEditFormComponent.Factory docInterniEditFormComponent(); + InfoAggiuntiveLUDialogComponent.Factory infoAggiuntiveLUDialogComponent(); + void inject(MainApplication mainApplication); + void inject(AppContext mainApplication); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java index 30dbcaf0..6857bda6 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingActivity.java @@ -41,6 +41,7 @@ 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.consumers.PrinterRESTConsumer; @@ -72,9 +73,9 @@ import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFrag 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.InfoAggiuntiveLUDialog; 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.note_aggiuntive_lu.NoteAggiuntiveLUDialog; import it.integry.integrywmsnative.view.dialogs.versamento_automatico_ul_done.DialogVersamentoAutomaticoULDoneView; public class AccettazionePickingActivity extends BaseActivity implements AccettazionePickingViewModel.Listener, BottomSheetFragmentLUContentViewModel.Listener, BottomSheetFragmentLUContentView.Listener { @@ -791,9 +792,9 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta } @Override - public void onNoteAggiuntiveRequest(RunnableArgs onComplete) { + public void onInfoAggiuntiveRequest(RunnableArgss onComplete) { runOnUiThread(() -> { - NoteAggiuntiveLUDialog.make(this, onComplete).show(); + InfoAggiuntiveLUDialog.newInstance(onComplete).show(getSupportFragmentManager(), "InfoAggiuntiveLUDialog"); }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java index d72c941b..851d4979 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java @@ -34,6 +34,7 @@ import it.integry.integrywmsnative.core.model.CommonModelConsts; 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; @@ -359,7 +360,7 @@ public class AccettazionePickingViewModel { } public void createNewLU(Integer customNumCollo, String customSerCollo, boolean disablePrint, Runnable onComplete) { - this.sendOnNoteAggiuntiveRequest(additionalNotes -> { + this.sendOnInfoAggiuntiveRequest((additionalNotes, tCol) -> { this.mGestSetupRESTConsumer.getValue("PICKING", "SETUP", "DEFAULT_POSIZIONE_COLLI_ACCETTAZIONE", defaultPosAccettazioneDTO -> { @@ -375,6 +376,10 @@ public class AccettazionePickingViewModel { .setPosizione(defaultPosAccettazione) .setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); + if (tCol != null) { + mtbColt.setCodTcol(tCol.getCodTcol()); + } + if (customNumCollo != null) { mtbColt.setNumCollo(customNumCollo); } @@ -896,8 +901,8 @@ public class AccettazionePickingViewModel { if (this.mListener != null) this.mListener.onVersamentoAutomaticoULRequest(onComplete); } - private void sendOnNoteAggiuntiveRequest(RunnableArgs onComplete) { - if (this.mListener != null) this.mListener.onNoteAggiuntiveRequest(onComplete); + private void sendOnInfoAggiuntiveRequest(RunnableArgss onComplete) { + if (this.mListener != null) this.mListener.onInfoAggiuntiveRequest(onComplete); } private void sendError(Exception ex) { @@ -990,7 +995,7 @@ public class AccettazionePickingViewModel { void onVersamentoAutomaticoULRequest(RunnableArgs onComplete); - void onNoteAggiuntiveRequest(RunnableArgs onComplete); + void onInfoAggiuntiveRequest(RunnableArgss onComplete); void onError(Exception ex); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiActivity.java index 7607dec1..e78c5c2a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiActivity.java @@ -33,6 +33,7 @@ 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.rest.model.DocumentoResoDTO; import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; @@ -42,18 +43,18 @@ 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.ActivityPickingResiBinding; +import it.integry.integrywmsnative.gest.picking_resi.rest.WithdrawableDtbDocr; import it.integry.integrywmsnative.gest.picking_resi.ui.PickingResiListAdapter; import it.integry.integrywmsnative.gest.picking_resi.ui.PickingResiListModel; -import it.integry.integrywmsnative.gest.picking_resi.rest.WithdrawableDtbDocr; 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_print.DialogAskShouldPrint; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; +import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.InfoAggiuntiveLUDialog; 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.note_aggiuntive_lu.NoteAggiuntiveLUDialog; public class PickingResiActivity extends BaseActivity implements BottomSheetFragmentLUContentView.Listener, BottomSheetFragmentLUContentViewModel.Listener, PickingResiViewModel.Listener { @@ -276,15 +277,15 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag } @Override - public void onNoteAggiuntiveRequired(RunnableArgs onComplete) { - NoteAggiuntiveLUDialog.make(this, onComplete).show(); + public void onInfoAggiuntiveRequired(RunnableArgss onComplete) { + InfoAggiuntiveLUDialog.newInstance(onComplete).show(getSupportFragmentManager(), "InfoAggiuntiveLUDialog"); } @Override public void onError(Exception ex) { this.closeProgress(); - if(ex instanceof InvalidPesoKGException) { + if (ex instanceof InvalidPesoKGException) { UtilityToast.showToast(ex.getMessage()); } else { UtilityExceptions.defaultException(this, ex, mCurrentProgress); @@ -401,7 +402,7 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag null, R.string.button_ignore_print, onComplete) - .show(getSupportFragmentManager(), "tag"); + .show(getSupportFragmentManager(), "tag"); } @Override diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiViewModel.java index be32fd1e..1b762068 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiViewModel.java @@ -28,6 +28,7 @@ import it.integry.integrywmsnative.core.model.CommonModelConsts; 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.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; @@ -161,11 +162,14 @@ public class PickingResiViewModel { this.sendOnLoadingEnded(); }); } else { - this.sendOnNoteAggiuntiveRequired(noteAggiuntive -> { + this.sendOnInfoAggiuntiveRequired((noteAggiuntive, tCol) -> { if (!UtilityString.isNullOrEmpty(noteAggiuntive)) { this.mCurrentMtbColt.setAnnotazioni(noteAggiuntive); } + if (tCol != null) { + this.mCurrentMtbColt.setCodTcol(tCol.getCodTcol()); + } this.mColliMagazzinoRESTConsumer.updateDataFine(mCurrentMtbColt, () -> { @@ -717,8 +721,8 @@ public class PickingResiViewModel { return mPickingList; } - private void sendOnNoteAggiuntiveRequired(RunnableArgs onComplete) { - if (this.mListener != null) this.mListener.onNoteAggiuntiveRequired(onComplete); + private void sendOnInfoAggiuntiveRequired(RunnableArgss onComplete) { + if (this.mListener != null) this.mListener.onInfoAggiuntiveRequired(onComplete); } private void sendOnLoadingStarted() { @@ -795,7 +799,7 @@ public class PickingResiViewModel { public interface Listener extends ILUPrintListener, ILoadingListener, ILUBaseOperationsListener { - void onNoteAggiuntiveRequired(RunnableArgs onComplete); + void onInfoAggiuntiveRequired(RunnableArgss onComplete); void onError(Exception ex); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/rest/ProdRientroMerceOrderDetailRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/rest/ProdRientroMerceOrderDetailRESTConsumer.java index 0db56157..752a7a33 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/rest/ProdRientroMerceOrderDetailRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/rest/ProdRientroMerceOrderDetailRESTConsumer.java @@ -80,7 +80,7 @@ public class ProdRientroMerceOrderDetailRESTConsumer extends _BaseRESTConsumer { }.getType(); systemRESTConsumer.>processSql(mtbColtSql, mtbColtTypeOfObjectsList, mtbColtList -> { - if(mtbColtList == null) mtbColtList = new ArrayList<>(); + if (mtbColtList == null) mtbColtList = new ArrayList<>(); for (MtbColt mtbColt : mtbColtList) { @@ -108,23 +108,21 @@ public class ProdRientroMerceOrderDetailRESTConsumer extends _BaseRESTConsumer { } - - public void importColloDaProduzione(ImportColliDaProduzioneRequestDTO importColliDaProduzioneRequestDTO, RunnableArgs onComplete, RunnableArgs onFailed) { ProdRientroMerceOrderDetailRESTConsumerService service = RESTBuilder.getService(ProdRientroMerceOrderDetailRESTConsumerService.class); - service.importColloDaProduzione(importColliDaProduzioneRequestDTO).enqueue(new Callback>() { + service.importColloDaProduzione(importColliDaProduzioneRequestDTO).enqueue(new Callback>>() { @Override - public void onResponse(Call> call, Response> response) { + public void onResponse(Call>> call, Response>> response) { analyzeAnswer(response, "importColliDaProduzione", mtbColt -> { - onComplete.run(mtbColt); + onComplete.run(mtbColt.get(0)); }, ex -> { - if(onFailed != null) onFailed.run(ex); + if (onFailed != null) onFailed.run(ex); }); } @Override - public void onFailure(Call> call, Throwable t) { + public void onFailure(Call>> call, Throwable t) { Logger.e(t, "importColliDaProduzione"); onFailed.run(new Exception(t)); } @@ -140,7 +138,7 @@ public class ProdRientroMerceOrderDetailRESTConsumer extends _BaseRESTConsumer { analyzeAnswer(response, "deleteColloDaProduzione", mtbColt -> { onComplete.run(); }, ex -> { - if(onFailed != null) onFailed.run(ex); + if (onFailed != null) onFailed.run(ex); }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/rest/ProdRientroMerceOrderDetailRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/rest/ProdRientroMerceOrderDetailRESTConsumerService.java index 7943bae0..fbbf13da 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/rest/ProdRientroMerceOrderDetailRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/rest/ProdRientroMerceOrderDetailRESTConsumerService.java @@ -13,10 +13,10 @@ public interface ProdRientroMerceOrderDetailRESTConsumerService { @POST("importColliDaProduzioneJson") - Call> importColliDaProduzione(@Body List importColliDaProduzioneRequestDTO); + Call>> importColliDaProduzione(@Body List importColliDaProduzioneRequestDTO); @POST("importColloDaProduzioneJson") - Call> importColloDaProduzione(@Body ImportColliDaProduzioneRequestDTO importColloDaProduzioneRequestDTO); + Call>> importColloDaProduzione(@Body ImportColliDaProduzioneRequestDTO importColloDaProduzioneRequestDTO); @POST("cancellaColloDaProduzione") Call> deleteColloDaProduzione(@Body MtbColt mtbColtToDelete); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialog.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialog.java new file mode 100644 index 00000000..75155e02 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialog.java @@ -0,0 +1,146 @@ +package it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu; + +import android.content.DialogInterface; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.WindowManager; +import android.widget.AdapterView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.databinding.DataBindingUtil; +import androidx.databinding.ObservableField; + +import com.annimon.stream.Optional; +import com.annimon.stream.Stream; + +import org.jetbrains.annotations.NotNull; + +import javax.inject.Inject; + +import it.integry.integrywmsnative.MainApplication; +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.expansion.BaseDialogFragment; +import it.integry.integrywmsnative.core.expansion.RunnableArgss; +import it.integry.integrywmsnative.core.model.MtbTCol; +import it.integry.integrywmsnative.core.utility.UtilityDialog; +import it.integry.integrywmsnative.core.utility.UtilityObservable; +import it.integry.integrywmsnative.databinding.DialogNoteAggiuntiveNuovaUlBinding; +import it.integry.integrywmsnative.view.dialogs.input_lu_prod.adapter.DialogInputLUProdTipoColloAdapter; +import it.integry.integrywmsnative.view.dialogs.input_lu_prod.adapter.DialogInputLUProdTipoColloListModel; + +public class InfoAggiuntiveLUDialog extends BaseDialogFragment implements InfoAggiuntiveLUDialogViewModel.Listener { + + @Inject + InfoAggiuntiveLUDialogViewModel mViewModel; + + private DialogNoteAggiuntiveNuovaUlBinding mBindings; + private final RunnableArgss mOnComplete; + + private DialogInputLUProdTipoColloAdapter codTcolArrayAdapter = null; + public ObservableField additionalNotes = new ObservableField<>(); + public ObservableField selectedMtbTcol = new ObservableField<>(); + public ObservableField currentMtbTCol = new ObservableField<>(); + + public static InfoAggiuntiveLUDialog newInstance(@NotNull RunnableArgss onComplete) { + return new InfoAggiuntiveLUDialog(onComplete); + } + + private InfoAggiuntiveLUDialog(@NotNull RunnableArgss onComplete) { + super(); + this.mOnComplete = onComplete; + + } + + + @Override + public void onStart() { + super.onStart(); + this.init(); + + UtilityDialog.setTo90PercentWidth(requireActivity(), this); + this.mViewModel.setListener(this); + this.mViewModel.init(); + } + + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_note_aggiuntive_nuova_ul, container, false); + mBindings.setLifecycleOwner(this); + + MainApplication.appComponent + .infoAggiuntiveLUDialogComponent() + .create() + .inject(this); + + mBindings.setView(this); + mBindings.setViewModel(this.mViewModel); + + getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + getDialog().setCanceledOnTouchOutside(false); + getDialog().setCancelable(false); + getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); + + + return mBindings.getRoot(); + } + + @Override + public void onDismiss(@NonNull DialogInterface dialog) { + if (mOnComplete != null) + mOnComplete.run(additionalNotes.get(), mViewModel.getInternalTipoPed()); + super.onDismiss(dialog); + } + + + private void init() { + + + UtilityObservable.addPropertyChanged(this.selectedMtbTcol, (value) -> { + if (this.codTcolArrayAdapter != null && this.codTcolArrayAdapter.getDataset() != null) { + Optional selectedItem = Stream.of(this.codTcolArrayAdapter.getDataset()) + .filter(x -> x.toString().equals(value)) + .findFirst(); + + if (selectedItem.isPresent()) { + currentMtbTCol.set(selectedItem.get()); + this.mViewModel.setInternalTipoPed(selectedItem.get().getOriginalModel()); + } + } + }); + + this.mViewModel.getTipiCollo().observe(getViewLifecycleOwner(), tipiCollo -> { + + codTcolArrayAdapter = new DialogInputLUProdTipoColloAdapter(getActivity(), R.layout.array_adapter_single_item, tipiCollo); + mBindings.filledExposedDropdownCodTcol.setAdapter(codTcolArrayAdapter); + + }); + + this.mBindings.filledExposedDropdownCodTcol.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView adapterView, View view, int i, long l) { + currentMtbTCol.set(codTcolArrayAdapter.getItem(i)); + } + + @Override + public void onNothingSelected(AdapterView adapterView) { + currentMtbTCol.set(null); + } + }); + + mBindings.buttonConfirm.setOnClickListener(v -> { + dismiss(); + }); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialogComponent.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialogComponent.java new file mode 100644 index 00000000..e5f7969c --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialogComponent.java @@ -0,0 +1,15 @@ +package it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu; + +import dagger.Subcomponent; + +@Subcomponent +public interface InfoAggiuntiveLUDialogComponent { + + @Subcomponent.Factory + interface Factory { + InfoAggiuntiveLUDialogComponent create(); + } + + void inject(InfoAggiuntiveLUDialog infoAggiuntiveLUDialog); + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialogModule.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialogModule.java new file mode 100644 index 00000000..737399cc --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialogModule.java @@ -0,0 +1,15 @@ +package it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu; + +import dagger.Module; +import dagger.Provides; +import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer; + +@Module(subcomponents = InfoAggiuntiveLUDialogComponent.class) +public class InfoAggiuntiveLUDialogModule { + + @Provides + InfoAggiuntiveLUDialogViewModel providesInfoAggiuntiveLUDialogViewModel(MagazzinoRESTConsumer magazzinoRESTConsumer) { + return new InfoAggiuntiveLUDialogViewModel(magazzinoRESTConsumer); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialogViewModel.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialogViewModel.java new file mode 100644 index 00000000..369d591e --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/info_aggiuntive_lu/InfoAggiuntiveLUDialogViewModel.java @@ -0,0 +1,71 @@ +package it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu; + +import androidx.lifecycle.MutableLiveData; + +import java.util.List; + +import javax.inject.Inject; + +import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; +import it.integry.integrywmsnative.core.model.MtbTCol; +import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer; + +public class InfoAggiuntiveLUDialogViewModel { + + private final MutableLiveData> mTipiColloLiveData = new MutableLiveData<>(); + + private MtbTCol internalTipoPed; + + private Listener mListener; + + private final MagazzinoRESTConsumer mMagazzinoRESTConsumer; + + @Inject + public InfoAggiuntiveLUDialogViewModel(MagazzinoRESTConsumer magazzinoRESTConsumer) { + this.mMagazzinoRESTConsumer = magazzinoRESTConsumer; + } + + public void init() { + new Thread(this::sendOnLoadingStarted).start(); + + mMagazzinoRESTConsumer.getTipiCollo(tipiCollo -> { + this.mTipiColloLiveData.postValue(tipiCollo); + this.sendOnLoadingEnded(); + }, this::sendError); + } + + public MutableLiveData> getTipiCollo() { + return this.mTipiColloLiveData; + } + + public void setInternalTipoPed(MtbTCol internalTipoPed) { + this.internalTipoPed = internalTipoPed; + } + + + public MtbTCol getInternalTipoPed() { + return internalTipoPed; + } + + private void sendOnLoadingStarted() { + if (this.mListener != null) mListener.onLoadingStarted(); + } + + private void sendOnLoadingEnded() { + if (this.mListener != null) mListener.onLoadingEnded(); + } + + private void sendError(Exception ex) { + if (this.mListener != null) mListener.onError(ex); + } + + public void setListener(Listener listener) { + this.mListener = listener; + } + + public interface Listener extends ILoadingListener { + + void onError(Exception ex); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdView.java index 9b6c620b..1c72ce25 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdView.java @@ -100,7 +100,6 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI } - @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -154,12 +153,12 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI }); UtilityObservable.addPropertyChanged(this.selectedMtbTcol, (value) -> { - if(this.codTcolArrayAdapter != null && this.codTcolArrayAdapter.getDataset() != null) { + if (this.codTcolArrayAdapter != null && this.codTcolArrayAdapter.getDataset() != null) { Optional selectedItem = Stream.of(this.codTcolArrayAdapter.getDataset()) .filter(x -> x.toString().equals(value)) .findFirst(); - if(selectedItem.isPresent()) { + if (selectedItem.isPresent()) { currentMtbTCol.set(selectedItem.get()); this.mViewModel.setInternalTipoPed(selectedItem.get().getOriginalModel()); } @@ -171,12 +170,12 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI }); UtilityObservable.addPropertyChanged(this.selectedLineaProd, (value) -> { - if(this.lineeProdArrayAdapter != null && this.lineeProdArrayAdapter.getDataset() != null) { + if (this.lineeProdArrayAdapter != null && this.lineeProdArrayAdapter.getDataset() != null) { Optional selectedItem = Stream.of(this.lineeProdArrayAdapter.getDataset()) .filter(x -> x.toString().equals(value)) .findFirst(); - if(selectedItem.isPresent()) { + if (selectedItem.isPresent()) { currentLineaProd.set(selectedItem.get()); this.mViewModel.setInternalLineaProd(selectedItem.get().getOriginalModel()); } @@ -196,7 +195,7 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI }); UtilityObservable.addPropertyChanged(this.currentPesoNetto, (value) -> { - if(value != null) { + if (value != null) { this.currentPesoNetto.set(value.setScale(0, RoundingMode.HALF_UP)); } if (this.mEnableDataCallback) { @@ -217,7 +216,7 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI }); UtilityObservable.addPropertyChanged(this.currentPesoLordo, (value) -> { - if(value != null) { + if (value != null) { this.currentPesoLordo.set(value.setScale(0, RoundingMode.HALF_UP)); } if (this.mEnableDataCallback) { @@ -322,12 +321,12 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI codTcolArrayAdapter = new DialogInputLUProdTipoColloAdapter(getActivity(), R.layout.array_adapter_single_item, tipiCollo); mBindings.filledExposedDropdownCodTcol.setAdapter(codTcolArrayAdapter); - if(mDialogInputLUProdDTO.getCodTcol() != null) { + if (mDialogInputLUProdDTO.getCodTcol() != null) { Optional optTCol = Stream.of(tipiCollo) .filter(x -> x.getCodTcol().equalsIgnoreCase(mDialogInputLUProdDTO.getCodTcol())) .findFirst(); - if(optTCol.isPresent()) + if (optTCol.isPresent()) selectedMtbTcol.set(new DialogInputLUProdTipoColloListModel().setOriginalModel(optTCol.get()).toString()); } @@ -341,12 +340,12 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI lineeProdArrayAdapter = new DialogInputLULineeProdAdapter(getActivity(), R.layout.array_adapter_single_item, lineeProd); mBindings.filledExposedDropdownCodJfas.setAdapter(lineeProdArrayAdapter); - if(mDialogInputLUProdDTO.getSuggestedCodJfas() != null) { + if (mDialogInputLUProdDTO.getSuggestedCodJfas() != null) { Optional optFas = Stream.of(lineeProd) .filter(x -> x.getCodJfas().equalsIgnoreCase(mDialogInputLUProdDTO.getSuggestedCodJfas())) .findFirst(); - if(optFas.isPresent()) + if (optFas.isPresent()) selectedLineaProd.set(new DialogInputLULineeProdListModel().setOriginalModel(optFas.get()).toString()); } }); @@ -372,9 +371,6 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI } - - - public void resetValues() { this.mViewModel.blockedNumCnf.set(false); this.mViewModel.blockedPesoLordo.set(false); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java index 6c9073f1..7c3b3e8f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java @@ -3,8 +3,6 @@ package it.integry.integrywmsnative.view.dialogs.input_quantity_v2; import android.content.Context; import android.content.DialogInterface; import android.content.res.ColorStateList; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.text.Html; import android.text.InputType; @@ -12,9 +10,7 @@ import android.text.SpannableString; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.view.WindowManager; import android.view.inputmethod.EditorInfo; -import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -42,10 +38,10 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.expansion.BaseDialogFragment; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgss; +import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbUntMis; import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityExceptions; -import it.integry.integrywmsnative.core.utility.UtilityFocus; import it.integry.integrywmsnative.core.utility.UtilityObservable; import it.integry.integrywmsnative.databinding.DialogInputQuantityV2Binding; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; @@ -67,9 +63,14 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia public ObservableField currentQtaCnf = new ObservableField<>(); public ObservableField currentQtaTot = new ObservableField<>(); + public ObservableField currentTaraTot = new ObservableField<>(); + public ObservableField currentTaraArticolo = new ObservableField<>(); + public ObservableField currentPesoLordo = new ObservableField<>(); + public ObservableField enabledNumCnf = new ObservableField<>(true); public ObservableField enabledQtaCnf = new ObservableField<>(true); public ObservableField enabledQtaTot = new ObservableField<>(true); + public ObservableField enabledPesoLordo = new ObservableField<>(false); public ObservableField enabledChangePartitaMag = new ObservableField<>(true); public ObservableField enabledNotes = new ObservableField<>(false); @@ -144,7 +145,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia } - if (mDialogInputQuantityV2DTO.isSaveOnImeDone()){ + if (mDialogInputQuantityV2DTO.isSaveOnImeDone()) { mBindings.inputNumCnfText.setOnEditorActionListener((v, actionId, event) -> { if (actionId == EditorInfo.IME_ACTION_DONE) { @@ -206,6 +207,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia } private void init() { + UtilityObservable.addPropertyChanged(this.currentPartitaMag, (value) -> { if (this.mEnableDataCallback) { this.mViewModel.setPartitaMag(value); @@ -351,6 +353,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia this.mViewModel.shouldAskDataScad = this.mDialogInputQuantityV2DTO.isDataScadMandatory(); this.enabledNotes.set(this.mDialogInputQuantityV2DTO.isNotesAllowed()); this.enabledLUCloseButton.set(this.mDialogInputQuantityV2DTO.isCanLUBeClosed()); + this.currentTaraArticolo.set(this.mViewModel.getMtbAart().getTaraKg()); } @@ -376,11 +379,17 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia this.currentPartitaMag.set(this.mViewModel.getPartitaMag()); this.currentNotes.set(this.mViewModel.getNote()); this.currentDataScad.set(this.mViewModel.getDataScad()); - this.currentNumCnf.set(this.mViewModel.getNumCnf()); this.currentQtaCnf.set(this.mViewModel.getQtaCnf()); this.currentQtaTot.set(this.mViewModel.getQtaTot()); + MtbAart articolo = this.mViewModel.getMtbAart(); + if (articolo != null && !articolo.isFlagQtaCnfFissaBoolean()) { + BigDecimal taraTot = this.mViewModel.getNumCnf().multiply(articolo.getTaraKg()); + this.currentTaraTot.set(taraTot); + this.currentPesoLordo.set(this.mViewModel.getQtaTot().add(taraTot)); + } + this.mBindings.executePendingBindings(); this.mEnableDataCallback = true; diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java index a696b4cc..0e486126 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java @@ -63,7 +63,7 @@ public class DialogInputQuantityV2ViewModel { private String internalNote; private Date internalDataScad; - private RunnableArgsWithReturn suggestPartitaMagRunnable; + private RunnableArgsWithReturn suggestPartitaMagRunnable; private boolean canOverflowOrderQuantity; private boolean canPartitaMagBeChanged; @@ -102,7 +102,7 @@ public class DialogInputQuantityV2ViewModel { this.internalQtaTot = totalQtaOrd; } - if (this.shouldAskDataScad == null){ + if (this.shouldAskDataScad == null) { this.shouldAskDataScad = mtbAart.get().isFlagTracciabilitaBoolean() && mtbAart.get().getGgScadPartita() != null && mtbAart.get().getGgScadPartita() > 0; } this.shouldShowDataScad = this.shouldAskDataScad || this.internalDataScad != null; @@ -151,7 +151,7 @@ public class DialogInputQuantityV2ViewModel { return; } - if(canPartitaMagBeChanged) { + if (canPartitaMagBeChanged) { if (!UtilityString.isNullOrEmpty(ean128Model.BatchLot)) { this.setPartitaMag(ean128Model.BatchLot); @@ -334,10 +334,11 @@ public class DialogInputQuantityV2ViewModel { this.internalQtaTot = UtilityBigDecimal.multiply(newValue, this.internalQtaCnf); break; - case UPDATE_QTA_TOT:if (!this.blockedQtaTot.get() && this.internalQtaCnf != null) - this.internalQtaTot = UtilityBigDecimal.multiply(newValue, this.internalQtaCnf); - else if (!this.blockedQtaCnf.get() && !this.mtbAart.get().isFlagQtaCnfFissaBoolean() && this.internalQtaTot != null) - this.internalQtaCnf = UtilityBigDecimal.divide(internalQtaTot, newValue); + case UPDATE_QTA_TOT: + if (!this.blockedQtaTot.get() && this.internalQtaCnf != null) + this.internalQtaTot = UtilityBigDecimal.multiply(newValue, this.internalQtaCnf); + else if (!this.blockedQtaCnf.get() && !this.mtbAart.get().isFlagQtaCnfFissaBoolean() && this.internalQtaTot != null) + this.internalQtaCnf = UtilityBigDecimal.divide(internalQtaTot, newValue); break; } @@ -403,13 +404,13 @@ public class DialogInputQuantityV2ViewModel { return false; } else if (mtbAart.get().isFlagTracciabilitaBoolean() && UtilityString.isNullOrEmpty(internalPartitaMag)) { - if (suggestPartitaMagRunnable != null){ + if (suggestPartitaMagRunnable != null) { internalPartitaMag = suggestPartitaMagRunnable.run(this); - if (internalPartitaMag == null){ + if (internalPartitaMag == null) { this.mListener.onError(new InvalidBatchLotException()); return false; } - }else{ + } else { this.mListener.onError(new InvalidBatchLotException()); return false; } @@ -480,11 +481,16 @@ public class DialogInputQuantityV2ViewModel { return this; } - public DialogInputQuantityV2ViewModel setSuggestPartitaMagRunnable(RunnableArgsWithReturn suggestPartitaMagRunnable) { + public DialogInputQuantityV2ViewModel setSuggestPartitaMagRunnable(RunnableArgsWithReturn suggestPartitaMagRunnable) { this.suggestPartitaMagRunnable = suggestPartitaMagRunnable; return this; } + + public MtbAart getMtbAart() { + return this.mtbAart.get(); + } + public interface Listener { void onDataChanged(); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/note_aggiuntive_lu/NoteAggiuntiveLUDialog.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/note_aggiuntive_lu/NoteAggiuntiveLUDialog.java deleted file mode 100644 index 01f390d5..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/note_aggiuntive_lu/NoteAggiuntiveLUDialog.java +++ /dev/null @@ -1,47 +0,0 @@ -package it.integry.integrywmsnative.view.dialogs.note_aggiuntive_lu; - -import android.app.Dialog; -import android.content.Context; - -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; -import android.view.LayoutInflater; - -import androidx.databinding.DataBindingUtil; -import it.integry.integrywmsnative.R; -import it.integry.integrywmsnative.core.expansion.RunnableArgs; -import it.integry.integrywmsnative.core.utility.UtilityDialog; -import it.integry.integrywmsnative.databinding.DialogNoteAggiuntiveNuovaUlBinding; - -public class NoteAggiuntiveLUDialog { - - private Dialog mDialog; - - public static Dialog make(Context context, final RunnableArgs onComplete) { - return new NoteAggiuntiveLUDialog(context, onComplete).mDialog; - } - - private NoteAggiuntiveLUDialog(Context context, final RunnableArgs onComplete){ - - LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); - DialogNoteAggiuntiveNuovaUlBinding bindings = DataBindingUtil.inflate(inflater, R.layout.dialog_note_aggiuntive_nuova_ul, null, false); - - - mDialog = new Dialog(context); - mDialog.setContentView(bindings.getRoot()); - - mDialog.setCanceledOnTouchOutside(false); - mDialog.setCancelable(false); - mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); - - UtilityDialog.setTo90PercentWidth(context, mDialog); - - - bindings.buttonConfirm.setOnClickListener(v -> { - mDialog.dismiss(); - if(onComplete != null) onComplete.run(bindings.additionalNotesText.getText().toString()); - }); - - } - -} diff --git a/app/src/main/res/layout-land-hdpi/dialog_input_quantity_v2.xml b/app/src/main/res/layout-land-hdpi/dialog_input_quantity_v2.xml index a5bfb9f0..bda17d94 100644 --- a/app/src/main/res/layout-land-hdpi/dialog_input_quantity_v2.xml +++ b/app/src/main/res/layout-land-hdpi/dialog_input_quantity_v2.xml @@ -13,6 +13,10 @@ + + + + @@ -536,7 +540,89 @@ android:layout_height="wrap_content" android:layout_marginTop="8dp" android:orientation="horizontal" - > + android:visibility="@{viewmodel.mtbAart.isFlagQtaCnfFissaBoolean() ? View.GONE : View.VISIBLE}" + android:weightSum="3"> + + + + + + + + + + + + + + + + + + + + + + + + android:visibility="@{view.enabledNotes ? View.VISIBLE : View.GONE }"> + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/dialog_input_quantity_v2.xml b/app/src/main/res/layout/dialog_input_quantity_v2.xml index 3846c6ce..43788fa8 100644 --- a/app/src/main/res/layout/dialog_input_quantity_v2.xml +++ b/app/src/main/res/layout/dialog_input_quantity_v2.xml @@ -2,8 +2,7 @@ + xmlns:tools="http://schemas.android.com/tools"> @@ -15,6 +14,10 @@ + + + + @@ -70,6 +73,7 @@ android:text="@{viewmodel.mtbAart.codMart}" android:textColor="@color/colorPrimary" tools:text="COD MART (Partita mag)" /> + + android:visibility="@{viewmodel.mtbAart.isFlagQtaCnfFissaBoolean() ? View.GONE : View.VISIBLE}" + android:weightSum="3"> + + + + + + + + + + + + + + + + + + + + + + + + android:visibility="@{view.enabledNotes ? View.VISIBLE : View.GONE }"> + + + + + + + + + + + app:layout_constraintTop_toBottomOf="@id/input_cod_tcol"> diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index ea39924b..918e91e7 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -117,7 +117,6 @@ Pezzo - deve essere tra 3 e 30 caratteri inserire un username valido inserire un codice azienda valido @@ -137,6 +136,7 @@ Qtà Peso netto (KG) Peso lordo (KG) + Peso Collo (KG) Tipo pedana Totale ordinato @@ -158,6 +158,7 @@ Peso totale Tara pedana Tara collo + Tara articolo Salvataggio Salvataggio completato diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cef9b618..a48cef4c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -134,6 +134,7 @@ Qty Net weight (KG) Gross weight (KG) + LU weight (KG) LU type Total ordered @@ -156,6 +157,7 @@ Qty x pck Tot qty Tare LU + Tare product Tare pckg Saving