diff --git a/app/general/release/baselineProfiles/0/app-general-release.dm b/app/general/release/baselineProfiles/0/app-general-release.dm new file mode 100644 index 00000000..a622bdba Binary files /dev/null and b/app/general/release/baselineProfiles/0/app-general-release.dm differ diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelvinglog/fragment/shelvingLogFragment.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelvinglog/fragment/shelvingLogFragment.kt index 4bdefe13..fe96ac2c 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelvinglog/fragment/shelvingLogFragment.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelvinglog/fragment/shelvingLogFragment.kt @@ -8,6 +8,7 @@ import es.verdnatura.R import es.verdnatura.databinding.FragmentShelvinglogBinding import es.verdnatura.domain.notNull import es.verdnatura.presentation.base.BaseFragment +import es.verdnatura.presentation.common.itemScanValue import es.verdnatura.presentation.view.component.CustomDialog import es.verdnatura.presentation.view.feature.historicoshelvinglog.adapter.ShelvingLogAdapter import es.verdnatura.presentation.view.feature.historicoshelvinglog.model.LogType @@ -23,6 +24,7 @@ class ShelvingLogFragment( ) { private var adapter: ShelvingLogAdapter? = null private var itemScan = "" + private var isitemFkScanned = false companion object { fun newInstance(entryPoint: String, logType: LogType) = @@ -43,17 +45,33 @@ class ShelvingLogFragment( } - private fun setToolBar(title:String) { + private fun setToolBar(title: String) { - if (logType == LogType.SHELVING) { - binding.mainToolbar.toolbarTitle.text = title + when (logType) { + LogType.SHELVING -> { + binding.mainToolbar.toolbarTitle.text = title + } - } else { - binding.mainToolbar.toolbarTitle.text = title - binding.scanInput.setHint(getString(R.string.scanParkingTxt)) + LogType.PREVIOUS -> { + binding.mainToolbar.toolbarTitle.text = title + binding.scanInput.setHint(getString(R.string.scanParkingTxt)) + } + LogType.ITEMSHELVING -> { + binding.mainToolbar.toolbarTitle.text = title + binding.scanInput.setHint("Escanea carro o item") + } } + /* if (logType == LogType.SHELVING) { + binding.mainToolbar.toolbarTitle.text = title + + } else { + binding.mainToolbar.toolbarTitle.text = title + binding.scanInput.setHint(getString(R.string.scanParkingTxt)) + + }*/ + } private fun setEvents() { @@ -62,6 +80,11 @@ class ShelvingLogFragment( if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) { if (binding.scanInput.text.toString().isNotEmpty()) { + binding.scanInput.setText( + itemScanValue( + binding.scanInput.text.toString(), arrayOf("buy"), "id" + ).toString() + ) when (logType) { LogType.SHELVING -> { viewModel.shelvings((binding.scanInput.text.toString())) @@ -69,6 +92,9 @@ class ShelvingLogFragment( } LogType.PREVIOUS -> viewModel.getParkingId((binding.scanInput.text.toString())) + LogType.ITEMSHELVING -> { + viewModel.shelvings((binding.scanInput.text.toString())) + } } itemScan = binding.scanInput.text.toString() } @@ -95,11 +121,11 @@ class ShelvingLogFragment( LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false) setToolBar(getString(R.string.shelvingLog) + ":" + itemScan) if (it.list.isEmpty()) { - customDialog.setTitle(getString(R.string.noResults)) - .setDescription(getString(R.string.noDataLabelScanned)) - .setOkButton(getString(R.string.close)) { - customDialog.dismiss() - }.show() + if (logType == LogType.SHELVING) { + showMessage() + } else { + viewModel.getIdFromCodeSalix(itemScan) + } } else { openWebViewer(it.list[0].id!!, "shelving") } @@ -113,24 +139,58 @@ class ShelvingLogFragment( } } + loadResponseCode.observe(viewLifecycleOwner) { event -> + event.getContentIfNotHandled().notNull { + setToolBar(getString(R.string.item) + itemScan) + if (it == -1) showMessage() else { + isitemFkScanned = true + openWebViewer(it, "") + } + + } + } } } + override fun onPause() { + isitemFkScanned = false + super.onPause() + } + + private fun showMessage() { + customDialog.setTitle(getString(R.string.noResults)) + .setDescription(getString(R.string.noDataLabelScanned)) + .setOkButton(getString(R.string.close)) { + customDialog.dismiss() + }.show() + } + private fun openWebViewer(param: Int, web: String) { + + //variableWeb = if (itemScan is Number) "var-itemFk=$param" else "var-shelvingCode=$param" ma.onPasillerosItemClickListener( PasillerosItemVO( title = R.string.titleWebViewer, ), - entryPoint = Gson().toJson( - mutableMapOf( - "entryPoint" to param, - "web" to "${mobileApplication.dataStoreApp.getServerLilium()}/#/$web/$param/log" + entryPoint = if (logType == LogType.ITEMSHELVING) { + Gson().toJson( + mutableMapOf( + "entryPoint" to param, + "web" to "https://grafana.verdnatura.es/d/ce4b8ymvex4owa?${if (isitemFkScanned) "var-itemFk=$param" else "var-shelvingCode=$itemScan"}" + ) ) - ) + } else { + Gson().toJson( + mutableMapOf( + "entryPoint" to param, + "web" to "${mobileApplication.dataStoreApp.getServerLilium()}/#/$web/$param/log" + ) + ) + } ) } -} +} \ No newline at end of file diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelvinglog/fragment/shelvingLogViewModel.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelvinglog/fragment/shelvingLogViewModel.kt index 817e73c3..f7dee81f 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelvinglog/fragment/shelvingLogViewModel.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelvinglog/fragment/shelvingLogViewModel.kt @@ -6,6 +6,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.map import com.google.gson.JsonObject import es.verdnatura.domain.SalixCallback +import es.verdnatura.domain.userCases.GetItemFromBarcodeUseCase import es.verdnatura.presentation.base.BaseViewModel import es.verdnatura.presentation.common.Event import es.verdnatura.presentation.view.feature.historicoshelvinglog.model.ShelvingLogSalix @@ -13,14 +14,18 @@ import es.verdnatura.presentation.view.feature.historicoshelvinglog.model.Shelvi import retrofit2.Response class ShelvingLogViewModel(val context: Context) : BaseViewModel(context) { - + private val getItemFromBarcodeUseCase = GetItemFromBarcodeUseCase(salix) private val _itemShelvingLogSalixList by lazy { MutableLiveData() } val loadShelvingLogSalixList: LiveData> = _itemShelvingLogSalixList.map { Event(it) } private val _responseParkingId by lazy { MutableLiveData() } val responseParkingId: LiveData = _responseParkingId - val loadResponseParking: LiveData> =_responseParkingId.map { Event(it) } + val loadResponseParking: LiveData> = _responseParkingId.map { Event(it) } + + private val _responseCode by lazy { MutableLiveData() } + val responseCode: LiveData = _responseCode + val loadResponseCode: LiveData> = _responseCode.map { Event(it) } fun shelvings(vShelvingFK: String) { salix.shelvingsGet("""{"where": {"code": "$vShelvingFK"}}""").enqueue(object : @@ -41,13 +46,26 @@ class ShelvingLogViewModel(val context: Context) : BaseViewModel(context) { .enqueue(object : SalixCallback>(context) { override fun onSuccess(response: Response>) { - _responseParkingId.value = response.body()?.firstOrNull()?.entrySet()?.firstOrNull()?.value?.toString()?.toIntOrNull() + _responseParkingId.value = + response.body()?.firstOrNull()?.entrySet()?.firstOrNull()?.value?.toString() + ?.toIntOrNull() } }) } + + fun getIdFromCodeSalix(code: String) { + getItemFromBarcodeUseCase.execute(code) + .enqueue(object : SalixCallback(context) { + + override fun onSuccess(response: Response) { + _responseCode.value = response.body() ?: -1 + + } + }) + } } diff --git a/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelvinglog/model/ShelvingLog.kt b/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelvinglog/model/ShelvingLog.kt index 50d4863c..8eb22de8 100644 --- a/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelvinglog/model/ShelvingLog.kt +++ b/app/src/main/java/es/verdnatura/presentation/view/feature/historicoshelvinglog/model/ShelvingLog.kt @@ -40,8 +40,10 @@ data class DeviceLogSalix( val versionApp: String, val serialNumber: String? ) + enum class LogType { SHELVING, PREVIOUS, + ITEMSHELVING } diff --git a/app/src/main/res/layout/activity_restaurant_view.xml b/app/src/main/res/layout/activity_restaurant_view.xml index 7451a3f4..aa0cf146 100644 --- a/app/src/main/res/layout/activity_restaurant_view.xml +++ b/app/src/main/res/layout/activity_restaurant_view.xml @@ -82,27 +82,6 @@ - - -