feat: refs #8188 orderPicking
This commit is contained in:
parent
9e23313c3b
commit
01aa6eaab6
|
@ -2,10 +2,15 @@ package es.verdnatura.presentation.view.feature.ubicador.fragment
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.graphics.Color
|
||||||
|
import android.graphics.drawable.ColorDrawable
|
||||||
import android.graphics.drawable.Drawable
|
import android.graphics.drawable.Drawable
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.os.Handler
|
||||||
|
import android.os.Looper
|
||||||
import android.text.InputType
|
import android.text.InputType
|
||||||
import android.text.TextWatcher
|
import android.text.TextWatcher
|
||||||
|
import android.util.Log.d
|
||||||
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
|
||||||
|
@ -18,6 +23,7 @@ import es.verdnatura.databinding.FragmentUbicadorBinding
|
||||||
import es.verdnatura.domain.ConstAndValues
|
import es.verdnatura.domain.ConstAndValues
|
||||||
import es.verdnatura.domain.ConstAndValues.WAREHOUSEFK
|
import es.verdnatura.domain.ConstAndValues.WAREHOUSEFK
|
||||||
import es.verdnatura.domain.isShelving
|
import es.verdnatura.domain.isShelving
|
||||||
|
import es.verdnatura.domain.isoToString
|
||||||
import es.verdnatura.domain.notNull
|
import es.verdnatura.domain.notNull
|
||||||
import es.verdnatura.domain.toInt
|
import es.verdnatura.domain.toInt
|
||||||
import es.verdnatura.domain.toast
|
import es.verdnatura.domain.toast
|
||||||
|
@ -44,8 +50,10 @@ import es.verdnatura.presentation.view.feature.ubicador.adapter.UbicadorAdapter6
|
||||||
import es.verdnatura.presentation.view.feature.ubicador.model.ItemShelving
|
import es.verdnatura.presentation.view.feature.ubicador.model.ItemShelving
|
||||||
import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicador
|
import es.verdnatura.presentation.view.feature.ubicador.model.ItemUbicador
|
||||||
import org.json.JSONObject
|
import org.json.JSONObject
|
||||||
|
import java.text.SimpleDateFormat
|
||||||
import java.time.LocalDate
|
import java.time.LocalDate
|
||||||
import java.time.format.DateTimeFormatter
|
import java.time.format.DateTimeFormatter
|
||||||
|
import java.util.Locale
|
||||||
import kotlin.math.ceil
|
import kotlin.math.ceil
|
||||||
|
|
||||||
@Suppress("UNUSED_ANONYMOUS_PARAMETER")
|
@Suppress("UNUSED_ANONYMOUS_PARAMETER")
|
||||||
|
@ -118,7 +126,6 @@ class UbicadorFragment6869 : BaseFragment<FragmentUbicadorBinding, UbicadorViewM
|
||||||
setDialogs()
|
setDialogs()
|
||||||
setEvents()
|
setEvents()
|
||||||
setToolBar()
|
setToolBar()
|
||||||
println("Ubicador nuevo")
|
|
||||||
ma.hideBottomNavigation(GONE)
|
ma.hideBottomNavigation(GONE)
|
||||||
viewModel.getImageConfig()
|
viewModel.getImageConfig()
|
||||||
|
|
||||||
|
@ -217,7 +224,7 @@ class UbicadorFragment6869 : BaseFragment<FragmentUbicadorBinding, UbicadorViewM
|
||||||
binding.mainToolbar.toolbarIcons.adapter =
|
binding.mainToolbar.toolbarIcons.adapter =
|
||||||
ToolBarAdapterTooltip(listIcons, object : OnOptionsSelectedListener {
|
ToolBarAdapterTooltip(listIcons, object : OnOptionsSelectedListener {
|
||||||
override fun onOptionsItemSelected(item: Drawable) {
|
override fun onOptionsItemSelected(item: Drawable) {
|
||||||
listItems.clear()
|
|
||||||
when (item) {
|
when (item) {
|
||||||
iconAdd.drawable -> showAddItemNew(
|
iconAdd.drawable -> showAddItemNew(
|
||||||
isEditItem = false, null
|
isEditItem = false, null
|
||||||
|
@ -233,7 +240,7 @@ class UbicadorFragment6869 : BaseFragment<FragmentUbicadorBinding, UbicadorViewM
|
||||||
}
|
}
|
||||||
|
|
||||||
iconReload.drawable -> {
|
iconReload.drawable -> {
|
||||||
|
listItems.clear()
|
||||||
if (shelvingFk.isNotBlank()) {
|
if (shelvingFk.isNotBlank()) {
|
||||||
binding.editPrioridad.setText("")
|
binding.editPrioridad.setText("")
|
||||||
viewModel.itemShelvingGet(
|
viewModel.itemShelvingGet(
|
||||||
|
@ -252,7 +259,8 @@ class UbicadorFragment6869 : BaseFragment<FragmentUbicadorBinding, UbicadorViewM
|
||||||
customDialogReset.setTitle(getString(R.string.checkItemShelvingDescrip))
|
customDialogReset.setTitle(getString(R.string.checkItemShelvingDescrip))
|
||||||
.setDescription(getString(R.string.checkItemShelving))
|
.setDescription(getString(R.string.checkItemShelving))
|
||||||
.setOkButton(getString(R.string.ok)) {
|
.setOkButton(getString(R.string.ok)) {
|
||||||
viewModel.itemShelvingDeleteChecked(shelvingFk)
|
if (listItems.isNotEmpty())
|
||||||
|
viewModel.itemShelvingDeleteChecked(listItems[0].shelvingFk)
|
||||||
customDialogReset.dismiss()
|
customDialogReset.dismiss()
|
||||||
}.setKoButton(getString(R.string.cancel)) {
|
}.setKoButton(getString(R.string.cancel)) {
|
||||||
customDialogReset.dismiss()
|
customDialogReset.dismiss()
|
||||||
|
@ -461,8 +469,8 @@ class UbicadorFragment6869 : BaseFragment<FragmentUbicadorBinding, UbicadorViewM
|
||||||
private fun customDialogActionParking() {
|
private fun customDialogActionParking() {
|
||||||
parking = customDialogInput.getValue()
|
parking = customDialogInput.getValue()
|
||||||
//tarea 6964
|
//tarea 6964
|
||||||
viewModel.hasItemOlder(
|
viewModel.getItemsByReviewOrder(
|
||||||
shelvingFk, customDialogInput.getValue(),
|
shelvingFk, customDialogInput.getValue(), itemFk = null, action = Action.PARKINEAR
|
||||||
)
|
)
|
||||||
|
|
||||||
customDialogInput.dismiss()
|
customDialogInput.dismiss()
|
||||||
|
@ -471,15 +479,15 @@ class UbicadorFragment6869 : BaseFragment<FragmentUbicadorBinding, UbicadorViewM
|
||||||
private fun customDialogActionChange() {
|
private fun customDialogActionChange() {
|
||||||
|
|
||||||
//Tarea 7920
|
//Tarea 7920
|
||||||
if (listItems.isNotEmpty()) {
|
/* if (listItems.isNotEmpty()) {
|
||||||
viewModel.shelvingChangeSalix(
|
viewModel.shelvingChangeSalix(
|
||||||
shelvingFk, customDialogInput.getValue()
|
shelvingFk, customDialogInput.getValue()
|
||||||
)
|
)
|
||||||
} else {
|
} else {*/
|
||||||
viewModel.getShelvingFkFromCode(
|
viewModel.getShelvingFkFromCode(
|
||||||
listItems[0].shelvingFk, customDialogInput.getValue()
|
listItems[0].shelvingFk, customDialogInput.getValue()
|
||||||
)
|
)
|
||||||
}
|
// }
|
||||||
shelvingFk = customDialogInput.getValue()
|
shelvingFk = customDialogInput.getValue()
|
||||||
|
|
||||||
customDialogInput.dismiss()
|
customDialogInput.dismiss()
|
||||||
|
@ -605,7 +613,6 @@ class UbicadorFragment6869 : BaseFragment<FragmentUbicadorBinding, UbicadorViewM
|
||||||
loadImageConfig.observe(viewLifecycleOwner) { event ->
|
loadImageConfig.observe(viewLifecycleOwner) { event ->
|
||||||
event.getContentIfNotHandled().notNull {
|
event.getContentIfNotHandled().notNull {
|
||||||
urlImage = it
|
urlImage = it
|
||||||
println("urrrr $it")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -620,35 +627,99 @@ class UbicadorFragment6869 : BaseFragment<FragmentUbicadorBinding, UbicadorViewM
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
loadGetParkingResponse.observe(viewLifecycleOwner) {
|
||||||
|
|
||||||
|
if (shelvingFk.isNotEmpty()) {
|
||||||
|
binding.mainToolbar.toolbarTitle.text = shelvingFk
|
||||||
|
viewModel.itemShelvingGet(
|
||||||
|
shelvingFk
|
||||||
|
)
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
loadShelvingListItemNewer.observe(viewLifecycleOwner) { event ->
|
loadShelvingListItemNewer.observe(viewLifecycleOwner) { event ->
|
||||||
event.getContentIfNotHandled().notNull {
|
event.getContentIfNotHandled().notNull {
|
||||||
|
|
||||||
if (it.list.isNotEmpty()) {
|
if (it.list.isNotEmpty()) {
|
||||||
val formattedList = it.list.map { item ->
|
|
||||||
|
val oldList = it.list.filter { item ->
|
||||||
|
item.itemCreated!!.contains("old", ignoreCase = true)
|
||||||
|
}.map { item ->
|
||||||
val itemFk = item.itemFk
|
val itemFk = item.itemFk
|
||||||
val shelvingFk = item.shelvingFk
|
val shelvingFk = item.code
|
||||||
"$itemFk (${shelvingFk.uppercase()})"
|
val created = item.created.isoToString(returnOnlyDate = true)
|
||||||
|
val parkingCode = item.parkingFk
|
||||||
|
val formattedCreated =
|
||||||
|
SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(
|
||||||
|
SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).parse(
|
||||||
|
created
|
||||||
|
)!!
|
||||||
|
)
|
||||||
|
"$itemFk:${shelvingFk?.uppercase()}→${parkingCode}:(${formattedCreated}"
|
||||||
|
}
|
||||||
|
val newList = it.list.filter { item ->
|
||||||
|
item.itemCreated!!.contains("new", ignoreCase = true)
|
||||||
|
}.map { item ->
|
||||||
|
val itemFk = item.itemFk
|
||||||
|
val shelvingFk = item.code
|
||||||
|
val created = item.created.isoToString(returnOnlyDate = true)
|
||||||
|
val parkingCode = item.parkingFk
|
||||||
|
val formattedCreated =
|
||||||
|
SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(
|
||||||
|
SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).parse(
|
||||||
|
created
|
||||||
|
)!!
|
||||||
|
)
|
||||||
|
"$itemFk:${shelvingFk?.uppercase()}→${parkingCode}:(${formattedCreated})"
|
||||||
}
|
}
|
||||||
val resultString = formattedList.joinToString(separator = "\n")
|
|
||||||
val finalOutput = "\n$resultString"
|
|
||||||
customDialogOlder.setTitle(getString(R.string.info)).setDescription(
|
|
||||||
getString(
|
|
||||||
R.string.itemOlderInfo, Action.PARKINEAR
|
|
||||||
) + getString(R.string.listItems) + finalOutput
|
|
||||||
).setOkButton(
|
|
||||||
getString(R.string.ok)
|
|
||||||
) {
|
|
||||||
viewModel.setParking(
|
|
||||||
it.originalShelvingFk, it.originalParking
|
|
||||||
)
|
|
||||||
|
|
||||||
customDialogOlder.dismiss()
|
val resultStringOld = oldList.joinToString(separator = "\n")
|
||||||
|
val resultStringNew = newList.joinToString(separator = "\n")
|
||||||
|
|
||||||
}.setKoButton(getString(R.string.cancel)) {
|
var finalOutput = ""
|
||||||
customDialogOlder.dismiss()
|
if (oldList.isNotEmpty()) {
|
||||||
}.show()
|
finalOutput =
|
||||||
|
getString(R.string.ubicationItemNewer, resultStringOld)
|
||||||
|
}
|
||||||
|
if (newList.isNotEmpty()) {
|
||||||
|
finalOutput += getString(R.string.ubicationItemOlder, resultStringNew)
|
||||||
|
}
|
||||||
|
customDialogOlder.setTitle(getString(R.string.info))
|
||||||
|
.setDescription(
|
||||||
|
finalOutput
|
||||||
|
).setOkButton(
|
||||||
|
getString(R.string.ok)
|
||||||
|
) {
|
||||||
|
when (it.originalAction) {
|
||||||
|
Action.PARKINEAR -> viewModel.setParking(
|
||||||
|
it.originalShelvingFk, it.originalParking
|
||||||
|
)
|
||||||
|
|
||||||
|
Action.TRANSFERIR -> {
|
||||||
|
println("transfer item ${it.itemShelvingFk}")
|
||||||
|
println("transfer carro ${it.originalShelvingFk}")
|
||||||
|
viewModel.itemShelvingTransfer(
|
||||||
|
it.itemShelvingFk!!,
|
||||||
|
it.originalShelvingFk
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
null -> d("", "no action")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
customDialogOlder.dismiss()
|
||||||
|
|
||||||
|
}.setKoButton(getString(R.string.cancel)) {
|
||||||
|
customDialogOlder.dismiss()
|
||||||
|
}.setCancelable(true)
|
||||||
|
customDialogOlder.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Handler(Looper.getMainLooper()).postDelayed({
|
||||||
|
customDialogOlder.show()
|
||||||
|
}, 1000)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -794,7 +865,7 @@ class UbicadorFragment6869 : BaseFragment<FragmentUbicadorBinding, UbicadorViewM
|
||||||
|
|
||||||
|
|
||||||
if (isEditItem) {
|
if (isEditItem) {
|
||||||
customDialogUbicador.setTitle(getString(R.string.editItem) + itemUbicador!!.item)
|
customDialogUbicador.setTitle(getString(R.string.editItem) + itemUbicador!!.item.id)
|
||||||
.setItemValue(itemUbicador.item.id.toString())
|
.setItemValue(itemUbicador.item.id.toString())
|
||||||
.setPackingValue(itemUbicador.packing.toString())
|
.setPackingValue(itemUbicador.packing.toString())
|
||||||
.setVisibleValue(itemUbicador.visible.toString())
|
.setVisibleValue(itemUbicador.visible.toString())
|
||||||
|
@ -1209,16 +1280,26 @@ class UbicadorFragment6869 : BaseFragment<FragmentUbicadorBinding, UbicadorViewM
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun customDialogTransferAction(item: ItemShelving) {
|
private fun customDialogTransferAction(item: ItemShelving) {
|
||||||
if (customDialogInput.getValue().isNotEmpty()) {/*tearea 6964*//*
|
if (customDialogInput.getValue().isNotEmpty()) {
|
||||||
viewModel.hasItemOlder(
|
/*tearea 6964*/
|
||||||
shelvingFkIn = shelvingFk,
|
// }
|
||||||
shelvingFkOut = customDialogInput.getValue(),
|
/* viewModel.hasItemOlder(
|
||||||
itemFk = item.id,
|
shelvingFk = shelvingFk,
|
||||||
action = Action.TRANSFERIR
|
parking = customDialogInput.getValue(),
|
||||||
)*/
|
itemFk = item.id,
|
||||||
viewModel.itemShelvingTransfer(
|
action = Action.TRANSFERIR
|
||||||
item.id, customDialogInput.getValue()
|
)*/
|
||||||
|
viewModel.getParkingToTransfer(
|
||||||
|
shelvingFkTo = customDialogInput.getValue(),
|
||||||
|
itemShelvingFk = item.id,
|
||||||
|
itemFk = item.itemFk,
|
||||||
|
shelvingFkFrom = shelvingFk
|
||||||
)
|
)
|
||||||
|
println("transfer item ${item.id}")
|
||||||
|
println("transfer carro ${customDialogInput.getValue()}")
|
||||||
|
/* viewModel.itemShelvingTransfer(
|
||||||
|
item.id, customDialogInput.getValue()
|
||||||
|
)*/
|
||||||
listItems.remove(item)
|
listItems.remove(item)
|
||||||
adapter!!.notifyItemRemoved(listItems.indexOf(item))
|
adapter!!.notifyItemRemoved(listItems.indexOf(item))
|
||||||
//adapter!!.notifyDataSetChanged()
|
//adapter!!.notifyDataSetChanged()
|
||||||
|
|
|
@ -221,14 +221,15 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
||||||
binding.mainToolbar.toolbarIcons.adapter =
|
binding.mainToolbar.toolbarIcons.adapter =
|
||||||
ToolBarAdapterTooltip(listIcons, object : OnOptionsSelectedListener {
|
ToolBarAdapterTooltip(listIcons, object : OnOptionsSelectedListener {
|
||||||
override fun onOptionsItemSelected(item: Drawable) {
|
override fun onOptionsItemSelected(item: Drawable) {
|
||||||
listItems.clear()
|
|
||||||
when (item) {
|
when (item) {
|
||||||
iconAdd.drawable -> showAddItemNew(
|
iconAdd.drawable -> {
|
||||||
isEditItem = false, null
|
showAddItemNew(
|
||||||
)
|
isEditItem = false, null
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
iconAddMultiple.drawable -> {
|
iconAddMultiple.drawable -> {
|
||||||
|
|
||||||
ma.onPasillerosItemClickListener(
|
ma.onPasillerosItemClickListener(
|
||||||
PasillerosItemVO(
|
PasillerosItemVO(
|
||||||
title = R.string.addItemMultipleShelving,
|
title = R.string.addItemMultipleShelving,
|
||||||
|
@ -237,7 +238,7 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
||||||
}
|
}
|
||||||
|
|
||||||
iconReload.drawable -> {
|
iconReload.drawable -> {
|
||||||
|
listItems.clear()
|
||||||
if (shelvingFk.isNotBlank()) {
|
if (shelvingFk.isNotBlank()) {
|
||||||
binding.editPrioridad.setText("")
|
binding.editPrioridad.setText("")
|
||||||
viewModel.itemShelvingListNew(
|
viewModel.itemShelvingListNew(
|
||||||
|
@ -256,7 +257,8 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
||||||
customDialogReset.setTitle(getString(R.string.checkItemShelvingDescrip))
|
customDialogReset.setTitle(getString(R.string.checkItemShelvingDescrip))
|
||||||
.setDescription(getString(R.string.checkItemShelving))
|
.setDescription(getString(R.string.checkItemShelving))
|
||||||
.setOkButton(getString(R.string.ok)) {
|
.setOkButton(getString(R.string.ok)) {
|
||||||
viewModel.itemShelvingDeleteChecked(shelvingFk)
|
if (listItems.isNotEmpty())
|
||||||
|
viewModel.itemShelvingDeleteChecked(listItems[0].shelvingFk!!)
|
||||||
customDialogReset.dismiss()
|
customDialogReset.dismiss()
|
||||||
}.setKoButton(getString(R.string.cancel)) {
|
}.setKoButton(getString(R.string.cancel)) {
|
||||||
customDialogReset.dismiss()
|
customDialogReset.dismiss()
|
||||||
|
@ -467,7 +469,7 @@ class UbicadorFragmentNew : BaseFragment<FragmentUbicadorBinding, UbicadorViewMo
|
||||||
parking = customDialogInput.getValue()
|
parking = customDialogInput.getValue()
|
||||||
//tarea 6964
|
//tarea 6964
|
||||||
viewModel.hasItemOlder(
|
viewModel.hasItemOlder(
|
||||||
shelvingFk, customDialogInput.getValue(),
|
shelvingFk, customDialogInput.getValue(), itemFk = null, action = null
|
||||||
)
|
)
|
||||||
|
|
||||||
customDialogInput.dismiss()
|
customDialogInput.dismiss()
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package es.verdnatura.presentation.view.feature.ubicador.fragment
|
package es.verdnatura.presentation.view.feature.ubicador.fragment
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.util.Log.d
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import androidx.lifecycle.map
|
import androidx.lifecycle.map
|
||||||
|
@ -11,6 +12,7 @@ import es.verdnatura.domain.formatWithQuotes
|
||||||
import es.verdnatura.domain.userCases.GetItemFromBarcodeUseCase
|
import es.verdnatura.domain.userCases.GetItemFromBarcodeUseCase
|
||||||
import es.verdnatura.domain.userCases.GetItemPrintItemUseCase
|
import es.verdnatura.domain.userCases.GetItemPrintItemUseCase
|
||||||
import es.verdnatura.presentation.base.BaseViewModel
|
import es.verdnatura.presentation.base.BaseViewModel
|
||||||
|
import es.verdnatura.presentation.common.Action
|
||||||
import es.verdnatura.presentation.common.Event
|
import es.verdnatura.presentation.common.Event
|
||||||
import es.verdnatura.presentation.common.ItemShelvingSalix
|
import es.verdnatura.presentation.common.ItemShelvingSalix
|
||||||
import es.verdnatura.presentation.common.ResponseHasOlder
|
import es.verdnatura.presentation.common.ResponseHasOlder
|
||||||
|
@ -79,6 +81,10 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
val buyUltimateResponse: LiveData<Boolean> = _buyUltimateResponse
|
val buyUltimateResponse: LiveData<Boolean> = _buyUltimateResponse
|
||||||
val loadBuyUltimateResponse: LiveData<Event<Boolean>> = _buyUltimateResponse.map { Event(it) }
|
val loadBuyUltimateResponse: LiveData<Event<Boolean>> = _buyUltimateResponse.map { Event(it) }
|
||||||
|
|
||||||
|
private val _getParkingResponse by lazy { MutableLiveData<Boolean>() }
|
||||||
|
val getParkingResponse: LiveData<Boolean> = _getParkingResponse
|
||||||
|
val loadGetParkingResponse: LiveData<Event<Boolean>> = _getParkingResponse.map { Event(it) }
|
||||||
|
|
||||||
fun itemShelvingListNew(
|
fun itemShelvingListNew(
|
||||||
shelvingFk: String
|
shelvingFk: String
|
||||||
) {
|
) {
|
||||||
|
@ -243,23 +249,36 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
|
|
||||||
fun hasItemOlder(
|
fun hasItemOlder(
|
||||||
shelvingFk: String,
|
shelvingFk: String,
|
||||||
parking: String,
|
parking: String?,
|
||||||
|
itemFk: Int?,
|
||||||
|
action: Action?,
|
||||||
|
itemShelvingFk: Number? = null
|
||||||
|
|
||||||
) {
|
) {
|
||||||
salix.getListItemNewer(shelvingFk, parking)
|
salix.getListItemNewerNew(shelvingFk, parking, itemFk)
|
||||||
|
//salix.getListItemNewer(shelvingFk, parking)
|
||||||
.enqueue(object : SalixCallback<List<ItemShelvingNewer>>(context) {
|
.enqueue(object : SalixCallback<List<ItemShelvingNewer>>(context) {
|
||||||
|
|
||||||
override fun onSuccess(response: Response<List<ItemShelvingNewer>>) {
|
override fun onSuccess(response: Response<List<ItemShelvingNewer>>) {
|
||||||
|
|
||||||
if (response.body()!!.isEmpty()) {
|
if (response.body()!!.isEmpty()) {
|
||||||
setParking(shelvingFk, parking)
|
when (action) {
|
||||||
|
Action.PARKINEAR -> setParking(shelvingFk, parking!!)
|
||||||
|
Action.TRANSFERIR -> {
|
||||||
|
itemShelvingTransfer(itemShelvingFk!!, shelvingFk)
|
||||||
|
}
|
||||||
|
|
||||||
|
null -> setParking(shelvingFk, parking!!)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
_shelvingListItemNewer.value =
|
_shelvingListItemNewer.value =
|
||||||
response.body()?.let {
|
response.body()?.let {
|
||||||
ItemShelvingNewerList(
|
ItemShelvingNewerList(
|
||||||
it,
|
it,
|
||||||
originalParking = parking,
|
originalShelvingFk = shelvingFk,
|
||||||
originalShelvingFk = shelvingFk
|
originalParking = parking!!,
|
||||||
|
originalItem = itemFk,
|
||||||
|
originalAction = action
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -269,6 +288,98 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getItemsByReviewOrder(
|
||||||
|
shelving: String,
|
||||||
|
parking: String?,
|
||||||
|
itemFk: Number?,
|
||||||
|
action: Action?,
|
||||||
|
itemShelvingFk: Number? = null,
|
||||||
|
shelvingFkFrom: String? = null
|
||||||
|
|
||||||
|
) {
|
||||||
|
salix.getItemsByReviewOrder(
|
||||||
|
if (action == Action.TRANSFERIR) shelvingFkFrom!! else shelving,
|
||||||
|
parking,
|
||||||
|
itemFk
|
||||||
|
)
|
||||||
|
.enqueue(object : SalixCallback<List<ItemShelvingNewer>>(context) {
|
||||||
|
|
||||||
|
override fun onSuccess(response: Response<List<ItemShelvingNewer>>) {
|
||||||
|
if (response.body()!!.isEmpty()) {
|
||||||
|
when (action) {
|
||||||
|
Action.PARKINEAR -> setParking(shelving, parking!!)
|
||||||
|
Action.TRANSFERIR -> {
|
||||||
|
|
||||||
|
itemShelvingTransfer(itemShelvingFk!!, shelving!!)
|
||||||
|
}
|
||||||
|
|
||||||
|
null -> d("", "No action")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
_shelvingListItemNewer.value =
|
||||||
|
response.body()?.let {
|
||||||
|
ItemShelvingNewerList(
|
||||||
|
it,
|
||||||
|
originalShelvingFk = shelving,
|
||||||
|
originalParking = parking!!,
|
||||||
|
originalItem = itemFk,
|
||||||
|
originalAction = action,
|
||||||
|
itemShelvingFk = itemShelvingFk
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getParkingToTransfer(
|
||||||
|
shelvingFkTo: String,
|
||||||
|
itemShelvingFk: Number,
|
||||||
|
itemFk: Number,
|
||||||
|
shelvingFkFrom: String? = null
|
||||||
|
|
||||||
|
) {
|
||||||
|
salix.shelvingGet(
|
||||||
|
filter = """{
|
||||||
|
"fields": ["priority", "parkingFk", "code", "id"],
|
||||||
|
"include": [
|
||||||
|
{
|
||||||
|
"relation": "parking",
|
||||||
|
"scope": {
|
||||||
|
"fields": ["code"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"where": {
|
||||||
|
"code": "$shelvingFkTo"
|
||||||
|
}
|
||||||
|
}"""
|
||||||
|
).enqueue(object : SalixCallback<ShelvingItem>(context) {
|
||||||
|
override fun onSuccess(response: Response<ShelvingItem>) {
|
||||||
|
val itemShelving = response.body()
|
||||||
|
if (itemShelving?.parking == null) {
|
||||||
|
itemShelvingTransfer(itemShelvingFk, shelvingFkTo)
|
||||||
|
} else {
|
||||||
|
getItemsByReviewOrder(
|
||||||
|
shelving = shelvingFkTo,
|
||||||
|
itemFk = itemFk,
|
||||||
|
parking = itemShelving.parking.code,
|
||||||
|
action = Action.TRANSFERIR,
|
||||||
|
itemShelvingFk = itemShelvingFk,
|
||||||
|
shelvingFkFrom = shelvingFkFrom!!
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onError(t: Throwable) {
|
||||||
|
_getParkingResponse.value = false
|
||||||
|
super.onError(t)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
fun itemShelvingMerge(
|
fun itemShelvingMerge(
|
||||||
vShelf: Int, shelvingFk: String
|
vShelf: Int, shelvingFk: String
|
||||||
|
|
||||||
|
@ -287,7 +398,7 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
fun itemShelvingDeleteChecked(
|
fun itemShelvingDeleteChecked(
|
||||||
vShelvingFk: String
|
vShelvingFk: Number
|
||||||
|
|
||||||
) {
|
) {
|
||||||
salix.itemShelvingsUpdate(
|
salix.itemShelvingsUpdate(
|
||||||
|
@ -395,9 +506,10 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
shelvingFkIn: String, shelvingFkOut: String
|
shelvingFkIn: String, shelvingFkOut: String
|
||||||
|
|
||||||
) {
|
) {
|
||||||
|
|
||||||
salix.itemShelvingsUpdate(
|
salix.itemShelvingsUpdate(
|
||||||
where = JsonObject().apply { addProperty("shelvingFk", shelvingFkIn) },
|
where = JsonObject().apply {
|
||||||
|
addProperty("shelvingFk", shelvingFkIn)
|
||||||
|
},
|
||||||
hashMapOf("shelvingFk" to shelvingFkOut)
|
hashMapOf("shelvingFk" to shelvingFkOut)
|
||||||
).enqueue(object : SalixCallback<Any>(context) {
|
).enqueue(object : SalixCallback<Any>(context) {
|
||||||
|
|
||||||
|
@ -435,6 +547,7 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
|
|
||||||
override fun onSuccess(response: Response<ItemUbicador>) {
|
override fun onSuccess(response: Response<ItemUbicador>) {
|
||||||
val myItemCode = response.body().let { it as ItemUbicador }
|
val myItemCode = response.body().let { it as ItemUbicador }
|
||||||
|
|
||||||
shelvingChangeSalixNew(
|
shelvingChangeSalixNew(
|
||||||
shelvingFkIn = shelvingFkIn,
|
shelvingFkIn = shelvingFkIn,
|
||||||
myItemCode.id.toLong()
|
myItemCode.id.toLong()
|
||||||
|
@ -445,10 +558,10 @@ class UbicadorViewModel(val context: Context) : BaseViewModel(context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
fun itemShelvingTransfer(
|
fun itemShelvingTransfer(
|
||||||
itemFk: Int, shelvingFk: String
|
itemShelvingFk: Number, shelvingFk: String
|
||||||
|
|
||||||
) {
|
) {
|
||||||
salix.itemShelvingTransfer(arrayListOf(itemFk, shelvingFk).formatWithQuotes())
|
salix.itemShelvingTransfer(arrayListOf(itemShelvingFk, shelvingFk).formatWithQuotes())
|
||||||
.enqueue(object : SalixCallback<Any>(context) {
|
.enqueue(object : SalixCallback<Any>(context) {
|
||||||
override fun onSuccess(response: Response<Any>) {
|
override fun onSuccess(response: Response<Any>) {
|
||||||
_responseUbicator.value = true
|
_responseUbicator.value = true
|
||||||
|
|
Loading…
Reference in New Issue