refs #5891
This commit is contained in:
parent
dccbb41ab1
commit
ad4910948d
|
@ -1,5 +1,6 @@
|
||||||
package es.verdnatura.domain
|
package es.verdnatura.domain
|
||||||
|
|
||||||
|
import com.google.gson.JsonObject
|
||||||
import es.verdnatura.presentation.common.itemBarCodeSalix
|
import es.verdnatura.presentation.common.itemBarCodeSalix
|
||||||
import es.verdnatura.presentation.common.itemPackingTypeSalix
|
import es.verdnatura.presentation.common.itemPackingTypeSalix
|
||||||
import es.verdnatura.presentation.common.packingSiteSalix
|
import es.verdnatura.presentation.common.packingSiteSalix
|
||||||
|
@ -213,13 +214,26 @@ interface SalixService {
|
||||||
):
|
):
|
||||||
Call<List<accessConfigSalix>>
|
Call<List<accessConfigSalix>>
|
||||||
|
|
||||||
@GET("vnusers/renewToken")
|
@POST("vnusers/renewToken")
|
||||||
fun renewToken(
|
fun renewToken(
|
||||||
):
|
):
|
||||||
Call<LoginSalixVO>
|
Call<LoginSalixVO>
|
||||||
|
|
||||||
}
|
@PATCH("ItemShelvings/{id}")
|
||||||
|
fun itemShelvingUpdate(
|
||||||
|
@Path("id") id: Number,
|
||||||
|
@Body params: Any
|
||||||
|
):
|
||||||
|
Call<Any>
|
||||||
|
|
||||||
|
@POST("ItemShelvings/update")
|
||||||
|
fun itemShelvingsUpdate(
|
||||||
|
@Query("where") id: JsonObject,
|
||||||
|
@Body params: Any
|
||||||
|
):
|
||||||
|
Call<Any>
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
interface SalixServiceSend {
|
interface SalixServiceSend {
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,6 @@ class InventoryParkingAdapter(
|
||||||
fun bind(item: ItemInventoryParking) {
|
fun bind(item: ItemInventoryParking) {
|
||||||
binding.apply {
|
binding.apply {
|
||||||
this.item = item
|
this.item = item
|
||||||
//multiText.text = "${item.stickers}x${item.packing}"
|
|
||||||
imgItem.loadUrl(item.urlImage)
|
imgItem.loadUrl(item.urlImage)
|
||||||
imgItem.setOnClickListener {
|
imgItem.setOnClickListener {
|
||||||
onPasillerosItemClickListener.onPasillerosItemClickListener(
|
onPasillerosItemClickListener.onPasillerosItemClickListener(
|
||||||
|
@ -117,7 +116,15 @@ class InventoryParkingAdapter(
|
||||||
moreImg.setOnClickListener {
|
moreImg.setOnClickListener {
|
||||||
// onMoreClickListener.onMoreClickListener(item)
|
// onMoreClickListener.onMoreClickListener(item)
|
||||||
}
|
}
|
||||||
namelayout.setOnClickListener {
|
|
||||||
|
itemShelving.setOnClickListener {
|
||||||
|
onPasillerosItemClickListener.onPasillerosItemClickListener(
|
||||||
|
PasillerosItemVO(
|
||||||
|
title = res.getString(R.string.titleUbicator)
|
||||||
|
), item.shelvingFk
|
||||||
|
)
|
||||||
|
}
|
||||||
|
itemfkText.setOnClickListener {
|
||||||
onPasillerosItemClickListener.onPasillerosItemClickListener(
|
onPasillerosItemClickListener.onPasillerosItemClickListener(
|
||||||
PasillerosItemVO(
|
PasillerosItemVO(
|
||||||
title = res.getString(R.string.itemSearch)
|
title = res.getString(R.string.itemSearch)
|
||||||
|
|
|
@ -5,7 +5,7 @@ import android.content.Context
|
||||||
import android.graphics.drawable.Drawable
|
import android.graphics.drawable.Drawable
|
||||||
import android.media.MediaPlayer
|
import android.media.MediaPlayer
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.text.InputType
|
||||||
import android.view.View.GONE
|
import android.view.View.GONE
|
||||||
import android.view.View.VISIBLE
|
import android.view.View.VISIBLE
|
||||||
import android.view.inputmethod.EditorInfo
|
import android.view.inputmethod.EditorInfo
|
||||||
|
@ -13,9 +13,11 @@ import android.widget.ImageView
|
||||||
import androidx.annotation.RequiresApi
|
import androidx.annotation.RequiresApi
|
||||||
import androidx.lifecycle.Observer
|
import androidx.lifecycle.Observer
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
import com.google.gson.JsonArray
|
||||||
|
import com.google.gson.JsonObject
|
||||||
import es.verdnatura.R
|
import es.verdnatura.R
|
||||||
import es.verdnatura.databinding.FragmentInventoryParkingBinding
|
import es.verdnatura.databinding.FragmentInventoryParkingBinding
|
||||||
import es.verdnatura.domain.notNull
|
|
||||||
import es.verdnatura.domain.toast
|
import es.verdnatura.domain.toast
|
||||||
import es.verdnatura.presentation.base.BaseFragment
|
import es.verdnatura.presentation.base.BaseFragment
|
||||||
import es.verdnatura.presentation.common.*
|
import es.verdnatura.presentation.common.*
|
||||||
|
@ -24,7 +26,8 @@ import es.verdnatura.presentation.view.feature.articulo.adapter.BarcodeAdapter
|
||||||
import es.verdnatura.presentation.view.feature.articulo.model.BarcodeVO
|
import es.verdnatura.presentation.view.feature.articulo.model.BarcodeVO
|
||||||
import es.verdnatura.presentation.view.feature.inventario.adapter.InventoryParkingAdapter
|
import es.verdnatura.presentation.view.feature.inventario.adapter.InventoryParkingAdapter
|
||||||
import es.verdnatura.presentation.view.feature.inventario.model.ItemInventoryParking
|
import es.verdnatura.presentation.view.feature.inventario.model.ItemInventoryParking
|
||||||
import es.verdnatura.presentation.view.feature.main.activity.MainActivity
|
import es.verdnatura.presentation.view.feature.inventario.model.ItemShelvingChecked
|
||||||
|
import es.verdnatura.presentation.view.feature.inventario.model.ItemShelvingVisible
|
||||||
import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicadorVO
|
import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicadorVO
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,9 +40,7 @@ class InventaryParkingFragment(
|
||||||
|
|
||||||
private var adapter: InventoryParkingAdapter? = null
|
private var adapter: InventoryParkingAdapter? = null
|
||||||
private lateinit var customDialogInput: CustomDialogInput
|
private lateinit var customDialogInput: CustomDialogInput
|
||||||
private lateinit var customDialogUbicador: CustomDialogUbicador
|
|
||||||
private lateinit var customDialogTwoButtons: CustomDialogTwoButtons
|
private lateinit var customDialogTwoButtons: CustomDialogTwoButtons
|
||||||
private lateinit var customDialogThreeButtons: CustomDialogThreeButtons
|
|
||||||
private lateinit var customDialogList: CustomDialogList
|
private lateinit var customDialogList: CustomDialogList
|
||||||
private var listItems: MutableList<ItemUbicadorVO> = mutableListOf()
|
private var listItems: MutableList<ItemUbicadorVO> = mutableListOf()
|
||||||
private var listLocalItems: ArrayList<ItemUbicadorVO> = ArrayList()
|
private var listLocalItems: ArrayList<ItemUbicadorVO> = ArrayList()
|
||||||
|
@ -58,7 +59,9 @@ class InventaryParkingFragment(
|
||||||
private lateinit var myListInventory: MutableList<ItemInventoryParking>
|
private lateinit var myListInventory: MutableList<ItemInventoryParking>
|
||||||
private var listParkings: ArrayList<BarcodeVO> = ArrayList()
|
private var listParkings: ArrayList<BarcodeVO> = ArrayList()
|
||||||
private var listWagonsAdapter: BarcodeAdapter? = null
|
private var listWagonsAdapter: BarcodeAdapter? = null
|
||||||
|
private var positionShelvingChecking: Int = -1
|
||||||
|
private var positionItemChecking: Int = -1
|
||||||
|
private var scrollPosition = 0
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun newInstance(title: String) =
|
fun newInstance(title: String) =
|
||||||
|
@ -67,10 +70,16 @@ class InventaryParkingFragment(
|
||||||
|
|
||||||
override fun getLayoutId(): Int = R.layout.fragment_inventory_parking
|
override fun getLayoutId(): Int = R.layout.fragment_inventory_parking
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
|
|
||||||
|
val layoutManager =
|
||||||
|
binding.inventoryParkingRecyclerview.layoutManager as LinearLayoutManager
|
||||||
|
scrollPosition = layoutManager.findFirstVisibleItemPosition()
|
||||||
|
|
||||||
super.onPause()
|
super.onPause()
|
||||||
isBack = true
|
isBack = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
override fun onAttach(context: Context) {
|
override fun onAttach(context: Context) {
|
||||||
if (context is OnPasillerosItemClickListener) pasillerosItemClickListener = context
|
if (context is OnPasillerosItemClickListener) pasillerosItemClickListener = context
|
||||||
super.onAttach(context)
|
super.onAttach(context)
|
||||||
|
@ -81,25 +90,29 @@ class InventaryParkingFragment(
|
||||||
|
|
||||||
customDialogInput = CustomDialogInput(requireContext())
|
customDialogInput = CustomDialogInput(requireContext())
|
||||||
customDialog = CustomDialog(requireContext())
|
customDialog = CustomDialog(requireContext())
|
||||||
customDialogUbicador = CustomDialogUbicador(requireContext())
|
|
||||||
customDialogTwoButtons = CustomDialogTwoButtons(requireContext())
|
customDialogTwoButtons = CustomDialogTwoButtons(requireContext())
|
||||||
customDialogList = CustomDialogList(requireContext())
|
customDialogList = CustomDialogList(requireContext())
|
||||||
|
|
||||||
ma.hideBottomNavigation(GONE)
|
ma.hideBottomNavigation(GONE)
|
||||||
binding.mainToolbar.toolbarTitle.text = title
|
binding.mainToolbar.toolbarTitle.text = title
|
||||||
setEvents()
|
setEvents()
|
||||||
|
setViews()
|
||||||
setToolBar()
|
setToolBar()
|
||||||
|
|
||||||
|
|
||||||
super.init()
|
super.init()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
private fun setViews() {
|
||||||
mperror = MediaPlayer.create((activity as MainActivity), R.raw.error)
|
binding.inventoryParkingRecyclerview.addOnScrollListener(object :
|
||||||
mpok = MediaPlayer.create((activity as MainActivity), R.raw.ok)
|
RecyclerView.OnScrollListener() {
|
||||||
super.onCreate(savedInstanceState)
|
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
|
||||||
|
scrollPosition =
|
||||||
|
(recyclerView.layoutManager as LinearLayoutManager).findFirstVisibleItemPosition()
|
||||||
|
super.onScrolled(recyclerView, dx, dy)
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@RequiresApi(Build.VERSION_CODES.O)
|
@RequiresApi(Build.VERSION_CODES.O)
|
||||||
private fun setToolBar() {
|
private fun setToolBar() {
|
||||||
|
|
||||||
|
@ -125,9 +138,9 @@ class InventaryParkingFragment(
|
||||||
|
|
||||||
}
|
}
|
||||||
listIcons.add(iconParkingFrom)
|
listIcons.add(iconParkingFrom)
|
||||||
listIcons.add(iconAdd)
|
//listIcons.add(iconAdd)
|
||||||
listIcons.add(iconReload)
|
//listIcons.add(iconReload)
|
||||||
//listIcons.add(iconReset)
|
listIcons.add(iconReset)
|
||||||
|
|
||||||
|
|
||||||
binding.mainToolbar.toolbarIcons.adapter =
|
binding.mainToolbar.toolbarIcons.adapter =
|
||||||
|
@ -136,28 +149,21 @@ class InventaryParkingFragment(
|
||||||
|
|
||||||
when (item) {
|
when (item) {
|
||||||
iconAdd.drawable -> {
|
iconAdd.drawable -> {
|
||||||
adapter!!.sortBy("sector")
|
// adapter!!.sortBy("sector")
|
||||||
}
|
}
|
||||||
|
|
||||||
iconReload.drawable -> {
|
iconReload.drawable -> {
|
||||||
adapter!!.sortBy("buyer")
|
|
||||||
|
// adapter!!.sortBy("buyer")
|
||||||
}
|
}
|
||||||
|
|
||||||
iconReset.drawable -> {
|
iconReset.drawable -> {
|
||||||
customDialog.setTitle(getString(R.string.checkItemShelvingDescrip))
|
showResetShelving()
|
||||||
.setDescription(getString(R.string.checkItemShelving))
|
|
||||||
.setOkButton(getString(R.string.cancel)) {
|
|
||||||
customDialog.dismiss()
|
|
||||||
}
|
|
||||||
.setKoButton(getString(R.string.ok)) {
|
|
||||||
customDialog.dismiss()
|
|
||||||
|
|
||||||
}
|
|
||||||
.show()
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
iconParkingFrom.drawable -> {
|
iconParkingFrom.drawable -> {
|
||||||
|
binding.textinputlayoutMatricula.visibility = VISIBLE
|
||||||
setParkingFromTo()
|
setParkingFromTo()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -169,29 +175,78 @@ class InventaryParkingFragment(
|
||||||
LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
|
LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun showResetShelving() {
|
||||||
|
customDialogInput.setFocusText()
|
||||||
|
customDialogInput.setInputText(InputType.TYPE_CLASS_TEXT)
|
||||||
|
customDialogInput.setTitle(getString(R.string.checkItemShelvingDescrip))
|
||||||
|
.setDescription(getString(R.string.checkItemShelvingSelect))
|
||||||
|
.setOkButton(getString(R.string.cancel)) {
|
||||||
|
customDialogInput.dismiss()
|
||||||
|
}
|
||||||
|
.setKoButton(getString(R.string.ok)) {
|
||||||
|
checkSelvingsForUpdate(customDialogInput.getValue())
|
||||||
|
}
|
||||||
|
.show()
|
||||||
|
|
||||||
|
customDialogInput.getEditText().setOnEditorActionListener { _, actionId, _ ->
|
||||||
|
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) {
|
||||||
|
|
||||||
|
if (customDialogInput.getValue().isNotEmpty()
|
||||||
|
) {
|
||||||
|
checkSelvingsForUpdate(customDialogInput.getValue())
|
||||||
|
}
|
||||||
|
return@setOnEditorActionListener true
|
||||||
|
}
|
||||||
|
false
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun checkSelvingsForUpdate(shelvingInput: String) {
|
||||||
|
|
||||||
|
val filter = JsonObject()
|
||||||
|
val inqValues = JsonArray()
|
||||||
|
for (item in myListInventory) {
|
||||||
|
if (item.shelvingFk == shelvingInput) {
|
||||||
|
inqValues.add(item.id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (inqValues.size() == 0) {
|
||||||
|
ma.messageWithSound("", true, true, "", null)
|
||||||
|
} else {
|
||||||
|
|
||||||
|
filter.add("id", JsonObject().apply { add("inq", inqValues) })
|
||||||
|
binding.splashProgress.visibility = VISIBLE
|
||||||
|
viewModel.itemShelvingsUpdate(filter, ItemShelvingChecked(null))
|
||||||
|
}
|
||||||
|
ma.hideKeyboard(customDialogInput.getEditText())
|
||||||
|
customDialogInput.setValue("")
|
||||||
|
customDialogInput.dismiss()
|
||||||
|
binding.editMatricula.requestFocus()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private fun setParkingFromTo() {
|
private fun setParkingFromTo() {
|
||||||
|
|
||||||
customDialogList.setTitle("Indica parkings a revisar")
|
customDialogList.setTitle(getString(R.string.selectParkingsCheckin))
|
||||||
customDialogList.setDescription("Indica desde dónde hasta cual quieres revisar")
|
customDialogList.setDescription(getString(R.string.selectParkingsFrom))
|
||||||
|
|
||||||
.setOkButton(
|
.setOkButton(
|
||||||
getString(R.string.review)
|
getString(R.string.review)
|
||||||
) {
|
) {
|
||||||
ma.hideKeyboard(customDialogList.getEditText())
|
ma.hideKeyboard(customDialogList.getEditText())
|
||||||
|
|
||||||
if (listParkings.isNotEmpty() && listParkings.size == 2) {
|
if (listParkings.size == 1) {
|
||||||
binding.splashProgress.visibility = VISIBLE
|
viewModel.ItemListInventoryParking(
|
||||||
viewModel.ItemListInventoryParking("MAD-01", "CAM-01")
|
listParkings.first().code!!,
|
||||||
|
customDialogList.getValue()
|
||||||
|
)
|
||||||
|
ma.hideKeyboard(customDialogList.getEditText())
|
||||||
listParkings.clear()
|
listParkings.clear()
|
||||||
customDialog.dismiss()
|
customDialogList.dismiss()
|
||||||
|
binding.editMatricula.requestFocus()
|
||||||
} else {
|
} else {
|
||||||
|
listParkings.add(0, BarcodeVO(code = customDialogList.getValue()))
|
||||||
customDialog
|
|
||||||
.setDescription("Indica el parking hasta donde quieres revisar")
|
|
||||||
.setOkButton(getString(R.string.accept)) {
|
|
||||||
customDialog.dismiss()
|
|
||||||
}.show()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -206,27 +261,28 @@ class InventaryParkingFragment(
|
||||||
|
|
||||||
customDialogList.getEditText().setOnEditorActionListener { v, actionId, event ->
|
customDialogList.getEditText().setOnEditorActionListener { v, actionId, event ->
|
||||||
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 (!customDialogList.getValue().isNullOrEmpty()) {
|
if (!customDialogList.getValue().isEmpty()) {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
|
||||||
if (listParkings.size == 1) {
|
if (listParkings.size == 1) {
|
||||||
viewModel.ItemListInventoryParking(
|
viewModel.ItemListInventoryParking(
|
||||||
listParkings!!.first()!!.code!!,
|
listParkings.first().code!!,
|
||||||
customDialogList.getValue()
|
customDialogList.getValue()
|
||||||
)
|
)
|
||||||
|
ma.hideKeyboard(customDialogList.getEditText())
|
||||||
listParkings.clear()
|
listParkings.clear()
|
||||||
customDialogList.dismiss()
|
customDialogList.dismiss()
|
||||||
|
binding.editMatricula.requestFocus()
|
||||||
} else {
|
} else {
|
||||||
listParkings.add(0, BarcodeVO(code = customDialogList.getValue()))
|
listParkings.add(0, BarcodeVO(code = customDialogList.getValue()))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
ma.messageWithSound(e.message.toString(), true, true, "", true)
|
||||||
}
|
}
|
||||||
|
|
||||||
listWagonsAdapter!!.notifyDataSetChanged()
|
listWagonsAdapter!!.notifyItemInserted(listParkings.size - 1)
|
||||||
}
|
}
|
||||||
customDialogList.setValue("")
|
customDialogList.setValue("")
|
||||||
ma.hideKeyboard(customDialogList.getEditText())
|
ma.hideKeyboard(customDialogList.getEditText())
|
||||||
|
@ -261,45 +317,80 @@ class InventaryParkingFragment(
|
||||||
binding.editMatricula.requestFocus()
|
binding.editMatricula.requestFocus()
|
||||||
binding.editMatricula.setOnEditorActionListener { v, actionId, event ->
|
binding.editMatricula.setOnEditorActionListener { v, actionId, event ->
|
||||||
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.editMatricula.text.toString().isNullOrEmpty()) {
|
|
||||||
|
|
||||||
/*Tarea 5336 */
|
if (!binding.editMatricula.text.toString().isEmpty()) {
|
||||||
if (binding.editMatricula.text.toString().length == 3 && !binding.editMatricula.text!![0].isDigit()) {
|
|
||||||
binding.mainToolbar.toolbarTitle.text =
|
|
||||||
binding.editMatricula.text.toString()
|
|
||||||
|
|
||||||
|
|
||||||
|
if (positionShelvingChecking == -1) {
|
||||||
|
|
||||||
|
positionShelvingChecking = myListInventory.indexOfFirst { item ->
|
||||||
|
item.shelvingFk == binding.editMatricula.text.toString()
|
||||||
|
}
|
||||||
|
|
||||||
|
if (positionShelvingChecking == -1) {
|
||||||
|
ma.messageWithSound(
|
||||||
|
getString(R.string.shelvingNotFound),
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
"",
|
||||||
|
true
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
binding.editMatricula.hint = getString(R.string.scanItemForChecking)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
/*Tarea#5109*/
|
|
||||||
/*viewModel.getIdFromCode(
|
|
||||||
code = binding.editMatricula.text.toString()
|
|
||||||
)*/
|
|
||||||
try {
|
try {
|
||||||
binding.splashProgress.visibility = VISIBLE
|
positionItemChecking = myListInventory.indexOfFirst { item ->
|
||||||
/* viewModel.getIdFromCode(
|
item.itemFk == binding.editMatricula.text.toString()
|
||||||
code = itemScanValue(
|
.toInt() && item.shelvingFk == myListInventory[positionShelvingChecking].shelvingFk && item.isChecked == null
|
||||||
binding.editMatricula.text.toString(),
|
}
|
||||||
"buy",
|
} catch (ex: Exception) {
|
||||||
"more"
|
ma.messageWithSound("", true, true, "", null)
|
||||||
).toString()
|
}
|
||||||
)*/
|
if (positionItemChecking == -1) {
|
||||||
} catch (Ex: Exception) {
|
ma.messageWithSound(
|
||||||
ma.messageWithSound(Ex.message.toString(), true, true)
|
getString(R.string.itemNotFoundScanAgain),
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
"",
|
||||||
|
true
|
||||||
|
)
|
||||||
|
positionShelvingChecking = -1
|
||||||
|
binding.editMatricula.hint = getString(R.string.scanShelvingAgain)
|
||||||
|
} else {
|
||||||
|
|
||||||
|
try {
|
||||||
|
/* binding.splashProgress.visibility = VISIBLE
|
||||||
|
viewModel.itemShelvingUpdate(
|
||||||
|
myListInventory.get(positionItemChecking).id,
|
||||||
|
ItemShelvingChecked(true)
|
||||||
|
)*/
|
||||||
|
myListInventory[positionItemChecking].isChecked = 1
|
||||||
|
adapter!!.notifyDataSetChanged()
|
||||||
|
binding.editMatricula.hint = getString(R.string.scanShelving)
|
||||||
|
|
||||||
|
/* viewModel.getIdFromCode(
|
||||||
|
code = itemScanValue(
|
||||||
|
binding.editMatricula.text.toString(),
|
||||||
|
"buy",
|
||||||
|
"more"
|
||||||
|
).toString()
|
||||||
|
)*/
|
||||||
|
} catch (Ex: Exception) {
|
||||||
|
ma.messageWithSound(Ex.message.toString(), true, true)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
binding.editMatricula.setText("")
|
||||||
|
ma.hideKeyboard(binding.editMatricula)
|
||||||
}
|
}
|
||||||
binding.editMatricula.setText("")
|
|
||||||
ma.hideKeyboard(binding.editMatricula)
|
|
||||||
return@setOnEditorActionListener true
|
return@setOnEditorActionListener true
|
||||||
}
|
}
|
||||||
|
|
||||||
return@setOnEditorActionListener false
|
return@setOnEditorActionListener false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
binding.parkingImg.setOnClickListener {
|
binding.parkingImg.setOnClickListener {
|
||||||
customDialogInput.setTitle(getString(R.string.parkingShelving)).setValue("")
|
customDialogInput.setTitle(getString(R.string.parkingShelving)).setValue("")
|
||||||
.setOkButton(
|
.setOkButton(
|
||||||
|
@ -321,21 +412,22 @@ class InventaryParkingFragment(
|
||||||
customDialogInput.getEditText().requestFocus()
|
customDialogInput.getEditText().requestFocus()
|
||||||
ma.hideKeyboard(customDialogInput.getEditText())
|
ma.hideKeyboard(customDialogInput.getEditText())
|
||||||
|
|
||||||
customDialogInput.getEditText().setOnEditorActionListener { v, actionId, event ->
|
customDialogInput.getEditText()
|
||||||
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0) {
|
.setOnEditorActionListener { v, actionId, event ->
|
||||||
|
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0) {
|
||||||
|
|
||||||
customDialogInput.dismiss()
|
customDialogInput.dismiss()
|
||||||
parking = customDialogInput.getValue()
|
parking = customDialogInput.getValue()
|
||||||
binding.mainToolbar.toolbarTitle.text =
|
binding.mainToolbar.toolbarTitle.text =
|
||||||
shelvingFk.uppercase() + getString(R.string.pUppercase) + parking + getString(
|
shelvingFk.uppercase() + getString(R.string.pUppercase) + parking + getString(
|
||||||
R.string.label
|
R.string.label
|
||||||
) + etiquetas
|
) + etiquetas
|
||||||
|
|
||||||
|
|
||||||
return@setOnEditorActionListener true
|
return@setOnEditorActionListener true
|
||||||
|
}
|
||||||
|
false
|
||||||
}
|
}
|
||||||
false
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -357,20 +449,21 @@ class InventaryParkingFragment(
|
||||||
customDialogInput.getEditText().requestFocus()
|
customDialogInput.getEditText().requestFocus()
|
||||||
ma.hideKeyboard(customDialogInput.getEditText())
|
ma.hideKeyboard(customDialogInput.getEditText())
|
||||||
|
|
||||||
customDialogInput.getEditText().setOnEditorActionListener { v, actionId, event ->
|
customDialogInput.getEditText()
|
||||||
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0) {
|
.setOnEditorActionListener { v, actionId, event ->
|
||||||
|
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0) {
|
||||||
|
|
||||||
shelvingFk = customDialogInput.getValue()
|
shelvingFk = customDialogInput.getValue()
|
||||||
binding.mainToolbar.toolbarTitle.text =
|
binding.mainToolbar.toolbarTitle.text =
|
||||||
shelvingFk.uppercase() + getString(R.string.pUppercase) + parking + getString(
|
shelvingFk.uppercase() + getString(R.string.pUppercase) + parking + getString(
|
||||||
R.string.label
|
R.string.label
|
||||||
) + etiquetas
|
) + etiquetas
|
||||||
if (mpok != null) mpok!!.start()
|
if (mpok != null) mpok!!.start()
|
||||||
customDialogInput.dismiss()
|
customDialogInput.dismiss()
|
||||||
return@setOnEditorActionListener true
|
return@setOnEditorActionListener true
|
||||||
|
}
|
||||||
|
false
|
||||||
}
|
}
|
||||||
false
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -420,11 +513,14 @@ class InventaryParkingFragment(
|
||||||
private fun setTooltips() {
|
private fun setTooltips() {
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
binding.editImg.tooltipText = getTooltip(R.drawable.ic_mode_edit_black_24dp)
|
binding.editImg.tooltipText = getTooltip(R.drawable.ic_mode_edit_black_24dp)
|
||||||
binding.deleteImg.tooltipText = getTooltip(R.drawable.ic_delete_forever_black_24dp)
|
binding.deleteImg.tooltipText =
|
||||||
|
getTooltip(R.drawable.ic_delete_forever_black_24dp)
|
||||||
binding.editPrioridad.tooltipText =
|
binding.editPrioridad.tooltipText =
|
||||||
getString(R.string.changePriority)
|
getString(R.string.changePriority)
|
||||||
binding.parkingImg.tooltipText = getTooltip(R.drawable.ic_local_parking_black_24dp)
|
binding.parkingImg.tooltipText =
|
||||||
binding.automaticImg.tooltipText = getTooltip(R.drawable.ic_flash_auto_black_24dp)
|
getTooltip(R.drawable.ic_local_parking_black_24dp)
|
||||||
|
binding.automaticImg.tooltipText =
|
||||||
|
getTooltip(R.drawable.ic_flash_auto_black_24dp)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -435,27 +531,46 @@ class InventaryParkingFragment(
|
||||||
|
|
||||||
with(viewModel) {
|
with(viewModel) {
|
||||||
|
|
||||||
loadInventaryParkingList.observe(viewLifecycleOwner) { event ->
|
/* loadInventaryParkingList.observe(viewLifecycleOwner) { event ->
|
||||||
event.getContentIfNotHandled().notNull {
|
event.getContentIfNotHandled().notNull {
|
||||||
binding.splashProgress.visibility = GONE
|
binding.splashProgress.visibility = GONE
|
||||||
if (it.list[0].isError) {
|
if (it.list[0].isError) {
|
||||||
ma.messageWithSound(it.list[0].errorMessage, it.list[0].isError, false)
|
ma.messageWithSound(
|
||||||
|
it.list[0].errorMessage,
|
||||||
|
it.list[0].isError,
|
||||||
|
false
|
||||||
|
)
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
myListInventory = it.list as MutableList<ItemInventoryParking>
|
myListInventory = it.list as MutableList<ItemInventoryParking>
|
||||||
createListInventoryParking(myListInventory)
|
createListInventoryParking(myListInventory)
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
inventoryListParking.observe(viewLifecycleOwner, Observer {
|
||||||
|
binding.splashProgress.visibility = GONE
|
||||||
|
binding.splashProgress.visibility = GONE
|
||||||
|
if (it.list[0].isError) {
|
||||||
|
ma.messageWithSound(
|
||||||
|
it.list[0].errorMessage,
|
||||||
|
it.list[0].isError,
|
||||||
|
false
|
||||||
|
)
|
||||||
|
|
||||||
|
} else {
|
||||||
|
myListInventory = it.list as MutableList<ItemInventoryParking>
|
||||||
|
createListInventoryParking(myListInventory)
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
|
|
||||||
|
|
||||||
response.observe(viewLifecycleOwner, Observer {
|
response.observe(viewLifecycleOwner, Observer {
|
||||||
|
binding.splashProgress.visibility = GONE
|
||||||
if (it.isError) {
|
if (it.isError) {
|
||||||
binding.splashProgress.visibility = GONE
|
|
||||||
ma.messageWithSound(it.errorMessage, it.isError, true)
|
ma.messageWithSound(it.errorMessage, it.isError, true)
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
ma.messageWithSound("", it.isError, true, isToasted = false)
|
ma.messageWithSound("", it.isError, true, isToasted = false)
|
||||||
|
|
||||||
|
@ -466,14 +581,17 @@ class InventaryParkingFragment(
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createListInventoryParking(list: List<ItemInventoryParking>, sort: String? = null) {
|
private fun createListInventoryParking(
|
||||||
|
list: List<ItemInventoryParking>,
|
||||||
|
sort: String? = null
|
||||||
|
) {
|
||||||
|
|
||||||
adapter = InventoryParkingAdapter(
|
adapter = InventoryParkingAdapter(
|
||||||
myListInventory,
|
myListInventory,
|
||||||
onPasillerosItemClickListener = pasillerosItemClickListener!!,
|
onPasillerosItemClickListener = pasillerosItemClickListener!!,
|
||||||
onVisibleInventoryClickListener = object : OnVisibleInventoryClickListener {
|
onVisibleInventoryClickListener = object : OnVisibleInventoryClickListener {
|
||||||
override fun onVisibleInventoryClickListener(item: ItemInventoryParking) {
|
override fun onVisibleInventoryClickListener(item: ItemInventoryParking) {
|
||||||
changeQuantity(item)
|
changeVisible(item)
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
@ -495,9 +613,9 @@ class InventaryParkingFragment(
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun changeQuantity(item: ItemInventoryParking) {
|
private fun changeVisible(item: ItemInventoryParking) {
|
||||||
|
|
||||||
customDialogInput.setInputText()
|
customDialogInput.setInputText(InputType.TYPE_CLASS_NUMBER)
|
||||||
customDialogInput.setTitle(getString(R.string.quantity))
|
customDialogInput.setTitle(getString(R.string.quantity))
|
||||||
customDialogInput.setDescription(getString(R.string.quantityVisible))
|
customDialogInput.setDescription(getString(R.string.quantityVisible))
|
||||||
.setValue("")
|
.setValue("")
|
||||||
|
@ -505,9 +623,10 @@ class InventaryParkingFragment(
|
||||||
try {
|
try {
|
||||||
if (customDialogInput.getValue().toInt() >= 0) {
|
if (customDialogInput.getValue().toInt() >= 0) {
|
||||||
binding.splashProgress.visibility = VISIBLE
|
binding.splashProgress.visibility = VISIBLE
|
||||||
|
viewModel.itemShelvingUpdate(
|
||||||
//viewModel.ChangeVisible
|
item.id,
|
||||||
item.visible - customDialogInput.getValue().toInt()
|
ItemShelvingVisible(customDialogInput.getValue().toInt())
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -516,6 +635,7 @@ class InventaryParkingFragment(
|
||||||
} catch (err: Exception) {
|
} catch (err: Exception) {
|
||||||
(getString(R.string.errorQuantity).toast(requireContext()))
|
(getString(R.string.errorQuantity).toast(requireContext()))
|
||||||
}
|
}
|
||||||
|
customDialogInput.setValue("")
|
||||||
customDialogInput.dismiss()
|
customDialogInput.dismiss()
|
||||||
|
|
||||||
}.setKoButton(getString(R.string.cancel)) {
|
}.setKoButton(getString(R.string.cancel)) {
|
||||||
|
@ -530,7 +650,8 @@ class InventaryParkingFragment(
|
||||||
.setDescription(getString(R.string.selectAction))
|
.setDescription(getString(R.string.selectAction))
|
||||||
.setOkButton(getString(R.string.transfer)) {
|
.setOkButton(getString(R.string.transfer)) {
|
||||||
customDialogInput.setTitle(getString(R.string.shelvingNew))
|
customDialogInput.setTitle(getString(R.string.shelvingNew))
|
||||||
.setDescription(getString(R.string.selectDestiny) + item.item).setValue("")
|
.setDescription(getString(R.string.selectDestiny) + item.item)
|
||||||
|
.setValue("")
|
||||||
.setOkButton(getString(R.string.transfer)) {
|
.setOkButton(getString(R.string.transfer)) {
|
||||||
if (customDialogInput.getValue().isNotEmpty()) {
|
if (customDialogInput.getValue().isNotEmpty()) {
|
||||||
binding.splashProgress.visibility = VISIBLE
|
binding.splashProgress.visibility = VISIBLE
|
||||||
|
|
|
@ -4,6 +4,7 @@ import android.content.Context
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import androidx.lifecycle.Transformations
|
import androidx.lifecycle.Transformations
|
||||||
|
import com.google.gson.JsonObject
|
||||||
import es.verdnatura.domain.SilexCallback
|
import es.verdnatura.domain.SilexCallback
|
||||||
import es.verdnatura.presentation.base.BaseViewModel
|
import es.verdnatura.presentation.base.BaseViewModel
|
||||||
import es.verdnatura.presentation.base.getMessageFromAllResponse
|
import es.verdnatura.presentation.base.getMessageFromAllResponse
|
||||||
|
@ -14,9 +15,14 @@ import es.verdnatura.presentation.view.feature.calidad.model.BuyerListVO
|
||||||
import es.verdnatura.presentation.view.feature.calidad.model.BuyerVO
|
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.InventaryListVO
|
||||||
import es.verdnatura.presentation.view.feature.inventario.model.InventoryParkingList
|
import es.verdnatura.presentation.view.feature.inventario.model.InventoryParkingList
|
||||||
import es.verdnatura.presentation.view.feature.inventario.model.ItemInventoryParking
|
|
||||||
import es.verdnatura.presentation.view.feature.inventario.model.ItemInventaryVO
|
import es.verdnatura.presentation.view.feature.inventario.model.ItemInventaryVO
|
||||||
import es.verdnatura.presentation.view.feature.workermistake.model.*
|
import es.verdnatura.presentation.view.feature.inventario.model.ItemInventoryParking
|
||||||
|
import es.verdnatura.presentation.view.feature.workermistake.model.DepartmentMistake
|
||||||
|
import es.verdnatura.presentation.view.feature.workermistake.model.MistakeWorkerType
|
||||||
|
import es.verdnatura.presentation.view.feature.workermistake.model.WorkerFromMistake
|
||||||
|
import es.verdnatura.presentation.view.feature.workermistake.model.departmentMistakeList
|
||||||
|
import es.verdnatura.presentation.view.feature.workermistake.model.workerFromMistakeList
|
||||||
|
import es.verdnatura.presentation.view.feature.workermistake.model.workerMistakeTypeList
|
||||||
import retrofit2.Response
|
import retrofit2.Response
|
||||||
|
|
||||||
class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
|
@ -59,9 +65,9 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
|
|
||||||
//sergio para obtener comprador
|
//sergio para obtener comprador
|
||||||
fun itemShelvingBuyerGet() {
|
fun itemShelvingBuyerGet() {
|
||||||
silex.itemShelvingBuyerGet().enqueue(object :
|
silex.itemShelvingBuyerGet().enqueue(object :
|
||||||
SilexCallback<List<BuyerVO>>(context) {
|
SilexCallback<List<BuyerVO>>(context) {
|
||||||
override fun onError(t: Throwable) {
|
override fun onError(t: Throwable) {
|
||||||
val listError: ArrayList<BuyerVO> = ArrayList()
|
val listError: ArrayList<BuyerVO> = ArrayList()
|
||||||
listError.add(
|
listError.add(
|
||||||
BuyerVO(
|
BuyerVO(
|
||||||
|
@ -72,7 +78,7 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
_buyersList.value = BuyerListVO(listError)
|
_buyersList.value = BuyerListVO(listError)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onSuccess(response: Response<List<BuyerVO>>) {
|
override fun onSuccess(response: Response<List<BuyerVO>>) {
|
||||||
if (response.body() != null) {
|
if (response.body() != null) {
|
||||||
_buyersList.value = response.body()?.let { BuyerListVO(it) }
|
_buyersList.value = response.body()?.let { BuyerListVO(it) }
|
||||||
} else {
|
} else {
|
||||||
|
@ -97,7 +103,7 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
val loadInventaryList = Transformations.map(_inventaryList) { Event(it) }
|
val loadInventaryList = Transformations.map(_inventaryList) { Event(it) }
|
||||||
|
|
||||||
fun getInventory(buyerFk: Int, warehouseFk: Int) {
|
fun getInventory(buyerFk: Int, warehouseFk: Int) {
|
||||||
silex.itemShelvingRadarFilterBuyer(buyerFk, warehouseFk)
|
silex.itemShelvingRadarFilterBuyer(buyerFk, warehouseFk)
|
||||||
.enqueue(object :
|
.enqueue(object :
|
||||||
SilexCallback<List<ItemInventaryVO>>(context) {
|
SilexCallback<List<ItemInventaryVO>>(context) {
|
||||||
override fun onError(t: Throwable) {
|
override fun onError(t: Throwable) {
|
||||||
|
@ -136,17 +142,14 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun itemShelvingUpdate(
|
||||||
|
itemShelvingFk: Long,
|
||||||
|
params: Any,
|
||||||
|
|
||||||
//sergio: se modifica por CAU a itemTrash
|
) {
|
||||||
fun itemTrash(
|
|
||||||
itemFk: Int,
|
|
||||||
warehouseFk: Int,
|
|
||||||
newValue: Int,
|
|
||||||
isTrash: Boolean
|
|
||||||
) {
|
|
||||||
|
|
||||||
|
|
||||||
silex.itemTrash(itemFk, warehouseFk, newValue, isTrash)
|
salix.itemShelvingUpdate(itemShelvingFk, params)
|
||||||
.enqueue(object : SilexCallback<Any>(context) {
|
.enqueue(object : SilexCallback<Any>(context) {
|
||||||
|
|
||||||
override fun onError(t: Throwable) {
|
override fun onError(t: Throwable) {
|
||||||
|
@ -157,53 +160,102 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onSuccess(response: Response<Any>) {
|
override fun onSuccess(response: Response<Any>) {
|
||||||
_response.value =
|
_response.value =
|
||||||
ResponseItemVO(isError = false, response = response.message())
|
ResponseItemVO(isError = false, response = response.message())
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
fun itemShelvingsUpdate(
|
||||||
|
where: JsonObject,
|
||||||
|
params: Any,
|
||||||
|
|
||||||
|
) {
|
||||||
|
|
||||||
|
|
||||||
|
salix.itemShelvingsUpdate(where, params)
|
||||||
|
.enqueue(object : SilexCallback<Any>(context) {
|
||||||
|
|
||||||
|
override fun onError(t: Throwable) {
|
||||||
|
_response.value = ResponseItemVO(
|
||||||
|
isError = true,
|
||||||
|
errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onSuccess(response: Response<Any>) {
|
||||||
|
_response.value =
|
||||||
|
ResponseItemVO(isError = false, response = response.message())
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
fun itemTrash(
|
||||||
|
itemFk: Int,
|
||||||
|
warehouseFk: Int,
|
||||||
|
newValue: Int,
|
||||||
|
isTrash: Boolean
|
||||||
|
) {
|
||||||
|
|
||||||
|
|
||||||
|
silex.itemTrash(itemFk, warehouseFk, newValue, isTrash)
|
||||||
|
.enqueue(object : SilexCallback<Any>(context) {
|
||||||
|
|
||||||
|
override fun onError(t: Throwable) {
|
||||||
|
_response.value = ResponseItemVO(
|
||||||
|
isError = true,
|
||||||
|
errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onSuccess(response: Response<Any>) {
|
||||||
|
_response.value =
|
||||||
|
ResponseItemVO(isError = false, response = response.message())
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
//En test encara,no provat en Salix
|
//En test encara,no provat en Salix
|
||||||
/* fun department_getHasMistakeSalix(token: String) {
|
/* fun department_getHasMistakeSalix(token: String) {
|
||||||
|
|
||||||
getWorkerMistakeUserCase.department_getHasMistakeSalix(token)
|
getWorkerMistakeUserCase.department_getHasMistakeSalix(token)
|
||||||
|
|
||||||
.enqueue(object : Callback<List<DepartmentMistake>> {
|
.enqueue(object : Callback<List<DepartmentMistake>> {
|
||||||
override fun onFailure(call: Call<List<DepartmentMistake>>, t: Throwable) {
|
override fun onFailure(call: Call<List<DepartmentMistake>>, t: Throwable) {
|
||||||
val listError: ArrayList<DepartmentMistake> = ArrayList()
|
val listError: ArrayList<DepartmentMistake> = ArrayList()
|
||||||
listError.add(
|
listError.add(
|
||||||
DepartmentMistake(
|
DepartmentMistake(
|
||||||
isError = true,
|
isError = true,
|
||||||
errorMessage = getMessageFromAllResponse(
|
errorMessage = getMessageFromAllResponse(
|
||||||
nameofFunction(this),
|
nameofFunction(this),
|
||||||
t.message!!
|
t.message!!
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
_mistakeDepartmentList.value = departmentMistakeList(listError)
|
_mistakeDepartmentList.value = departmentMistakeList(listError)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResponse(
|
override fun onResponse(
|
||||||
call: Call<List<DepartmentMistake>>,
|
call: Call<List<DepartmentMistake>>,
|
||||||
response: Response<List<DepartmentMistake>>
|
response: Response<List<DepartmentMistake>>
|
||||||
) {
|
) {
|
||||||
if (response.body() != null) {
|
if (response.body() != null) {
|
||||||
_mistakeDepartmentList.value =
|
_mistakeDepartmentList.value =
|
||||||
response.body()?.let { departmentMistakeList(it) }
|
response.body()?.let { departmentMistakeList(it) }
|
||||||
} else {
|
} else {
|
||||||
val listError: ArrayList<DepartmentMistake> = ArrayList()
|
val listError: ArrayList<DepartmentMistake> = ArrayList()
|
||||||
listError.add(DepartmentMistake(0, ""))
|
listError.add(DepartmentMistake(0, ""))
|
||||||
_mistakeDepartmentList.value = departmentMistakeList(listError)
|
_mistakeDepartmentList.value = departmentMistakeList(listError)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
fun department_getHasMistake() {
|
fun department_getHasMistake() {
|
||||||
|
|
||||||
silex.department_getHasMistake()
|
silex.department_getHasMistake()
|
||||||
.enqueue(object : SilexCallback<List<DepartmentMistake>>(context) {
|
.enqueue(object : SilexCallback<List<DepartmentMistake>>(context) {
|
||||||
override fun onError(t: Throwable) {
|
override fun onError(t: Throwable) {
|
||||||
val listError: ArrayList<DepartmentMistake> = ArrayList()
|
val listError: ArrayList<DepartmentMistake> = ArrayList()
|
||||||
|
@ -233,8 +285,8 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fun worker_getFromHasMistake( departmentFk: Int) {
|
fun worker_getFromHasMistake(departmentFk: Int) {
|
||||||
silex.worker_getFromHasMistake(departmentFk)
|
silex.worker_getFromHasMistake(departmentFk)
|
||||||
.enqueue(object :
|
.enqueue(object :
|
||||||
SilexCallback<List<WorkerFromMistake>>(context) {
|
SilexCallback<List<WorkerFromMistake>>(context) {
|
||||||
override fun onError(t: Throwable) {
|
override fun onError(t: Throwable) {
|
||||||
|
@ -275,7 +327,7 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
fun workerMistakeType_get() {
|
fun workerMistakeType_get() {
|
||||||
silex.workerMistakeType_get()
|
silex.workerMistakeType_get()
|
||||||
.enqueue(object : SilexCallback<List<MistakeWorkerType>>(context) {
|
.enqueue(object : SilexCallback<List<MistakeWorkerType>>(context) {
|
||||||
override fun onError(t: Throwable) {
|
override fun onError(t: Throwable) {
|
||||||
val listError: ArrayList<MistakeWorkerType> = ArrayList()
|
val listError: ArrayList<MistakeWorkerType> = ArrayList()
|
||||||
|
@ -323,7 +375,7 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
vUserFk: Int,
|
vUserFk: Int,
|
||||||
vTypeFk: String
|
vTypeFk: String
|
||||||
) {
|
) {
|
||||||
silex.workerMistake_Add(vUserFk, vTypeFk)
|
silex.workerMistake_Add(vUserFk, vTypeFk)
|
||||||
.enqueue(object :
|
.enqueue(object :
|
||||||
SilexCallback<Any>(context) {
|
SilexCallback<Any>(context) {
|
||||||
override fun onError(t: Throwable) {
|
override fun onError(t: Throwable) {
|
||||||
|
@ -334,12 +386,12 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onSuccess(response: Response<Any>) {
|
override fun onSuccess(response: Response<Any>) {
|
||||||
// sergio:refactor:solo debería haber un mensaje no un response o errorMessage
|
// sergio:refactor:solo debería haber un mensaje no un response o errorMessage
|
||||||
_responseAddMistake.value =
|
_responseAddMistake.value =
|
||||||
ResponseItemVO(
|
ResponseItemVO(
|
||||||
isError = false,
|
isError = false,
|
||||||
response = response.message()
|
response = response.message()
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -349,7 +401,7 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
vExpeditionFk: Int,
|
vExpeditionFk: Int,
|
||||||
vTypeFk: String
|
vTypeFk: String
|
||||||
) {
|
) {
|
||||||
silex.expeditionMistake_add(vExpeditionFk, vTypeFk)
|
silex.expeditionMistake_add(vExpeditionFk, vTypeFk)
|
||||||
.enqueue(object :
|
.enqueue(object :
|
||||||
SilexCallback<Any>(context) {
|
SilexCallback<Any>(context) {
|
||||||
override fun onError(t: Throwable) {
|
override fun onError(t: Throwable) {
|
||||||
|
@ -362,11 +414,11 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
override fun onSuccess(response: Response<Any>) {
|
override fun onSuccess(response: Response<Any>) {
|
||||||
|
|
||||||
// sergio:refactor:solo debería haber un mensaje no un response o errorMessage
|
// sergio:refactor:solo debería haber un mensaje no un response o errorMessage
|
||||||
_responseAddMistake.value =
|
_responseAddMistake.value =
|
||||||
ResponseItemVO(
|
ResponseItemVO(
|
||||||
isError = false,
|
isError = false,
|
||||||
response = response.message()
|
response = response.message()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -379,42 +431,103 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
var myList = InventoryParkingList(
|
var myList = InventoryParkingList(
|
||||||
listOf(
|
listOf(
|
||||||
ItemInventoryParking(
|
ItemInventoryParking(
|
||||||
31, vParkingFrom, vParkingTo, 19897, "Dendrobium Galaxy", 510, 37, "Jose Alarcan Gomex",
|
1,
|
||||||
"http://verdnatura.es/vn-image-data/catalog/1600x900/dgalaxy", 0, 2
|
31,
|
||||||
|
vParkingFrom,
|
||||||
|
vParkingTo,
|
||||||
|
19897,
|
||||||
|
"Dendrobium Galaxy",
|
||||||
|
510,
|
||||||
|
37,
|
||||||
|
"Jose Alarcan Gomex",
|
||||||
|
"http://verdnatura.es/vn-image-data/catalog/1600x900/dgalaxy",
|
||||||
|
0,
|
||||||
|
2
|
||||||
),
|
),
|
||||||
ItemInventoryParking(
|
ItemInventoryParking(
|
||||||
31, "F-01-1", "OZR", 92400, "Cymbidium Avalanche", 14, 37, "Sergio de la Torre Nebot",
|
2,
|
||||||
"http://verdnatura.es/vn-image-data/catalog/1600x900/92400", 1, 2
|
31,
|
||||||
|
"F-01-1",
|
||||||
|
"OZR",
|
||||||
|
92400,
|
||||||
|
"Cymbidium Avalanche",
|
||||||
|
14,
|
||||||
|
37,
|
||||||
|
"Sergio de la Torre Nebot",
|
||||||
|
"http://verdnatura.es/vn-image-data/catalog/1600x900/92400",
|
||||||
|
1,
|
||||||
|
2
|
||||||
),
|
),
|
||||||
ItemInventoryParking(
|
ItemInventoryParking(
|
||||||
31, "F-01-1", "OZR", 92400, "Cymbidium Avalanche", 2, 37, "Jose Alarcan Gomex",
|
3,
|
||||||
"http://verdnatura.es/vn-image-data/catalog/1600x900/92400", 0, 2
|
31,
|
||||||
|
"F-01-1",
|
||||||
|
"OZR",
|
||||||
|
92400,
|
||||||
|
"Cymbidium Avalanche",
|
||||||
|
2,
|
||||||
|
37,
|
||||||
|
"Jose Alarcan Gomex",
|
||||||
|
"http://verdnatura.es/vn-image-data/catalog/1600x900/92400",
|
||||||
|
null,
|
||||||
|
2
|
||||||
),
|
),
|
||||||
ItemInventoryParking(
|
ItemInventoryParking(
|
||||||
32, "F-01-2", "PLY", 19897, "Dendrobium Galaxy", 520, 37, "Jose Alarcan Gomex",
|
4,
|
||||||
"http://verdnatura.es/vn-image-data/catalog/1600x900/dgalaxy", 0, 2
|
32,
|
||||||
|
"F-01-2",
|
||||||
|
"PLY",
|
||||||
|
19897,
|
||||||
|
"Dendrobium Galaxy",
|
||||||
|
520,
|
||||||
|
37,
|
||||||
|
"Jose Alarcan Gomex",
|
||||||
|
"http://verdnatura.es/vn-image-data/catalog/1600x900/dgalaxy",
|
||||||
|
0,
|
||||||
|
2
|
||||||
),
|
),
|
||||||
ItemInventoryParking(
|
ItemInventoryParking(
|
||||||
33, "F-01-3", "ZLZ", 2912, "HEL Tropical Red", 2, 37, "Jose Alarcan Gomex",
|
5, 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
|
"http://verdnatura.es/vn-image-data/catalog/1600x900/002912", 0, 0
|
||||||
),
|
),
|
||||||
ItemInventoryParking(
|
ItemInventoryParking(
|
||||||
34, "F-01-4", "JXU", 25942, "HEL BQ Amor (x bouquet)", 0, 37, "Jose Alarcan Gomex",
|
6,
|
||||||
"http://verdnatura.es/vn-image-data/catalog/1600x900/bqamor", 2, 0
|
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",
|
||||||
|
2,
|
||||||
|
0
|
||||||
),
|
),
|
||||||
ItemInventoryParking(
|
ItemInventoryParking(
|
||||||
34, "F-01-4", "MUU", 25942, "HEL BQ Amor (x bouquet)", 5, 37, "Jose Alarcan Gomex",
|
7,
|
||||||
"http://verdnatura.es/vn-image-data/catalog/1600x900/bqamor", 0, 0
|
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
|
||||||
),
|
),
|
||||||
ItemInventoryParking(
|
ItemInventoryParking(
|
||||||
34, "F-01-4", "JXU", 50001, "Monstera I", 130, 37, "Jose Alarcan Gomex",
|
8, 34, "F-01-4", "JXU", 50001, "Monstera I", 130, 37, "Jose Alarcan Gomex",
|
||||||
"http://verdnatura.es/vn-image-data/catalog/1600x900/50001", 0, 2
|
"http://verdnatura.es/vn-image-data/catalog/1600x900/50001", 0, 2
|
||||||
),
|
),
|
||||||
ItemInventoryParking(
|
ItemInventoryParking(
|
||||||
34, "F-01-4", "JXU", 50004, "Monstera IV", 240, 37, "Jose Alarcan Gomex",
|
9, 34, "F-01-4", "JXU", 50004, "Monstera IV", 240, 37, "Jose Alarcan Gomex",
|
||||||
"http://verdnatura.es/vn-image-data/catalog/1600x900/50003", 0, 2
|
"http://verdnatura.es/vn-image-data/catalog/1600x900/50003", 0, 2
|
||||||
)
|
)
|
||||||
))
|
)
|
||||||
|
)
|
||||||
_inventoryListParking.value = myList
|
_inventoryListParking.value = myList
|
||||||
|
|
||||||
/*silex.itemShelving_inventory(vParkingFromFk, vParkingToFk)
|
/*silex.itemShelving_inventory(vParkingFromFk, vParkingToFk)
|
||||||
|
@ -440,7 +553,7 @@ class InventaryViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
fun expeditionMistakeType_get() {
|
fun expeditionMistakeType_get() {
|
||||||
silex.expeditionMistakeType_get()
|
silex.expeditionMistakeType_get()
|
||||||
.enqueue(object : SilexCallback<List<MistakeWorkerType>>(context) {
|
.enqueue(object : SilexCallback<List<MistakeWorkerType>>(context) {
|
||||||
override fun onError(t: Throwable) {
|
override fun onError(t: Throwable) {
|
||||||
val listError: ArrayList<MistakeWorkerType> = ArrayList()
|
val listError: ArrayList<MistakeWorkerType> = ArrayList()
|
||||||
|
|
|
@ -17,9 +17,14 @@ class InventaryListVO(
|
||||||
var list: List<ItemInventaryVO> = listOf()
|
var list: List<ItemInventaryVO> = listOf()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
class ItemShelvingVisible(
|
||||||
|
val visible: Int
|
||||||
|
)
|
||||||
|
class ItemShelvingChecked(
|
||||||
|
val isChecked: Boolean?
|
||||||
|
)
|
||||||
data class ItemInventoryParking(
|
data class ItemInventoryParking(
|
||||||
|
val id: Long,
|
||||||
val pickingOrder: Int,
|
val pickingOrder: Int,
|
||||||
val parking: String,
|
val parking: String,
|
||||||
val shelvingFk: String,
|
val shelvingFk: String,
|
||||||
|
@ -29,7 +34,7 @@ data class ItemInventoryParking(
|
||||||
val sectorFk: Int,
|
val sectorFk: Int,
|
||||||
val buyer: String,
|
val buyer: String,
|
||||||
val urlImage: String,
|
val urlImage: String,
|
||||||
val isChecked:Int?,
|
var isChecked:Int?,
|
||||||
val priority: Int,
|
val priority: Int,
|
||||||
var isError: Boolean = false,
|
var isError: Boolean = false,
|
||||||
var errorMessage: String = "",
|
var errorMessage: String = "",
|
||||||
|
|
|
@ -6,6 +6,7 @@ import android.graphics.drawable.Drawable
|
||||||
import android.media.MediaPlayer
|
import android.media.MediaPlayer
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.text.InputType
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.View.GONE
|
import android.view.View.GONE
|
||||||
import android.view.View.VISIBLE
|
import android.view.View.VISIBLE
|
||||||
|
@ -687,7 +688,7 @@ class UbicadorFragment(
|
||||||
|
|
||||||
private fun showAutoSelfConsumption(item: ItemUbicadorVO) {
|
private fun showAutoSelfConsumption(item: ItemUbicadorVO) {
|
||||||
|
|
||||||
customDialogInput.setInputText()
|
customDialogInput.setInputText(InputType.TYPE_CLASS_NUMBER)
|
||||||
customDialogInput.setTitle(getString(R.string.selfConsumption))
|
customDialogInput.setTitle(getString(R.string.selfConsumption))
|
||||||
customDialogInput.setDescription(getString(R.string.quantityTake))
|
customDialogInput.setDescription(getString(R.string.quantityTake))
|
||||||
.setValue("")
|
.setValue("")
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
|
android:visibility="invisible"
|
||||||
android:textColorHint="@android:color/darker_gray">
|
android:textColorHint="@android:color/darker_gray">
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
|
@ -41,6 +42,7 @@
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:textColor="@color/verdnatura_white"
|
android:textColor="@color/verdnatura_white"
|
||||||
|
|
||||||
android:textColorHint="@android:color/darker_gray" />
|
android:textColorHint="@android:color/darker_gray" />
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
|
|
|
@ -589,7 +589,7 @@
|
||||||
<string name="titlePhotosDescrip">Nature Photos</string>
|
<string name="titlePhotosDescrip">Nature Photos</string>
|
||||||
<string name="checkItemShelving">¿Desea resetear la revisión del carro?</string>
|
<string name="checkItemShelving">¿Desea resetear la revisión del carro?</string>
|
||||||
<string name="item_checking">Al pulsar permite resetear la revisión</string>
|
<string name="item_checking">Al pulsar permite resetear la revisión</string>
|
||||||
<string name="checkItemShelvingDescrip">Revisión del carro</string>
|
<string name="checkItemShelvingDescrip">Borrar revisión del carro</string>
|
||||||
<string name="scanItemUpload">Escanea artículo a subir</string>
|
<string name="scanItemUpload">Escanea artículo a subir</string>
|
||||||
<string name="messageUploadItem">Tienes que escanear el artículo para poder subirlo</string>
|
<string name="messageUploadItem">Tienes que escanear el artículo para poder subirlo</string>
|
||||||
<string name="messageUpload">Sube la imagen al servidor</string>
|
<string name="messageUpload">Sube la imagen al servidor</string>
|
||||||
|
@ -603,5 +603,13 @@
|
||||||
<string name="titleInventoryParking">Inventario por parking</string>
|
<string name="titleInventoryParking">Inventario por parking</string>
|
||||||
<string name="titleInventoryParkingDescrip">Permite inventariar por parking</string>
|
<string name="titleInventoryParkingDescrip">Permite inventariar por parking</string>
|
||||||
<string name="quantityVisible">Indica la nueva cantidad visible</string>
|
<string name="quantityVisible">Indica la nueva cantidad visible</string>
|
||||||
|
<string name="checkItemShelvingSelect">Ecscanea o escribe la matrícula a resetear revisión</string>
|
||||||
|
<string name="selectParkingsCheckin">Indica parkings a revisar</string>
|
||||||
|
<string name="selectParkingsFrom">Indica desde dónde hasta cual quieres revisar</string>
|
||||||
|
<string name="selectParkingsTo">Indica el parking hasta donde quieres revisar</string>
|
||||||
|
<string name="shelvingNotFound">Matrícula del carro no encontrada</string>
|
||||||
|
<string name="scanItemForChecking">Escanea artículo a verificar</string>
|
||||||
|
<string name="itemNotFoundScanAgain">Artículo no encontrado. Escanea de nuevo el carro</string>
|
||||||
|
<string name="scanShelvingAgain">Escanea matrícula de nuevo</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -603,5 +603,13 @@
|
||||||
<string name="titleInventoryParking">Inventario por parking</string>
|
<string name="titleInventoryParking">Inventario por parking</string>
|
||||||
<string name="titleInventoryParkingDescrip">Permite inventariar por parking</string>
|
<string name="titleInventoryParkingDescrip">Permite inventariar por parking</string>
|
||||||
<string name="quantityVisible">Indica la nueva cantidad visible</string>
|
<string name="quantityVisible">Indica la nueva cantidad visible</string>
|
||||||
|
<string name="checkItemShelvingSelect">Ecscanea o escribe la matrícula a resetear revisión</string>
|
||||||
|
<string name="selectParkingsCheckin">Indica parkings a revisar</string>
|
||||||
|
<string name="selectParkingsFrom">Indica desde dónde hasta cual quieres revisar</string>
|
||||||
|
<string name="selectParkingsTo">Indica el parking hasta donde quieres revisar</string>
|
||||||
|
<string name="shelvingNotFound">Matrícula del carro no encontrada</string>
|
||||||
|
<string name="scanItemForChecking">Escanea artículo a verificar</string>
|
||||||
|
<string name="itemNotFoundScanAgain">Artículo no encontrado. Escanea de nuevo el carro</string>
|
||||||
|
<string name="scanShelvingAgain">Escanea matrícula de nuevo</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -603,5 +603,13 @@
|
||||||
<string name="titleInventoryParking">Inventario por parking</string>
|
<string name="titleInventoryParking">Inventario por parking</string>
|
||||||
<string name="titleInventoryParkingDescrip">Permite inventariar por parking</string>
|
<string name="titleInventoryParkingDescrip">Permite inventariar por parking</string>
|
||||||
<string name="quantityVisible">Indica la nueva cantidad visible</string>
|
<string name="quantityVisible">Indica la nueva cantidad visible</string>
|
||||||
|
<string name="checkItemShelvingSelect">Ecscanea o escribe la matrícula a resetear revisión</string>
|
||||||
|
<string name="selectParkingsCheckin">Indica parkings a revisar</string>
|
||||||
|
<string name="selectParkingsFrom">Indica desde dónde hasta cual quieres revisar</string>
|
||||||
|
<string name="selectParkingsTo">Indica el parking hasta donde quieres revisar</string>
|
||||||
|
<string name="shelvingNotFound">Matrícula del carro no encontrada</string>
|
||||||
|
<string name="scanItemForChecking">Escanea artículo a verificar</string>
|
||||||
|
<string name="itemNotFoundScanAgain">Artículo no encontrado. Escanea de nuevo el carro</string>
|
||||||
|
<string name="scanShelvingAgain">Escanea matrícula de nuevo</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -602,4 +602,12 @@
|
||||||
<string name="titleInventoryParking">Inventory by parking</string>
|
<string name="titleInventoryParking">Inventory by parking</string>
|
||||||
<string name="titleInventoryParkingDescrip">Inventory by parking, you can select ubications</string>
|
<string name="titleInventoryParkingDescrip">Inventory by parking, you can select ubications</string>
|
||||||
<string name="quantityVisible">Indica la nueva cantidad visible</string>
|
<string name="quantityVisible">Indica la nueva cantidad visible</string>
|
||||||
|
<string name="checkItemShelvingSelect">Ecscanea o escribe la matrícula a resetear revisión</string>
|
||||||
|
<string name="selectParkingsCheckin">Indica parkings a revisar</string>
|
||||||
|
<string name="selectParkingsFrom">Indica desde dónde hasta cual quieres revisar</string>
|
||||||
|
<string name="selectParkingsTo">Indica el parking hasta donde quieres revisar</string>
|
||||||
|
<string name="shelvingNotFound">Matrícula del carro no encontrada</string>
|
||||||
|
<string name="scanItemForChecking">Escanea artículo a verificar</string>
|
||||||
|
<string name="itemNotFoundScanAgain">Artículo no encontrado. Escanea de nuevo el carro</string>
|
||||||
|
<string name="scanShelvingAgain">Escanea matrícula de nuevo</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
Loading…
Reference in New Issue