From 75dc8e5656e352d052da8399d241558e1c81b2d3 Mon Sep 17 00:00:00 2001 From: Sergio De la torre Date: Mon, 3 Jul 2023 07:09:38 +0200 Subject: [PATCH] refs #5891 --- app/build.gradle | 2 +- .../adapter/InventoryParkingAdapter.kt | 124 +++++ .../fragment/InventaryParkingFragment.kt | 498 ++++-------------- .../inventario/fragment/InventaryViewModel.kt | 59 ++- .../inventario/model/BuyerInventary.kt | 14 +- .../inventario/model/ItemInventaryVO.kt | 20 + .../feature/main/activity/MainActivity.kt | 2 +- .../pasillero/fragment/PasilleroViewModel.kt | 2 +- .../res/layout/fragment_inventory_parking.xml | 148 ++++++ .../res/layout/item_inventory_parking_row.xml | 175 ++++++ app/src/main/res/values/dimens.xml | 1 + 11 files changed, 643 insertions(+), 402 deletions(-) create mode 100644 app/src/main/java/es/verdnatura/presentation/view/feature/inventario/adapter/InventoryParkingAdapter.kt create mode 100644 app/src/main/res/layout/fragment_inventory_parking.xml create mode 100644 app/src/main/res/layout/item_inventory_parking_row.xml diff --git a/app/build.gradle b/app/build.gradle index 11b64e3b..69dc3348 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -14,7 +14,7 @@ android { minSdkVersion 24 //21 targetSdkVersion 33 versionCode 210 - versionName = "23.26Beta" //Esta rama viene de esta version + versionName = "23.26" //Esta rama viene de esta version testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/adapter/InventoryParkingAdapter.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/adapter/InventoryParkingAdapter.kt new file mode 100644 index 00000000..3482b222 --- /dev/null +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/adapter/InventoryParkingAdapter.kt @@ -0,0 +1,124 @@ +package es.verdnatura.presentation.view.feature.inventario.adapter + +import android.annotation.SuppressLint +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.core.content.ContextCompat +import androidx.recyclerview.widget.RecyclerView +import es.verdnatura.R +import es.verdnatura.databinding.ItemInventoryParkingRowBinding +import es.verdnatura.presentation.common.OnMoreClickListener +import es.verdnatura.presentation.common.OnPasillerosItemClickListener +import es.verdnatura.presentation.common.OnVisibleClickListener +import es.verdnatura.presentation.common.loadUrl +import es.verdnatura.presentation.view.feature.inventario.model.InventoryParking +import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO + +class InventoryParkingAdapter( + private val items: List, + private val onPasillerosItemClickListener: OnPasillerosItemClickListener, + private val onVisibleClickListener: OnVisibleClickListener, + private val onMoreClickListener: OnMoreClickListener +) : RecyclerView.Adapter() { + + fun getList(): List { + return items + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemHolder { + return ItemHolder( + ItemInventoryParkingRowBinding.inflate( + LayoutInflater.from(parent.context), + parent, + false + ) + ) + } + + override fun getItemCount() = items.size + + + + override fun onBindViewHolder(holder: ItemHolder, position: Int) { + holder.bind(items[position]) + } + + inner class ItemHolder( + val binding: ItemInventoryParkingRowBinding + ) : RecyclerView.ViewHolder(binding.root) { + private val res = binding.root.context.resources + + @SuppressLint("SetTextI18n") + fun bind(item: InventoryParking) { + binding.apply { + this.item = item + //multiText.text = "${item.stickers}x${item.packing}" + imgItem.loadUrl(item.urlImage) + imgItem.setOnClickListener { + onPasillerosItemClickListener.onPasillerosItemClickListener( + PasillerosItemVO( + title = res.getString( + R.string.itemSearch + ) + ), item.itemFk.toString() + ) + } + + layerVisible.setOnClickListener { + // onVisibleClickListener.onVisibleClickListener(item) + } + + if (item.visible == 0) { + visibleText.setTextColor( + ContextCompat.getColor( + visibleText.context, + R.color.verdnatura_brown_grey + ) + ) + + } else { + visibleText.setTextColor( + ContextCompat.getColor( + visibleText.context, + R.color.verdnatura_pumpkin_orange + ) + ) + } + + moreImg.setOnClickListener { + // onMoreClickListener.onMoreClickListener(item) + } + namelayout.setOnClickListener { + onPasillerosItemClickListener.onPasillerosItemClickListener( + PasillerosItemVO( + title = res.getString(R.string.itemSearch) + ), item.itemFk.toString() + ) + } + + if (item.isChecked != null) { + + when (item.isChecked!!.toInt()) { + + in 1..Int.MAX_VALUE -> itemRowLayout.setBackgroundColor( + ContextCompat.getColor( + visibleText.context, + R.color.verdnatura_dark_green_verdnatura + ) + ) + + + } + } else { + itemRowLayout.setBackgroundColor( + ContextCompat.getColor( + visibleText.context, + R.color.verdnatura_black_5 + ) + ) + } + + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/fragment/InventaryParkingFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/fragment/InventaryParkingFragment.kt index 5eca2342..19ef74a0 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/fragment/InventaryParkingFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/fragment/InventaryParkingFragment.kt @@ -6,7 +6,6 @@ import android.graphics.drawable.Drawable import android.media.MediaPlayer import android.os.Build import android.os.Bundle -import android.view.View import android.view.View.GONE import android.view.View.VISIBLE import android.view.inputmethod.EditorInfo @@ -16,30 +15,27 @@ import androidx.annotation.RequiresApi import androidx.lifecycle.Observer import androidx.recyclerview.widget.LinearLayoutManager import es.verdnatura.R -import es.verdnatura.databinding.FragmentUbicadorBinding +import es.verdnatura.databinding.FragmentInventoryParkingBinding import es.verdnatura.domain.notNull -import es.verdnatura.domain.toInt import es.verdnatura.domain.toast import es.verdnatura.presentation.base.BaseFragment import es.verdnatura.presentation.common.* import es.verdnatura.presentation.view.component.* +import es.verdnatura.presentation.view.feature.inventario.adapter.InventoryParkingAdapter +import es.verdnatura.presentation.view.feature.inventario.model.InventoryParking import es.verdnatura.presentation.view.feature.main.activity.MainActivity import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO -import es.verdnatura.presentation.view.feature.ubicador.adapter.UbicadorAdapter -import es.verdnatura.presentation.view.feature.ubicador.fragment.UbicadorViewModel import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicadorVO -import java.lang.Boolean.TRUE @Suppress("UNUSED_ANONYMOUS_PARAMETER") class InventaryParkingFragment( - var shelvingFk: String = "", - var isAutoSelf: Boolean -) : BaseFragment( - UbicadorViewModel::class + var title: String = "", +) : BaseFragment( + InventaryViewModel::class ) { - private var adapter: UbicadorAdapter? = null + private var adapter: InventoryParkingAdapter? = null private lateinit var customDialogInput: CustomDialogInput private lateinit var customDialogUbicador: CustomDialogUbicador private lateinit var customDialogTwoButtons: CustomDialogTwoButtons @@ -54,17 +50,18 @@ class InventaryParkingFragment( private var isShelvinLogfromMainScreen = false private var modeCheckUbication = false private var itemScannedScreen = 0 + private var shelvingFk: String = "" var mperror: MediaPlayer? = null var mpok: MediaPlayer? = null var isBack = false companion object { - fun newInstance(entryPoint: String, autoSelf: Boolean = false) = - InventaryParkingFragment(entryPoint, autoSelf) + fun newInstance(title: String) = + InventaryParkingFragment(title) } - override fun getLayoutId(): Int = R.layout.fragment_ubicador + override fun getLayoutId(): Int = R.layout.fragment_inventory_parking override fun onPause() { super.onPause() isBack = true @@ -84,23 +81,11 @@ class InventaryParkingFragment( customDialogTwoButtons = CustomDialogTwoButtons(requireContext()) ma.hideBottomNavigation(GONE) - binding.mainToolbar.toolbarTitle.text = if (!isAutoSelf) { - getString(R.string.locator) - } else { - getString(R.string.selfConsumption) - } + binding.mainToolbar.toolbarTitle.text = title setEvents() setToolBar() - if (!shelvingFk.isNullOrEmpty()) { - isShelvinLogfromMainScreen = false - binding.splashProgress.visibility = VISIBLE - binding.mainToolbar.toolbarTitle.text = shelvingFk - viewModel.itemShelvingList(shelvingFk) - } else { - isShelvinLogfromMainScreen = true - - } - + binding.splashProgress.visibility = VISIBLE + viewModel.inventoryParking("MAD-01", "CAM-01") super.init() } @@ -122,41 +107,16 @@ class InventaryParkingFragment( val iconReset = ImageView(context) iconReset.setImageResource(R.drawable.ic_remove_checks) - //Tarea#5052 - binding.mainToolbar.switchButton.visibility = VISIBLE - binding.mainToolbar.switchButton.setOnCheckedChangeListener { buttonView, isChecked -> - if (binding.mainToolbar.toolbarTitle.text == getString(R.string.titleUbicator)) { - ma.messageWithSound(getString(R.string.scanShelving), false, false) - binding.mainToolbar.switchButton.isChecked = false - } else { - modeCheckUbication = isChecked - binding.mainToolbar.switchButton.tooltipText = if (isChecked) - getString(R.string.activateModoChecking) else - getString(R.string.allowCheckingMode) - binding.textinputlayoutMatricula.hint = - if (isChecked) getString(R.string.scanItem) else { - getString(R.string.scanPlate) - } - if (!isChecked) { - listLocalItems.clear() - } - } - } - - val iconChecker = ImageView(context) - iconChecker.setImageResource(R.drawable.ic_ubicator_check) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { iconReload.tooltipText = getTooltip(R.drawable.ic_autorenew_black_24dp) iconAdd.tooltipText = getString(R.string.addItemShelving) - iconChecker.tooltipText = getTooltip(R.drawable.ic_ubicator_check) + iconReset.tooltipText = getTooltip(R.drawable.ic_remove_checks) } listIcons.add(iconAdd) listIcons.add(iconReload) - //listIcons.add(iconChecker) - //tarea 5713 - //listIcons.add(iconReset) + listIcons.add(iconReset) binding.mainToolbar.toolbarIcons.adapter = @@ -164,44 +124,19 @@ class InventaryParkingFragment( override fun onOptionsItemSelected(item: Drawable) { when (item) { - iconAdd.drawable -> showAddItem( - "", - "", - "", - "", - false, - ItemUbicadorVO(0), - "" - ) - iconReload.drawable -> { + iconAdd.drawable -> { + // createListInventoryParking(list,"sector") + } - if (!shelvingFk.isNullOrEmpty()) { - binding.editPrioridad.setText("") - binding.splashProgress.visibility = VISIBLE - viewModel.itemShelvingList( - shelvingFk - ) - } else { - getString(R.string.scanShelving).toast( - requireActivity(), - Toast.LENGTH_SHORT - ) - } + iconReload.drawable -> { + //createListInventoryParking(list,"buyer") } - iconChecker.drawable -> { - if (!shelvingFk.isNullOrEmpty()) { - ma.onPasillerosItemClickListener( - PasillerosItemVO(title = getString(R.string.titleChecker)), - entryPoint = shelvingFk - ) - } else { - getString(R.string.scanShelving).toast( - requireActivity(), - Toast.LENGTH_SHORT - ) - } + + iconReset.drawable -> { + } - iconReset.drawable->{ + + iconReset.drawable -> { customDialog.setTitle(getString(R.string.checkItemShelvingDescrip)) .setDescription(getString(R.string.checkItemShelving)) .setOkButton(getString(R.string.cancel)) { @@ -212,9 +147,9 @@ class InventaryParkingFragment( } .show() + } } - } }) @@ -240,14 +175,12 @@ class InventaryParkingFragment( if (!modeCheckUbication || (modeCheckUbication && binding.editMatricula.text.toString().length == 3 && !binding.editMatricula.text!![0].isDigit())) { binding.mainToolbar.toolbarTitle.text = binding.editMatricula.text.toString() - shelvingFk = binding.editMatricula.text.toString() + //shelvingFk = binding.editMatricula.text.toString() parking = "" binding.editPrioridad.setText("") binding.splashProgress.visibility = VISIBLE isShelvinLogfromMainScreen = true - viewModel.itemShelvingList( - binding.editMatricula.text.toString() - ) + } else { /*Tarea#5109*/ @@ -256,13 +189,13 @@ class InventaryParkingFragment( )*/ try { binding.splashProgress.visibility = VISIBLE - viewModel.getIdFromCode( - code = itemScanValue( - binding.editMatricula.text.toString(), - "buy", - "more" - ).toString() - ) + /* viewModel.getIdFromCode( + code = itemScanValue( + binding.editMatricula.text.toString(), + "buy", + "more" + ).toString() + )*/ } catch (Ex: Exception) { ma.messageWithSound(Ex.message.toString(), true, true) } @@ -281,10 +214,7 @@ class InventaryParkingFragment( if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) { if (!binding.editPrioridad.text.toString().isNullOrEmpty()) { binding.splashProgress.visibility = VISIBLE - viewModel.shelvingPriorityUpdate( - binding.editPrioridad.toInt(), - shelvingFk - ) + } ma.hideKeyboard(binding.editPrioridad) @@ -314,10 +244,7 @@ class InventaryParkingFragment( R.string.parking ) ) { - viewModel.shelvingPark( - shelvingFk, - customDialogInput.getValue() - ) + parking = customDialogInput.getValue() binding.mainToolbar.toolbarTitle.text = shelvingFk.uppercase() + getString(R.string.pUppercase) + parking + getString( @@ -333,10 +260,7 @@ class InventaryParkingFragment( customDialogInput.getEditText().setOnEditorActionListener { v, actionId, event -> if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0) { - viewModel.shelvingPark( - shelvingFk, - customDialogInput.getValue() - ) + customDialogInput.dismiss() parking = customDialogInput.getValue() binding.mainToolbar.toolbarTitle.text = @@ -355,10 +279,7 @@ class InventaryParkingFragment( binding.editImg.setOnClickListener { customDialogInput.setTitle(getString(R.string.changeShelving)).setValue("") .setOkButton(getString(R.string.save)) { - viewModel.shelvingChange( - shelvingFk, - customDialogInput.getValue() - ) + shelvingFk = customDialogInput.getValue() binding.mainToolbar.toolbarTitle.text = shelvingFk.uppercase() + getString(R.string.pUppercase) + parking + getString( @@ -375,10 +296,7 @@ class InventaryParkingFragment( customDialogInput.getEditText().setOnEditorActionListener { v, actionId, event -> if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0) { - viewModel.shelvingChange( - shelvingFk, - customDialogInput.getValue() - ) + shelvingFk = customDialogInput.getValue() binding.mainToolbar.toolbarTitle.text = shelvingFk.uppercase() + getString(R.string.pUppercase) + parking + getString( @@ -397,9 +315,7 @@ class InventaryParkingFragment( customDialog.setTitle(getString(R.string.empty)) .setDescription(getString(R.string.operationNoReturn)) .setOkButton(getString(R.string.empty)) { - viewModel.clearShelvingList( - shelvingFk - ) + listItems.forEach { it.stickers = "0" it.visible = "0" @@ -433,12 +349,7 @@ class InventaryParkingFragment( } } - viewModel.itemShelving_addList( - shelvingFk, - "" + listInt + "", - TRUE, - getDataInt(WAREHOUSEFK) - ) + adapter!!.notifyDataSetChanged() } @@ -461,147 +372,20 @@ class InventaryParkingFragment( with(viewModel) { - loadShelvingList.observe(viewLifecycleOwner, Observer { event -> - event.getContentIfNotHandled().notNull { - - deep = it.list.size - if (it.list.isNotEmpty() && it.list.get(0).isError) { - binding.splashProgress.visibility = View.GONE - ma.messageWithSound( - it.list.get(0).errorMessage, - it.list.get(0).isError, - isPlayed = false - ) - } else { - listItems = ArrayList() - var contEtiquetas = 0 - it.list.forEach { item -> - try { - contEtiquetas += item.stickers.toInt() - parking = item.code.uppercase() - } catch (e: Exception) { - } - - - listItems.add(item) - - - } - etiquetas = contEtiquetas.toString() - binding.mainToolbar.toolbarTitle.text = - shelvingFk.uppercase() + getString(R.string.pUppercase) + parking + getString( - R.string.label - ) + etiquetas - if (it.list.size > 0) - binding.editPrioridad.setText(it.list[0].priority) - binding.splashProgress.visibility = View.GONE - - - for (item in listItems) { - for (localItem in listLocalItems) { - if (item.item == localItem.item) { - item.isNew = localItem.isNew - item.checked = localItem.checked - if (item.isNew && item.visible != "0") { - item.isNew = false - item.checked = true - } - - binding.locationRecyclerview.postInvalidate() - } - - } - } - - if (!binding.mainToolbar.switchButton.isChecked && listItems.isNotEmpty()) { - - listItems = listItems.asReversed() - } - adapter = UbicadorAdapter( - listItems.sortedBy { it.isChecked }, - onPasillerosItemClickListener = pasillerosItemClickListener!!, - onVisibleClickListener = object : OnVisibleClickListener { - override fun onVisibleClickListener(item: ItemUbicadorVO) { - - if (!isAutoSelf) { - showAddItem( - item.item.toString(), - item.packing, - item.stickers, - item.visible, - true, - item, - grouping = if (item.grouping.isNullOrEmpty()) { - "" - } else item.grouping - ) - - } else { - - showAutoSelfConsumption(item) - } - - } - - }, - onMoreClickListener = object : OnMoreClickListener { - override fun onMoreClickListener(item: ItemUbicadorVO) { - showMoreOptions(item) - } - - }) - - binding.locationRecyclerview.adapter = adapter - binding.locationRecyclerview.layoutManager = - LinearLayoutManager( - requireContext(), - LinearLayoutManager.VERTICAL, - false - ) - - if (isShelvinLogfromMainScreen) { - viewModel.shelvinLog_add(shelvingFk) - - } - if (modeCheckUbication) { - listItems.sortedBy { it.isChecked }.forEachIndexed { index, item -> - if (item.item == itemScannedScreen) { - binding.locationRecyclerview.scrollToPosition(index) - } - } - - } else { - (binding.locationRecyclerview.layoutManager as LinearLayoutManager).scrollToPosition( - 0 - ) - } - } - } - }) - loadAddList.observe(viewLifecycleOwner) { event -> + loadInventaryParkingList.observe(viewLifecycleOwner) { event -> event.getContentIfNotHandled().notNull { binding.splashProgress.visibility = GONE - if (it.isError) { - ma.messageWithSound(it.errorMessage, it.isError, false) + if (it.list[0].isError) { + ma.messageWithSound(it.list[0].errorMessage, it.list[0].isError, false) } else { - binding.splashProgress.visibility = VISIBLE - viewModel.itemShelvingList(shelvingFk) + + createListInventoryParking(it.list) } } } - /* responseAddList.observe(viewLifecycleOwner, Observer { - binding.splashProgress.visibility = GONE - if (it.isError) { - ma.messageWithSound(it.errorMessage, it.isError, false) - } else { - binding.splashProgress.visibility = VISIBLE - viewModel.itemShelvingList(shelvingFk) - - } - })*/ response.observe(viewLifecycleOwner, Observer { if (it.isError) { @@ -610,82 +394,71 @@ class InventaryParkingFragment( } else { - viewModel.itemShelvingList(shelvingFk) ma.messageWithSound("", it.isError, true, isToasted = false) } }) - responseLog.observe(viewLifecycleOwner, Observer { - if (it.isError) { - ma.messageWithSound(it.errorMessage, it.isError, false) + /* loadResponseCode.observe(viewLifecycleOwner) { event -> + event.getContentIfNotHandled().notNull { + binding.splashProgress.visibility = GONE + if (it.isError) { + ma.messageWithSound(it.errorMessage, it.isError, false) + + } else { + if (it.response != "0") { + checkUbications(it.response.toInt()) + } else { + ma.messageWithSound(getString(R.string.labelNovalid), true, true) + } + } + } + }*/ - } else { - isShelvinLogfromMainScreen = false - - } - }) - loadResponseCode.observe(viewLifecycleOwner) { event -> - event.getContentIfNotHandled().notNull { - binding.splashProgress.visibility = GONE - if (it.isError) { - ma.messageWithSound(it.errorMessage, it.isError, false) - - } else { - if (it.response != "0") { - checkUbications(it.response.toInt()) - } else { - ma.messageWithSound(getString(R.string.labelNovalid), true, true) - } - } - } - } - /* responseCode.observe(viewLifecycleOwner, Observer { - binding.splashProgress.visibility = GONE - if (it.isError) { - ma.messageWithSound(it.errorMessage, true, true) - } else { - if (it.response!="0") {checkUbications(it.response.toInt())}else{ - ma.messageWithSound(getString(R.string.labelNovalid), true, true) - } - } - - - })*/ - responsepriority.observe(viewLifecycleOwner, Observer { - if (!isBack) { - binding.splashProgress.visibility = GONE - ma.messageWithSound( - if (it.isError) it.errorMessage else { - getString(R.string.priorityChanged) - }, it.isError, true - ) - } - isBack = false - - }) - - responseMake.observe(viewLifecycleOwner, Observer { - binding.splashProgress.visibility = GONE - if (it.isError) { - ma.messageWithSound(it.errorMessage, true, true, isToasted = true) - } else { - if (!shelvingFk.isNullOrEmpty()) { - - binding.mainToolbar.toolbarTitle.text = shelvingFk - binding.splashProgress.visibility = VISIBLE - viewModel.itemShelvingList( - shelvingFk - ) - - } - } - }) } } + private fun createListInventoryParking(list: List, sort:String?=null) { + var sortedList: List + //TODO() -> Falta obtindre la llista per a ordenar-la + // binding.locationRecyclerview.adapter.get + when (sort){ + "sector"->{ sortedList = list.sortedBy { it.sectorFk }} + "buyer"->{sortedList = list.sortedBy { it.sectorFk }} + else->{ + sortedList = list.sortedBy { it.pickingOrder } + } + } + adapter = InventoryParkingAdapter( + sortedList, + onPasillerosItemClickListener = pasillerosItemClickListener!!, + onVisibleClickListener = object : OnVisibleClickListener { + override fun onVisibleClickListener(item: ItemUbicadorVO) { + + showAutoSelfConsumption(item) + } + + + }, + onMoreClickListener = object : OnMoreClickListener { + override fun onMoreClickListener(item: ItemUbicadorVO) { + showMoreOptions(item) + } + + }) + + binding.locationRecyclerview.adapter = adapter + binding.locationRecyclerview.layoutManager = + LinearLayoutManager( + requireContext(), + LinearLayoutManager.VERTICAL, + false + ) + + } + private fun showAutoSelfConsumption(item: ItemUbicadorVO) { customDialogInput.setInputText() @@ -702,11 +475,7 @@ class InventaryParkingFragment( } else { 0 } - viewModel.itemShelving_selfConsumption( - shelvingFk, - item.item, - quantity - ) + } else { throw Exception("") } @@ -874,14 +643,7 @@ class InventaryParkingFragment( if (itemFk != null && visible != null) { binding.splashProgress.visibility = VISIBLE - viewModel.itemShelvingMake( - shelvingFk, - itemFk, - visible, - packing, - getDataInt(WAREHOUSEFK), - groupingPack - ) + customDialogUbicador.setItemValue("").setPackingValue("") .setGroupingValue("") @@ -893,14 +655,7 @@ class InventaryParkingFragment( } else if (itemFk != null && etiquetas != null) { val visible_calc = (etiquetas * packing!!.toInt()) binding.splashProgress.visibility = VISIBLE - viewModel.itemShelvingMake( - shelving = shelvingFk, - item = itemFk, - quantity = visible_calc, - packing = packing, - warehouse = getDataInt(WAREHOUSEFK), - grouping = groupingPack - ) + customDialogUbicador.setItemValue("").setPackingValue("") .setGroupingValue("") @@ -918,13 +673,7 @@ class InventaryParkingFragment( } else { if (itemFk != null && visible != null && !updatePacking) { binding.splashProgress.visibility = VISIBLE - viewModel.itemShelvingMakeEdit( - visible, - packing!!.toInt(), - itemShelvingFk, - groupingPack - ) customDialogUbicador.setItemValue("").setPackingValue("") .setGroupingValue("") @@ -940,13 +689,6 @@ class InventaryParkingFragment( } catch (e: Exception) { } binding.splashProgress.visibility = VISIBLE - viewModel.itemShelvingMakeEdit( - visible_calc, - packing.toInt(), - itemShelvingFk, - groupingPack - - ) customDialogUbicador.setItemValue("").setPackingValue("") .setGroupingValue("") @@ -980,10 +722,7 @@ class InventaryParkingFragment( .setOkButton(getString(R.string.transfer)) { if (customDialogInput.getValue().isNotEmpty()) { binding.splashProgress.visibility = VISIBLE - viewModel.itemShelvingTransfer( - item.id, - customDialogInput.getValue() - ) + listItems.remove(item) adapter!!.notifyDataSetChanged() customDialogInput.dismiss() @@ -1000,10 +739,7 @@ class InventaryParkingFragment( customDialogInput.getEditText() .setOnEditorActionListener { v, actionId, event -> if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0) { - viewModel.itemShelvingTransfer( - item.id, - customDialogInput.getValue() - ) + listItems.remove(item) adapter!!.notifyDataSetChanged() customDialogInput.dismiss() @@ -1015,24 +751,12 @@ class InventaryParkingFragment( }.setOkButtonTwo(getString(R.string.delete)) { customDialog.setTitle(getString(R.string.confirm)) .setDescription( - if (!isAutoSelf) { - getString(R.string.itemDeleteConfirm) + item.item + "?" - } else { - getString(R.string.deleteQuantity) + item.item - } + + getString(R.string.deleteQuantity) + item.item + ) .setOkButton(getString(R.string.delete)) { - if (!isAutoSelf) { - listItems.remove(item) - adapter!!.notifyDataSetChanged() - viewModel.itemShelvingDelete( - item.id - ) - customDialogTwoButtons.dismiss() - customDialog.dismiss() - } else { - viewModel.itemShelving_selfConsumption(shelvingFk, item.item, 0) - } + }.setKoButton(getString(R.string.cancel)) { customDialog.dismiss() customDialogTwoButtons.dismiss() diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/fragment/InventaryViewModel.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/fragment/InventaryViewModel.kt index 78cd014a..b8066312 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/fragment/InventaryViewModel.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/fragment/InventaryViewModel.kt @@ -13,6 +13,8 @@ import es.verdnatura.presentation.common.ResponseItemVO import es.verdnatura.presentation.view.feature.calidad.model.BuyerListVO import es.verdnatura.presentation.view.feature.calidad.model.BuyerVO import es.verdnatura.presentation.view.feature.inventario.model.InventaryListVO +import es.verdnatura.presentation.view.feature.inventario.model.InventoryParking +import es.verdnatura.presentation.view.feature.inventario.model.InventoryParkingList import es.verdnatura.presentation.view.feature.inventario.model.ItemInventaryVO import es.verdnatura.presentation.view.feature.workermistake.model.* import retrofit2.Response @@ -48,6 +50,13 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) { val responseAddMistake: LiveData get() = _responseAddMistake + + private val _inventoryListParking by lazy { MutableLiveData() } + val inventoryListParking: LiveData + get() = _inventoryListParking + + val loadInventaryParkingList = Transformations.map(_inventoryListParking) { Event(it) } + //sergio para obtener comprador fun itemShelvingBuyerGet() { silex.itemShelvingBuyerGet().enqueue(object : @@ -363,10 +372,52 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) { } fun inventoryParking( - vParkingFromFk: Int, - vParkingToFk: Int + vParkingFrom: String, + vParkingTo: String ) { - silex.itemShelving_inventory(vParkingFromFk, vParkingToFk) + + var myList = InventoryParkingList( + listOf( + InventoryParking( + 31, "F-01-1", "OZR", 19897, "Dendrobium Galaxy", 510, 37, "Jose Alarcan Gomex", + "http://verdnatura.es/vn-image-data/catalog/1600x900/dgalaxy", 0, 2 + ), + InventoryParking( + 31, "F-01-1", "OZR", 92400, "Cymbidium Avalanche", 14, 37, "Sergio de la Torre Nebot", + "http://verdnatura.es/vn-image-data/catalog/1600x900/92400", 0, 2 + ), + InventoryParking( + 31, "F-01-1", "OZR", 92400, "Cymbidium Avalanche", 2, 37, "Jose Alarcan Gomex", + "http://verdnatura.es/vn-image-data/catalog/1600x900/92400", 0, 2 + ), + InventoryParking( + 32, "F-01-2", "PLY", 19897, "Dendrobium Galaxy", 520, 37, "Jose Alarcan Gomex", + "http://verdnatura.es/vn-image-data/catalog/1600x900/dgalaxy", 0, 2 + ), + InventoryParking( + 33, "F-01-3", "ZLZ", 2912, "HEL Tropical Red", 2, 37, "Jose Alarcan Gomex", + "http://verdnatura.es/vn-image-data/catalog/1600x900/002912", 0, 0 + ), + InventoryParking( + 34, "F-01-4", "JXU", 25942, "HEL BQ Amor (x bouquet)", 0, 37, "Jose Alarcan Gomex", + "http://verdnatura.es/vn-image-data/catalog/1600x900/bqamor", 0, 0 + ), + InventoryParking( + 34, "F-01-4", "MUU", 25942, "HEL BQ Amor (x bouquet)", 5, 37, "Jose Alarcan Gomex", + "http://verdnatura.es/vn-image-data/catalog/1600x900/bqamor", 0, 0 + ), + InventoryParking( + 34, "F-01-4", "JXU", 50001, "Monstera I", 130, 37, "Jose Alarcan Gomex", + "http://verdnatura.es/vn-image-data/catalog/1600x900/50001", 0, 2 + ), + InventoryParking( + 34, "F-01-4", "JXU", 50004, "Monstera IV", 240, 37, "Jose Alarcan Gomex", + "http://verdnatura.es/vn-image-data/catalog/1600x900/50003", 0, 2 + ) + )) + _inventoryListParking.value = myList + + /*silex.itemShelving_inventory(vParkingFromFk, vParkingToFk) .enqueue(object : SilexCallback(context) { override fun onError(t: Throwable) { @@ -385,7 +436,7 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) { response = response.message() ) } - }) + })*/ } fun expeditionMistakeType_get() { diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/model/BuyerInventary.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/model/BuyerInventary.kt index 4b1e56e8..df8a8030 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/model/BuyerInventary.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/model/BuyerInventary.kt @@ -1,16 +1,14 @@ package es.verdnatura.presentation.view.feature.inventario.model -import es.verdnatura.presentation.view.feature.inventario.model.ItemInventaryVO - -class BuyerInventary ( - var userFk:String = "", - var nickname:String= "", - var isError:Boolean = false, - var errorMessage:String = "" +class BuyerInventary( + var userFk: String = "", + var nickname: String = "", + var isError: Boolean = false, + var errorMessage: String = "" ) -class BuyerListInventary ( +class BuyerListInventary( var list: List = listOf() ) diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/model/ItemInventaryVO.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/model/ItemInventaryVO.kt index fdfb1bb0..f723820d 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/model/ItemInventaryVO.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/inventario/model/ItemInventaryVO.kt @@ -18,3 +18,23 @@ class InventaryListVO( ) + +data class InventoryParking( + val pickingOrder: Int, + val parking: String, + val shelvingFk: String, + val itemFk: Int, + val longName: String, + val visible: Int, + val sectorFk: Int, + val buyer: String, + val urlImage: String, + val isChecked:Int?, + val priority: Int, + var isError: Boolean = false, + var errorMessage: String = "", +) +class InventoryParkingList( + var list: List = listOf() +) + 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 1678ec6c..87c6fc8a 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 @@ -813,7 +813,7 @@ class MainActivity : BaseActivity(), OnPasillerosItemClickL } getString(R.string.titleInventoryParking) -> { - addFragmentOnTop(InventaryParkingFragment.newInstance(entryPoint)) + addFragmentOnTop(InventaryParkingFragment.newInstance(item.title)) } } diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/fragment/PasilleroViewModel.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/fragment/PasilleroViewModel.kt index 452dfc40..7ce68ae1 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/fragment/PasilleroViewModel.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/pasillero/fragment/PasilleroViewModel.kt @@ -170,7 +170,7 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) { ) ) //Tarea 5891 - /* _pasillerositem.add( + /* _pasillerositem.add( PasillerosItemVO( 3, R.drawable.ic_inventory_parking, diff --git a/app/src/main/res/layout/fragment_inventory_parking.xml b/app/src/main/res/layout/fragment_inventory_parking.xml new file mode 100644 index 00000000..34eaf683 --- /dev/null +++ b/app/src/main/res/layout/fragment_inventory_parking.xml @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ' + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_inventory_parking_row.xml b/app/src/main/res/layout/item_inventory_parking_row.xml new file mode 100644 index 00000000..8befa6cb --- /dev/null +++ b/app/src/main/res/layout/item_inventory_parking_row.xml @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index f338b265..57a55575 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -81,6 +81,7 @@ 3dp + 10dp 15dp 5dp