diff --git a/app/src/main/java/es/verdnatura/presentation/common/UICallbacks.kt b/app/src/main/java/es/verdnatura/presentation/common/UICallbacks.kt index c147de5e..98c2bee3 100644 --- a/app/src/main/java/es/verdnatura/presentation/common/UICallbacks.kt +++ b/app/src/main/java/es/verdnatura/presentation/common/UICallbacks.kt @@ -109,7 +109,7 @@ interface OnEditSubQuantityListener { fun OnEditSubQuantityListener(item: Any, text: String) } interface AdapterCallback { - fun getPosition():Int + fun getPosition(): Int } interface OnItemClickListener { @@ -151,6 +151,7 @@ interface OnClientHistoricItemClickListener { interface OnVisibleClickListener { fun onVisibleClickListener(item: ItemUbicadorVO) } + interface OnVisibleClickListenerNew { fun onVisibleClickListener(item: ItemUbicador) } @@ -162,21 +163,32 @@ interface OnVisibleInventoryClickListener { interface OnMoreClickListener { fun onMoreClickListener(item: ItemUbicadorVO) } + interface OnMoreClickListenerNew { fun onMoreClickListener(item: ItemUbicador) } + interface OnTruckClickListener { fun onTruckClickListener(item: ItemExpeditionTruckVO, entryPoint: String) } + interface OnRoadMapClickListener { fun onRoadMapClickListener(item: RoadMapTruck, entryPoint: String) } + interface OnStopMapClickListener { - fun onStopMapClickListener(item: RoadStopMapTruck, entryPoint: String, action:TruckAction, view: View? = null) + fun onStopMapClickListener( + item: RoadStopMapTruck, + entryPoint: String, + action: TruckAction, + view: View? = null + ) } + interface OnStopMapLoadClickListener { fun onStopMapClickListener(item: RoadStopMapTruck, entryPoint: String) } + interface OnStopMapUnloadClickListener { fun onStopMapClickListener(item: RoadStopMapTruck, entryPoint: String) } @@ -185,7 +197,6 @@ interface OnPrintClickListener { fun onPrintClickListener(item: StopMapTruckPallet, entryPoint: String) } - interface OnPalletClickListener { fun onPalletClickListener(itemTruck: ItemExpeditionTruckVO, itemPallet: ItemPalletVO) } @@ -206,7 +217,12 @@ interface OnCollectionSelectedListener { } interface OnCollectionTicketSelectedListener { - fun onCollectionSelected(collection: CollectionTicket, type: String, hasPicking:Boolean = false) + fun onCollectionSelected( + collection: CollectionTicket, + type: String, + hasPicking: Boolean = false, + hasToAdd: Boolean = false + ) } interface OnQuantityClickListener { diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragmentPicker.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragmentPicker.kt index 5fa8b7dc..a3c637a8 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragmentPicker.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/collection/fragment/CollectionFragmentPicker.kt @@ -1941,12 +1941,15 @@ class CollectionFragmentPicker( getString(R.string.Todosloscampossonobligatorios).toast(requireContext()) } else { - viewModel.collectionAddItem( - itemFk = customDialogList.getValue().toInt(), - ticketFk = ticketSelected, - quantity = customDialogList.getValueTwo().toInt() - ) - + try { + viewModel.collectionAddItem( + itemFk = customDialogList.getValue().toInt(), + ticketFk = ticketSelected, + quantity = customDialogList.getValueTwo().toInt() + ) + }catch (ex:Exception){ + ma.messageWithSound(message = getString(R.string.errorScanItem), isError = true, isToasted = true, isPlayed = true) + } scanRequest() customDialogList.dismiss() diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/main/activity/MainActivity.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/main/activity/MainActivity.kt index 0ede23dd..f28ad228 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/main/activity/MainActivity.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/main/activity/MainActivity.kt @@ -991,7 +991,7 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL } override fun onCollectionSelected( - collection: CollectionTicket, type: String, hasPicking: Boolean + collection: CollectionTicket, type: String, hasPicking: Boolean, hasToAdd:Boolean ) { when (type) { "PREITEMPICKERTEST" -> { @@ -999,7 +999,7 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL //addFragmentOnTop(EndSacadorFragment.newInstance(collection, type)) addFragmentOnTop( SectorCollectionReserveFragment.newInstance( - "PREITEMPICKERTEST", collection.collectionFk + "PREITEMPICKERTEST", collection.collectionFk, hasToAdd ) ) @@ -1205,9 +1205,7 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL action: TruckAction, view: View? ) { - println("stopMapList ${item.description}") - println("stopMapList id ${item.id}") - println("action $action") + addFragmentOnTop( StopMapPalletListFragment.newInstance( title = item.description ?: "", item, action diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/PreSacadorViewModel.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/PreSacadorViewModel.kt index 6a8c7791..73187966 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/PreSacadorViewModel.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/presacador/fragment/PreSacadorViewModel.kt @@ -98,6 +98,11 @@ class PreSacadorViewModel(val context: Context) : BaseViewModel(context) { val loadResponseReserveSectorCollection: LiveData> = _responseReserveSectorCollection.map { Event(it) } + private val _responseReserveSaleGroup by lazy { MutableLiveData() } + val responseReserveSaleGroup: LiveData = _responseReserveSaleGroup + val loadResponseReserveSaleGroup: LiveData> = + _responseReserveSaleGroup.map { Event(it) } + private val _responseSaleAddPrevOK by lazy { MutableLiveData() } val responseSaleAddPrevOK: LiveData get() = _responseSaleAddPrevOK @@ -371,6 +376,33 @@ class PreSacadorViewModel(val context: Context) : BaseViewModel(context) { }) } + fun getReserveBySaleGroup( + saleGroup: Int + ) { + salix.getReserveBySaleGroup( + params = arrayListOf( + saleGroup + ).formatWithQuotes() + ).enqueue(object : SalixCallback(context) { + override fun onSuccess(response: Response) { + _responseReserveSectorCollection.value = ResponseItemVO( + isError = false, errorMessage = "" + getMessageFromAllResponse( + nameofFunction(this), response.message() + ) + ) + } + + override fun onError(t: Throwable) { + _responseReserveSectorCollection.value = ResponseItemVO( + isError = true, errorMessage = getMessageFromAllResponse( + nameofFunction(this), t.message!! + ) + ) + + } + }) + } + fun saleTrackingAddPrevOK( sectorCollectionFk: Int ) { diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/adapter/CollectionAdapterNew.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/adapter/CollectionAdapterNew.kt index a19cd639..b755d1a0 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/adapter/CollectionAdapterNew.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/sacador/adapter/CollectionAdapterNew.kt @@ -3,7 +3,9 @@ package es.verdnatura.presentation.view.feature.sacador.adapter import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.core.content.ContextCompat import androidx.recyclerview.widget.RecyclerView +import es.verdnatura.R import es.verdnatura.databinding.ItemCollectionRowNewBinding import es.verdnatura.presentation.common.OnCollectionTicketSelectedListener import es.verdnatura.presentation.view.feature.sacador.model.CollectionTicket @@ -11,7 +13,7 @@ import es.verdnatura.presentation.view.feature.sacador.model.CollectionTicket class CollectionAdapterNew( private val items: List, private val onCollectionTicketSelected: OnCollectionTicketSelectedListener, - private val type: String + private val type: String, ) : RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AjustesItemHolder { @@ -28,6 +30,9 @@ class CollectionAdapterNew( holder.binding.root.setOnClickListener { onCollectionTicketSelected.onCollectionSelected(items[position], type) } + holder.binding.itemImage.setOnClickListener { + onCollectionTicketSelected.onCollectionSelected(items[position], type, hasToAdd = true ) + } } class AjustesItemHolder( @@ -39,6 +44,7 @@ class CollectionAdapterNew( binding.apply { if (item.ticketTotalCount == null || type == "PREITEMPICKERTEST") { binding.totalTicketsId.visibility = View.GONE + binding.itemImage.setImageDrawable(ContextCompat.getDrawable(root.context, R.drawable.ic_add_black_24dp)) } this.item = item }