From 65c90ec860e1c9e0733db8b8e667c8cef0b6d3cd Mon Sep 17 00:00:00 2001 From: Sergio De la torre Date: Thu, 4 Apr 2024 12:18:33 +0200 Subject: [PATCH] refs #6982 feat:pickerHelper --- .../PackagingViewModel/SupplierViewModel.kt | 6 +- .../sacador/fragment/PickerHelperFragment.kt | 119 ++++++++---------- .../sacador/fragment/SacadorViewModel.kt | 50 ++------ app/src/main/res/values-es/strings.xml | 2 + app/src/main/res/values-fr/strings.xml | 2 + app/src/main/res/values-pt/strings.xml | 2 + app/src/main/res/values/strings.xml | 2 + 7 files changed, 69 insertions(+), 114 deletions(-) diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/packaging/fragment/PackagingViewModel/SupplierViewModel.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/packaging/fragment/PackagingViewModel/SupplierViewModel.kt index 82d7f3f1..d0596054 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/packaging/fragment/PackagingViewModel/SupplierViewModel.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/packaging/fragment/PackagingViewModel/SupplierViewModel.kt @@ -167,8 +167,8 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) { } fun supplier_getItems(supplierFk: Any) { - - silex.supplier_getItems(supplierFk) + //pendiente de borrado si la tarea no se lleva a cabo + /* silex.supplier_getItems(supplierFk) .enqueue(object : SilexCallback>(context) { override fun onError(t: Throwable) { val listError: ArrayList = ArrayList() @@ -195,7 +195,7 @@ class PackagingViewModel(val context: Context) : BaseViewModel(context) { } } - }) + })*/ } fun entry_addSalix(entry: EntrySalix) { diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/PickerHelperFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/PickerHelperFragment.kt index 5730c049..2716e877 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/PickerHelperFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/PickerHelperFragment.kt @@ -11,6 +11,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import es.verdnatura.R import es.verdnatura.databinding.FragmentGeneralBlackBinding import es.verdnatura.domain.ConstAndValues +import es.verdnatura.domain.notNull import es.verdnatura.domain.toast import es.verdnatura.presentation.base.BaseFragment import es.verdnatura.presentation.common.OnBarcodeRowClickListener @@ -95,28 +96,16 @@ class PickerHelperFragment( } private fun setToolBar() { - - val iconAdd = ImageView(context) - iconAdd.setImageResource(R.drawable.ic_add_black_24dp) - - val iconReload = ImageView(context) - iconReload.setImageResource(R.drawable.ic_autorenew_black_24dp) + val listIcons: ArrayList = ArrayList() val iconReset = ImageView(context) - iconReset.setImageResource(R.drawable.ic_remove_checks) - - val iconFilter = ImageView(context) - iconFilter.setImageResource(R.drawable.ic_filter_inventory) + iconReset.setImageResource(R.drawable.ic_delete_black_24dp) val iconParkingFrom = ImageView(context) - iconParkingFrom.setImageResource(R.drawable.ic_eye_inventory) - - iconParkingFrom.tooltipText = getTooltip(R.drawable.ic_eye_inventory) - iconReload.tooltipText = getTooltip(R.drawable.ic_autorenew_black_24dp) - iconAdd.tooltipText = getString(R.string.addItemShelving) - iconReset.tooltipText = getTooltip(R.drawable.ic_remove_checks) - iconFilter.tooltipText = getTooltip(R.drawable.ic_filter_inventory) + iconParkingFrom.setImageResource(R.drawable.ic_mode_edit_black_24dp) + iconParkingFrom.tooltipText = getString(R.string.editParking) + iconReset.tooltipText = getString(R.string.resetParking) listIcons.add(iconReset) listIcons.add(iconParkingFrom) @@ -129,7 +118,7 @@ class PickerHelperFragment( iconReset.drawable -> { - showResetShelving() + resetParkings() } @@ -146,7 +135,7 @@ class PickerHelperFragment( LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false) } - private fun showResetShelving() { + private fun resetParkings() { binding.mainToolbar.toolbarTitle.text = title runBlocking { mobileApplication.dataStoreApp.editDataStoreKey( @@ -172,9 +161,8 @@ class PickerHelperFragment( ) customDialogList.setDescription( - "Indica los parkings por los que voy a estar sacando" - ) - .setKoButton(getString(R.string.cancel)) { + "Escanea parkings de los pasillos" + ).setKoButton(getString(R.string.cancel)) { ma.hideKeyboard(customDialogList.getEditText()) listParkings = ArrayList() customDialogList.dismiss() @@ -198,8 +186,7 @@ class PickerHelperFragment( 1 -> { listParkings.add( - 0, - BarcodeVO(code = customDialogList.getValue()) + 0, BarcodeVO(code = customDialogList.getValue()) ) viewModel.getPickingOrder(customDialogList.getValue()) @@ -227,8 +214,7 @@ class PickerHelperFragment( } listWagonsAdapter = BarcodeAdapter( - listParkings, - object : OnBarcodeRowClickListener { + listParkings, object : OnBarcodeRowClickListener { override fun onBarcodeRowClickListener(item: BarcodeVO) { } @@ -277,9 +263,7 @@ class PickerHelperFragment( private fun navigateToCollectionList(collectionFk: Int) { onCollectionSelectedListener!!.onCollectionSelected( - CollectionTicket(collectionFk = collectionFk), - ConstAndValues.PREPARED, - true + CollectionTicket(collectionFk = collectionFk), ConstAndValues.PREPARED, true ) } @@ -288,54 +272,53 @@ class PickerHelperFragment( with(viewModel) { - response.observe(viewLifecycleOwner) { - if (!it.isError && it.response.isNotBlank()) { + loadPickingOrder.observe(viewLifecycleOwner) { event -> + event.getContentIfNotHandled().notNull { - runBlocking { - when (listParkings.size) { - 1 -> { - mobileApplication.dataStoreApp.editDataStoreKey( - "PARKING_FROM", - listParkings.first().code.toString() - ) - mobileApplication.dataStoreApp.editDataStoreKey( - "PICKING_FROM", - it.response.toInt() - ) - } + if (!it.isError && it.response.isNotBlank()) { - 2 -> { - mobileApplication.dataStoreApp.editDataStoreKey( - "PARKING_TO", - listParkings.first().code.toString() - ) - mobileApplication.dataStoreApp.editDataStoreKey( - "PICKING_TO", - it.response.toInt() - ) - binding.mainToolbar.toolbarTitle.text = - getString(R.string.parkingForPicking, listParkings[1].code,listParkings[0].code) - listParkings.clear() - customDialogList.dismiss() + runBlocking { + when (listParkings.size) { + 1 -> { + mobileApplication.dataStoreApp.editDataStoreKey( + "PARKING_FROM", listParkings.first().code.toString() + ) + mobileApplication.dataStoreApp.editDataStoreKey( + "PICKING_FROM", it.response.toInt() + ) + } - } + 2 -> { + mobileApplication.dataStoreApp.editDataStoreKey( + "PARKING_TO", listParkings.first().code.toString() + ) + mobileApplication.dataStoreApp.editDataStoreKey( + "PICKING_TO", it.response.toInt() + ) + binding.mainToolbar.toolbarTitle.text = getString( + R.string.parkingForPicking, + listParkings[1].code, + listParkings[0].code + ) + listParkings.clear() + customDialogList.dismiss() - else -> { - //listParkings.clear() - // customDialogList.dismiss() - // showSettingsHelper() - ma.messageWithSound( - "Parking no encontrado", - isError = true, - isPlayed = true - ) + } + + else -> { + //listParkings.clear() + // customDialogList.dismiss() + // showSettingsHelper() + ma.messageWithSound( + "Parking no encontrado", isError = true, isPlayed = true + ) + } } } - } + } } } - } } } \ No newline at end of file diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorViewModel.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorViewModel.kt index b247c003..0fca8bff 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorViewModel.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/fragment/SacadorViewModel.kt @@ -38,6 +38,10 @@ class SacadorViewModel(val context: Context) : BaseViewModel(context) { val response: LiveData get() = _response + private val _responsePickingOrder by lazy { MutableLiveData() } + val responsePickingOrder: LiveData + get() = _responsePickingOrder + private val _responseCollectionSmart by lazy { MutableLiveData() } val responseCollectionSmart: LiveData get() = _responseCollectionSmart @@ -50,48 +54,8 @@ class SacadorViewModel(val context: Context) : BaseViewModel(context) { val loadShelvingLogSalixList: LiveData> = _itemShelvingLogSalixList.map { Event(it) } -/* fun collectionTicketGet( - collectionFk: Int, - sectorFk: String, - print: String, - type: String - ) { + val loadPickingOrder: LiveData> = _responsePickingOrder.map { Event(it) } - //Tarea 6276, falta modificar - silex.collection_getTickets( - collectionFk, - sectorFk, - print, - type - ).enqueue(object : - SilexCallback(context) { - override fun onError(t: Throwable) { - _collectionTicketList.value = CollectionVO( - 0, - isError = true, - errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!) - ) - } - - override fun onResponse( - call: Call, - response: Response - ) { - if (response.body() != null) { - _collectionTicketList.value = response.body()?.let { it.map(context) } - } else { - _collectionTicketList.value = CollectionVO( - 0, - isError = true, - errorMessage = getMessageFromAllResponse( - nameofFunction(this), - response.message() - ) - ) - } - } - }) - }*/ fun sectorCollectionNew( sectorFk: Int @@ -331,13 +295,13 @@ class SacadorViewModel(val context: Context) : BaseViewModel(context) { .enqueue(object : SalixCallback>(context) { override fun onSuccess(response: Response>) { - _response.value = ResponseItemVO( + _responsePickingOrder.value = ResponseItemVO( response = response.body()?.get(0)!!.entrySet().first().value.toString() ) } override fun onError(t: Throwable) { - _response.value = ResponseItemVO(response = "", isError = true) + _responsePickingOrder.value = ResponseItemVO(response = "", isError = true) } }) diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 16e1aef1..13848929 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -755,6 +755,8 @@ Permite sacar parte de la colección P:%1$s→%2$s Escanea colección + Permite modificar los parkings seleccionados + Resetea los parkings seleccionados diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 258e5162..2b88a8c3 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -755,5 +755,7 @@ Permite sacar parte de la colección P:%1$s→%2$s Escanea colección + Permite modificar los parkings seleccionados + Resetea los parkings seleccionados diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 40d37604..305a6a91 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -755,5 +755,7 @@ Permite sacar parte de la colección P:%1$s→%2$s Escanea colección + Permite modificar los parkings seleccionados + Resetea los parkings seleccionados diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 609d4bb5..2a76e71a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -755,5 +755,7 @@ Permite sacar parte de la colección P:%1$s→%2$s Escanea colección + Permite modificar los parkings seleccionados + Resetea los parkings seleccionados