feat: refs #7920 itemShelvingGet
This commit is contained in:
parent
72ff345744
commit
35fce7e656
Binary file not shown.
|
@ -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,16 +45,32 @@ class ShelvingLogFragment(
|
|||
|
||||
}
|
||||
|
||||
private fun setToolBar(title:String) {
|
||||
private fun setToolBar(title: String) {
|
||||
|
||||
if (logType == LogType.SHELVING) {
|
||||
when (logType) {
|
||||
LogType.SHELVING -> {
|
||||
binding.mainToolbar.toolbarTitle.text = title
|
||||
}
|
||||
|
||||
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))
|
||||
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
|
@ -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,21 +139,55 @@ 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(
|
||||
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"
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
)
|
||||
|
||||
|
|
|
@ -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<ShelvingLogSalixList>() }
|
||||
val loadShelvingLogSalixList: LiveData<Event<ShelvingLogSalixList>> =
|
||||
_itemShelvingLogSalixList.map { Event(it) }
|
||||
|
||||
private val _responseParkingId by lazy { MutableLiveData<Int?>() }
|
||||
val responseParkingId: LiveData<Int?> = _responseParkingId
|
||||
val loadResponseParking: LiveData<Event<Int?>> =_responseParkingId.map { Event(it) }
|
||||
val loadResponseParking: LiveData<Event<Int?>> = _responseParkingId.map { Event(it) }
|
||||
|
||||
private val _responseCode by lazy { MutableLiveData<Int?>() }
|
||||
val responseCode: LiveData<Int?> = _responseCode
|
||||
val loadResponseCode: LiveData<Event<Int?>> = _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<List<JsonObject>>(context) {
|
||||
override fun onSuccess(response: Response<List<JsonObject>>) {
|
||||
_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<Int?>(context) {
|
||||
|
||||
override fun onSuccess(response: Response<Int?>) {
|
||||
_responseCode.value = response.body() ?: -1
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -40,8 +40,10 @@ data class DeviceLogSalix(
|
|||
val versionApp: String,
|
||||
val serialNumber: String?
|
||||
)
|
||||
|
||||
enum class LogType {
|
||||
SHELVING,
|
||||
PREVIOUS,
|
||||
ITEMSHELVING
|
||||
|
||||
}
|
||||
|
|
|
@ -82,27 +82,6 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<Button
|
||||
android:id="@+id/buttonMerienda"
|
||||
style="@style/DefaultButton.DynamicButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/layout_margin_min"
|
||||
android:onClick="generateQr"
|
||||
android:tag="5"
|
||||
android:text="@string/snack"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/scan_input" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -138,6 +117,27 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<Button
|
||||
android:id="@+id/buttonMerienda"
|
||||
style="@style/DefaultButton.DynamicButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/layout_margin_min"
|
||||
android:onClick="generateQr"
|
||||
android:tag="5"
|
||||
android:text="@string/snack"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/scan_input" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
|
|
@ -358,7 +358,7 @@
|
|||
<string name="titleQrReader">Lector Qr</string>
|
||||
<string name="titleBufferOff">Desactivado buffer</string>
|
||||
<string name="titlePreControl">Pre Control</string>
|
||||
<string name="titleShelvingHistorical">Histórico ítems del carro</string>
|
||||
<string name="titleShelvingHistorical">Histórico ítems del carro Viejo</string>
|
||||
<string name="titleLogShelving">Histórico del carro</string>
|
||||
<string name="itemScanetNotFound">Elemento escaneado no encontrado </string>
|
||||
<string name="NotOrderReplacement">No existen pedidos para reponer</string>
|
||||
|
@ -911,6 +911,8 @@
|
|||
<string name="entrySearch">Escribe entrada</string>
|
||||
<string name="snack">Merienda</string>
|
||||
<string name="register">Registro:</string>
|
||||
<string name="titleShelvingHistNew">Histórico ítems del carro</string>
|
||||
<string name="ubicatorNew">ubicador nuevo</string>
|
||||
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -358,7 +358,7 @@
|
|||
<string name="titleQrReader">Lector Qr</string>
|
||||
<string name="titleBufferOff">Desactivado buffer</string>
|
||||
<string name="titlePreControl">Pre Control</string>
|
||||
<string name="titleShelvingHistorical">Histórico ítems del carro</string>
|
||||
<string name="titleShelvingHistorical">Histórico ítems del carro Viejo</string>
|
||||
<string name="titleLogShelving">Histórico del carro</string>
|
||||
<string name="itemScanetNotFound">Elemento escaneado no encontrado </string>
|
||||
<string name="NotOrderReplacement">No existen pedidos para reponer</string>
|
||||
|
@ -911,5 +911,7 @@
|
|||
<string name="entrySearch">Escribe entrada</string>
|
||||
<string name="snack">Merienda</string>
|
||||
<string name="register">Registro:</string>
|
||||
<string name="titleShelvingHistNew">Histórico ítems del carro</string>
|
||||
<string name="ubicatorNew">ubicador nuevo</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -358,7 +358,7 @@
|
|||
<string name="titleQrReader">Lector Qr</string>
|
||||
<string name="titleBufferOff">Desactivado buffer</string>
|
||||
<string name="titlePreControl">Pre Control</string>
|
||||
<string name="titleShelvingHistorical">Histórico ítems del carro</string>
|
||||
<string name="titleShelvingHistorical">Histórico ítems del carro Viejo</string>
|
||||
<string name="titleLogShelving">Histórico del carro</string>
|
||||
<string name="itemScanetNotFound">Elemento escaneado no encontrado </string>
|
||||
<string name="NotOrderReplacement">No existen pedidos para reponer</string>
|
||||
|
@ -911,5 +911,7 @@
|
|||
<string name="entrySearch">Escribe entrada</string>
|
||||
<string name="snack">Merienda</string>
|
||||
<string name="register">Registro:</string>
|
||||
<string name="titleShelvingHistNew">Histórico ítems del carro</string>
|
||||
<string name="ubicatorNew">ubicador nuevo</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -914,5 +914,7 @@
|
|||
<string name="entrySearch">Escribe entrada</string>
|
||||
<string name="snack">Merienda</string>
|
||||
<string name="register">Registro:</string>
|
||||
<string name="titleShelvingHistNew">Histórico ítems del carro</string>
|
||||
<string name="ubicatorNew">ubicador nuevo</string>
|
||||
|
||||
</resources>
|
||||
|
|
Loading…
Reference in New Issue