refs #4940 packingHolland
This commit is contained in:
parent
4c63845dca
commit
f8efe73da7
|
@ -639,6 +639,12 @@ interface VerdnaturaService {
|
|||
):
|
||||
Call<Any>
|
||||
|
||||
@POST("almacennew/travel_updatePacking")//REVISADA
|
||||
fun travel_updatePacking(
|
||||
@Body vararg params: Any
|
||||
):
|
||||
Call<Any>
|
||||
|
||||
@POST("almacennew/itemShelvingDelete")//REVISADA
|
||||
fun itemShelvingDelete(
|
||||
@Body vararg params: Any
|
||||
|
|
|
@ -0,0 +1,143 @@
|
|||
package es.verdnatura.presentation.view.feature.packingHolland.fragment
|
||||
|
||||
import android.view.View.GONE
|
||||
import android.view.View.VISIBLE
|
||||
import android.view.inputmethod.EditorInfo
|
||||
import es.verdnatura.R
|
||||
import es.verdnatura.databinding.FragmentGeneralBlackBinding
|
||||
import es.verdnatura.domain.toast
|
||||
import es.verdnatura.presentation.base.BaseFragment
|
||||
import es.verdnatura.presentation.common.itemScanValue
|
||||
import es.verdnatura.presentation.view.component.CustomDialogInput
|
||||
|
||||
//Tarea #4940
|
||||
class PackingHollandFragment(var entrypoint: String) :
|
||||
BaseFragment<FragmentGeneralBlackBinding, PackingHollandViewModel>(
|
||||
PackingHollandViewModel::class
|
||||
) {
|
||||
|
||||
override fun getLayoutId(): Int = R.layout.fragment_general_black
|
||||
private var shelvingScaned: Int = 0
|
||||
private lateinit var customDialogInput: CustomDialogInput
|
||||
|
||||
companion object {
|
||||
fun newInstance(entrypoint: String) = PackingHollandFragment(entrypoint = entrypoint)
|
||||
}
|
||||
|
||||
override fun init() {
|
||||
|
||||
customDialogInput = CustomDialogInput(requireContext())
|
||||
binding.mainToolbar.toolbarTitle.text = entrypoint
|
||||
binding.splashProgress.visibility = GONE
|
||||
binding.scanInput.visibility = VISIBLE
|
||||
setEvents()
|
||||
|
||||
super.init()
|
||||
}
|
||||
|
||||
private fun setEvents() {
|
||||
|
||||
binding.mainToolbar.backButton.setOnClickListener {
|
||||
requireActivity().onBackPressed()
|
||||
}
|
||||
|
||||
binding.scanInput.requestFocus()
|
||||
binding.scanInput.setOnEditorActionListener { _, actionId, _ ->
|
||||
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5) {
|
||||
if (!binding.scanInput.text.isNullOrEmpty()) {
|
||||
binding.splashProgress.visibility = VISIBLE
|
||||
try {
|
||||
|
||||
binding.scanInput.setText(
|
||||
itemScanValue(
|
||||
binding.scanInput.text.toString(),
|
||||
"buy",
|
||||
"more"
|
||||
).toString()
|
||||
)
|
||||
shelvingScaned = binding.scanInput.text.toString().toInt()
|
||||
|
||||
} catch (ex: Exception) {
|
||||
ex.message!!.toast(requireActivity())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
binding.scanInput.setText("")
|
||||
ma.hideKeyboard(binding.scanInput)
|
||||
return@setOnEditorActionListener true
|
||||
}
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
override fun observeViewModel() {
|
||||
with(viewModel) {
|
||||
response.observe(viewLifecycleOwner) {
|
||||
binding.splashProgress.visibility = GONE
|
||||
if (it.isError) {
|
||||
ma.messageWithSound(it.errorMessage, true, false)
|
||||
} else {
|
||||
showQuantityPacking()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private fun showQuantityPacking() {
|
||||
|
||||
customDialogInput.setInputText()
|
||||
customDialogInput.setTitle(getString(R.string.titlePackingHolland))
|
||||
customDialogInput.setDescription(getString(R.string.packingQuantity) + shelvingScaned)
|
||||
.setValue("")
|
||||
.setOkButton(getString(R.string.modify)) {
|
||||
|
||||
if (customDialogInput.getValue().isNotEmpty()
|
||||
) {
|
||||
callPacking(customDialogInput.getValue())
|
||||
}
|
||||
|
||||
|
||||
}.setKoButton(getString(R.string.cancel)) {
|
||||
customDialogInput.dismiss()
|
||||
}.show()
|
||||
customDialogInput.setFocusText()
|
||||
|
||||
|
||||
customDialogInput.setFocusText()
|
||||
ma.hideKeyboard(customDialogInput.getEditText())
|
||||
|
||||
customDialogInput.getEditText().setOnEditorActionListener { _, actionId, _ ->
|
||||
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || actionId == 0 || actionId == 5 || actionId == 6) {
|
||||
|
||||
if (customDialogInput.getValue().isNotEmpty()) {
|
||||
callPacking(customDialogInput.getValue())
|
||||
}
|
||||
|
||||
return@setOnEditorActionListener true
|
||||
}
|
||||
false
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private fun callPacking(value: String) {
|
||||
try {
|
||||
binding.splashProgress.visibility = VISIBLE
|
||||
viewModel.travel_updatePacking(
|
||||
itemFk = shelvingScaned,
|
||||
packingFk = value.toInt()
|
||||
)
|
||||
|
||||
} catch (ex: Exception) {
|
||||
getString(R.string.errorInput).toast(requireActivity())
|
||||
}
|
||||
customDialogInput.setValue("")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
package es.verdnatura.presentation.view.feature.packingHolland.fragment
|
||||
|
||||
|
||||
import android.content.Context
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import es.verdnatura.domain.SilexCallback
|
||||
import es.verdnatura.presentation.base.BaseViewModel
|
||||
import es.verdnatura.presentation.base.getMessageFromAllResponse
|
||||
import es.verdnatura.presentation.base.nameofFunction
|
||||
import es.verdnatura.presentation.common.ResponseItemVO
|
||||
import retrofit2.Response
|
||||
|
||||
class PackingHollandViewModel(val context: Context) : BaseViewModel(context) {
|
||||
|
||||
private val _response by lazy { MutableLiveData<ResponseItemVO>() }
|
||||
val response: LiveData<ResponseItemVO>
|
||||
get() = _response
|
||||
|
||||
|
||||
fun travel_updatePacking(
|
||||
itemFk: Int,
|
||||
packingFk: Int
|
||||
) {
|
||||
silex.travel_updatePacking(itemFk, packingFk)
|
||||
.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()!!)
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue