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.databinding.FragmentShelvinglogBinding
|
||||||
import es.verdnatura.domain.notNull
|
import es.verdnatura.domain.notNull
|
||||||
import es.verdnatura.presentation.base.BaseFragment
|
import es.verdnatura.presentation.base.BaseFragment
|
||||||
|
import es.verdnatura.presentation.common.itemScanValue
|
||||||
import es.verdnatura.presentation.view.component.CustomDialog
|
import es.verdnatura.presentation.view.component.CustomDialog
|
||||||
import es.verdnatura.presentation.view.feature.historicoshelvinglog.adapter.ShelvingLogAdapter
|
import es.verdnatura.presentation.view.feature.historicoshelvinglog.adapter.ShelvingLogAdapter
|
||||||
import es.verdnatura.presentation.view.feature.historicoshelvinglog.model.LogType
|
import es.verdnatura.presentation.view.feature.historicoshelvinglog.model.LogType
|
||||||
|
@ -23,6 +24,7 @@ class ShelvingLogFragment(
|
||||||
) {
|
) {
|
||||||
private var adapter: ShelvingLogAdapter? = null
|
private var adapter: ShelvingLogAdapter? = null
|
||||||
private var itemScan = ""
|
private var itemScan = ""
|
||||||
|
private var isitemFkScanned = false
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun newInstance(entryPoint: String, logType: LogType) =
|
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) {
|
when (logType) {
|
||||||
binding.mainToolbar.toolbarTitle.text = title
|
LogType.SHELVING -> {
|
||||||
|
binding.mainToolbar.toolbarTitle.text = title
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
LogType.PREVIOUS -> {
|
||||||
binding.mainToolbar.toolbarTitle.text = title
|
binding.mainToolbar.toolbarTitle.text = title
|
||||||
binding.scanInput.setHint(getString(R.string.scanParkingTxt))
|
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() {
|
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 (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) {
|
||||||
if (binding.scanInput.text.toString().isNotEmpty()) {
|
if (binding.scanInput.text.toString().isNotEmpty()) {
|
||||||
|
|
||||||
|
binding.scanInput.setText(
|
||||||
|
itemScanValue(
|
||||||
|
binding.scanInput.text.toString(), arrayOf("buy"), "id"
|
||||||
|
).toString()
|
||||||
|
)
|
||||||
when (logType) {
|
when (logType) {
|
||||||
LogType.SHELVING -> {
|
LogType.SHELVING -> {
|
||||||
viewModel.shelvings((binding.scanInput.text.toString()))
|
viewModel.shelvings((binding.scanInput.text.toString()))
|
||||||
|
@ -69,6 +92,9 @@ class ShelvingLogFragment(
|
||||||
}
|
}
|
||||||
|
|
||||||
LogType.PREVIOUS -> viewModel.getParkingId((binding.scanInput.text.toString()))
|
LogType.PREVIOUS -> viewModel.getParkingId((binding.scanInput.text.toString()))
|
||||||
|
LogType.ITEMSHELVING -> {
|
||||||
|
viewModel.shelvings((binding.scanInput.text.toString()))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
itemScan = binding.scanInput.text.toString()
|
itemScan = binding.scanInput.text.toString()
|
||||||
}
|
}
|
||||||
|
@ -95,11 +121,11 @@ class ShelvingLogFragment(
|
||||||
LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
|
LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
|
||||||
setToolBar(getString(R.string.shelvingLog) + ":" + itemScan)
|
setToolBar(getString(R.string.shelvingLog) + ":" + itemScan)
|
||||||
if (it.list.isEmpty()) {
|
if (it.list.isEmpty()) {
|
||||||
customDialog.setTitle(getString(R.string.noResults))
|
if (logType == LogType.SHELVING) {
|
||||||
.setDescription(getString(R.string.noDataLabelScanned))
|
showMessage()
|
||||||
.setOkButton(getString(R.string.close)) {
|
} else {
|
||||||
customDialog.dismiss()
|
viewModel.getIdFromCodeSalix(itemScan)
|
||||||
}.show()
|
}
|
||||||
} else {
|
} else {
|
||||||
openWebViewer(it.list[0].id!!, "shelving")
|
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) {
|
private fun openWebViewer(param: Int, web: String) {
|
||||||
|
|
||||||
|
//variableWeb = if (itemScan is Number) "var-itemFk=$param" else "var-shelvingCode=$param"
|
||||||
ma.onPasillerosItemClickListener(
|
ma.onPasillerosItemClickListener(
|
||||||
PasillerosItemVO(
|
PasillerosItemVO(
|
||||||
title = R.string.titleWebViewer,
|
title = R.string.titleWebViewer,
|
||||||
),
|
),
|
||||||
|
|
||||||
entryPoint = Gson().toJson(
|
entryPoint = if (logType == LogType.ITEMSHELVING) {
|
||||||
mutableMapOf(
|
Gson().toJson(
|
||||||
"entryPoint" to param,
|
mutableMapOf(
|
||||||
"web" to "${mobileApplication.dataStoreApp.getServerLilium()}/#/$web/$param/log"
|
"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 androidx.lifecycle.map
|
||||||
import com.google.gson.JsonObject
|
import com.google.gson.JsonObject
|
||||||
import es.verdnatura.domain.SalixCallback
|
import es.verdnatura.domain.SalixCallback
|
||||||
|
import es.verdnatura.domain.userCases.GetItemFromBarcodeUseCase
|
||||||
import es.verdnatura.presentation.base.BaseViewModel
|
import es.verdnatura.presentation.base.BaseViewModel
|
||||||
import es.verdnatura.presentation.common.Event
|
import es.verdnatura.presentation.common.Event
|
||||||
import es.verdnatura.presentation.view.feature.historicoshelvinglog.model.ShelvingLogSalix
|
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
|
import retrofit2.Response
|
||||||
|
|
||||||
class ShelvingLogViewModel(val context: Context) : BaseViewModel(context) {
|
class ShelvingLogViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
|
private val getItemFromBarcodeUseCase = GetItemFromBarcodeUseCase(salix)
|
||||||
private val _itemShelvingLogSalixList by lazy { MutableLiveData<ShelvingLogSalixList>() }
|
private val _itemShelvingLogSalixList by lazy { MutableLiveData<ShelvingLogSalixList>() }
|
||||||
val loadShelvingLogSalixList: LiveData<Event<ShelvingLogSalixList>> =
|
val loadShelvingLogSalixList: LiveData<Event<ShelvingLogSalixList>> =
|
||||||
_itemShelvingLogSalixList.map { Event(it) }
|
_itemShelvingLogSalixList.map { Event(it) }
|
||||||
|
|
||||||
private val _responseParkingId by lazy { MutableLiveData<Int?>() }
|
private val _responseParkingId by lazy { MutableLiveData<Int?>() }
|
||||||
val responseParkingId: LiveData<Int?> = _responseParkingId
|
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) {
|
fun shelvings(vShelvingFK: String) {
|
||||||
salix.shelvingsGet("""{"where": {"code": "$vShelvingFK"}}""").enqueue(object :
|
salix.shelvingsGet("""{"where": {"code": "$vShelvingFK"}}""").enqueue(object :
|
||||||
|
@ -41,13 +46,26 @@ class ShelvingLogViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
.enqueue(object :
|
.enqueue(object :
|
||||||
SalixCallback<List<JsonObject>>(context) {
|
SalixCallback<List<JsonObject>>(context) {
|
||||||
override fun onSuccess(response: Response<List<JsonObject>>) {
|
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 versionApp: String,
|
||||||
val serialNumber: String?
|
val serialNumber: String?
|
||||||
)
|
)
|
||||||
|
|
||||||
enum class LogType {
|
enum class LogType {
|
||||||
SHELVING,
|
SHELVING,
|
||||||
PREVIOUS,
|
PREVIOUS,
|
||||||
|
ITEMSHELVING
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,27 +82,6 @@
|
||||||
|
|
||||||
</LinearLayout>
|
</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
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
@ -138,6 +117,27 @@
|
||||||
|
|
||||||
</LinearLayout>
|
</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>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
|
|
@ -358,7 +358,7 @@
|
||||||
<string name="titleQrReader">Lector Qr</string>
|
<string name="titleQrReader">Lector Qr</string>
|
||||||
<string name="titleBufferOff">Desactivado buffer</string>
|
<string name="titleBufferOff">Desactivado buffer</string>
|
||||||
<string name="titlePreControl">Pre Control</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="titleLogShelving">Histórico del carro</string>
|
||||||
<string name="itemScanetNotFound">Elemento escaneado no encontrado </string>
|
<string name="itemScanetNotFound">Elemento escaneado no encontrado </string>
|
||||||
<string name="NotOrderReplacement">No existen pedidos para reponer</string>
|
<string name="NotOrderReplacement">No existen pedidos para reponer</string>
|
||||||
|
@ -911,6 +911,8 @@
|
||||||
<string name="entrySearch">Escribe entrada</string>
|
<string name="entrySearch">Escribe entrada</string>
|
||||||
<string name="snack">Merienda</string>
|
<string name="snack">Merienda</string>
|
||||||
<string name="register">Registro:</string>
|
<string name="register">Registro:</string>
|
||||||
|
<string name="titleShelvingHistNew">Histórico ítems del carro</string>
|
||||||
|
<string name="ubicatorNew">ubicador nuevo</string>
|
||||||
|
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -358,7 +358,7 @@
|
||||||
<string name="titleQrReader">Lector Qr</string>
|
<string name="titleQrReader">Lector Qr</string>
|
||||||
<string name="titleBufferOff">Desactivado buffer</string>
|
<string name="titleBufferOff">Desactivado buffer</string>
|
||||||
<string name="titlePreControl">Pre Control</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="titleLogShelving">Histórico del carro</string>
|
||||||
<string name="itemScanetNotFound">Elemento escaneado no encontrado </string>
|
<string name="itemScanetNotFound">Elemento escaneado no encontrado </string>
|
||||||
<string name="NotOrderReplacement">No existen pedidos para reponer</string>
|
<string name="NotOrderReplacement">No existen pedidos para reponer</string>
|
||||||
|
@ -911,5 +911,7 @@
|
||||||
<string name="entrySearch">Escribe entrada</string>
|
<string name="entrySearch">Escribe entrada</string>
|
||||||
<string name="snack">Merienda</string>
|
<string name="snack">Merienda</string>
|
||||||
<string name="register">Registro:</string>
|
<string name="register">Registro:</string>
|
||||||
|
<string name="titleShelvingHistNew">Histórico ítems del carro</string>
|
||||||
|
<string name="ubicatorNew">ubicador nuevo</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -358,7 +358,7 @@
|
||||||
<string name="titleQrReader">Lector Qr</string>
|
<string name="titleQrReader">Lector Qr</string>
|
||||||
<string name="titleBufferOff">Desactivado buffer</string>
|
<string name="titleBufferOff">Desactivado buffer</string>
|
||||||
<string name="titlePreControl">Pre Control</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="titleLogShelving">Histórico del carro</string>
|
||||||
<string name="itemScanetNotFound">Elemento escaneado no encontrado </string>
|
<string name="itemScanetNotFound">Elemento escaneado no encontrado </string>
|
||||||
<string name="NotOrderReplacement">No existen pedidos para reponer</string>
|
<string name="NotOrderReplacement">No existen pedidos para reponer</string>
|
||||||
|
@ -911,5 +911,7 @@
|
||||||
<string name="entrySearch">Escribe entrada</string>
|
<string name="entrySearch">Escribe entrada</string>
|
||||||
<string name="snack">Merienda</string>
|
<string name="snack">Merienda</string>
|
||||||
<string name="register">Registro:</string>
|
<string name="register">Registro:</string>
|
||||||
|
<string name="titleShelvingHistNew">Histórico ítems del carro</string>
|
||||||
|
<string name="ubicatorNew">ubicador nuevo</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -914,5 +914,7 @@
|
||||||
<string name="entrySearch">Escribe entrada</string>
|
<string name="entrySearch">Escribe entrada</string>
|
||||||
<string name="snack">Merienda</string>
|
<string name="snack">Merienda</string>
|
||||||
<string name="register">Registro:</string>
|
<string name="register">Registro:</string>
|
||||||
|
<string name="titleShelvingHistNew">Histórico ítems del carro</string>
|
||||||
|
<string name="ubicatorNew">ubicador nuevo</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
Loading…
Reference in New Issue