refs #5651 advancedTicket
This commit is contained in:
parent
863957812b
commit
c1842a4bc6
|
@ -27,6 +27,7 @@ import es.verdnatura.presentation.view.feature.presacador.fragment.PreSacadorVie
|
|||
import es.verdnatura.presentation.view.feature.qr.QrFragmentViewModel
|
||||
import es.verdnatura.presentation.view.feature.sacador.fragment.SacadorViewModel
|
||||
import es.verdnatura.presentation.view.feature.shelvingparking.fragment.ShelvingParkingViewModel
|
||||
import es.verdnatura.presentation.view.feature.ticket.fragment.TicketViewModel
|
||||
import es.verdnatura.presentation.view.feature.ubicador.fragment.AutomaticAddItemViewModel
|
||||
import es.verdnatura.presentation.view.feature.ubicador.fragment.UbicadorViewModel
|
||||
import org.koin.android.ext.koin.androidContext
|
||||
|
@ -193,4 +194,7 @@ val viewModelModule = module {
|
|||
viewModel {
|
||||
PhotosViewModel(androidContext())
|
||||
}
|
||||
viewModel {
|
||||
TicketViewModel(androidContext())
|
||||
}
|
||||
}
|
|
@ -2,6 +2,7 @@ package es.verdnatura.domain
|
|||
|
||||
import es.verdnatura.presentation.common.itemBarCodeSalix
|
||||
import es.verdnatura.presentation.common.itemPackingTypeSalix
|
||||
import es.verdnatura.presentation.common.packingSiteSalix
|
||||
import es.verdnatura.presentation.view.feature.ajustes.model.SectorItemVO
|
||||
import es.verdnatura.presentation.view.feature.articulo.model.ItemPackingType
|
||||
import es.verdnatura.presentation.view.feature.collection.SalixSaleQuantity
|
||||
|
@ -122,6 +123,12 @@ interface SalixService {
|
|||
):
|
||||
Call<List<ItemPackingType>>
|
||||
|
||||
@POST("PackingSiteAdvanceds")
|
||||
fun ticket_advancePackaging(
|
||||
@Body parms : packingSiteSalix
|
||||
):
|
||||
Call<Void>
|
||||
|
||||
|
||||
@PUT("ItemBarCodes")//REVISADA
|
||||
fun barcodes_edit(
|
||||
|
|
|
@ -8,3 +8,8 @@ class itemBarCodeSalix(
|
|||
var itemFk: Int ,
|
||||
var code:String
|
||||
)
|
||||
class packingSiteSalix(
|
||||
var ticketFk:Int,
|
||||
var workerFk: Int
|
||||
|
||||
)
|
||||
|
|
|
@ -68,6 +68,7 @@ import es.verdnatura.presentation.view.feature.sacador.fragment.SacadorFragment
|
|||
import es.verdnatura.presentation.view.feature.sacador.fragment.showticket.ShowTicketFragment
|
||||
import es.verdnatura.presentation.view.feature.sacador.model.CollectionVO
|
||||
import es.verdnatura.presentation.view.feature.shelvingparking.fragment.ShelvingParkingFragment
|
||||
import es.verdnatura.presentation.view.feature.ticket.fragment.TicketAdvanceFragment
|
||||
import es.verdnatura.presentation.view.feature.ubicador.fragment.AutomaticAddItemFragment
|
||||
import es.verdnatura.presentation.view.feature.ubicador.fragment.UbicadorFragment
|
||||
import es.verdnatura.presentation.view.feature.workermistake.adapter.WorkermistakeFragment
|
||||
|
@ -110,7 +111,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
|
|||
val extras = intent.extras
|
||||
val uriImage = intent.data
|
||||
|
||||
|
||||
if (extras != null && extras.containsKey("menu")) {
|
||||
comeFromDelivery = true
|
||||
val option = extras.getString("menu")
|
||||
|
@ -737,6 +737,12 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
|
|||
)
|
||||
}
|
||||
|
||||
getString(R.string.ticketAdvance) -> {
|
||||
addFragmentOnTop(
|
||||
TicketAdvanceFragment.newInstance(item.title)
|
||||
)
|
||||
}
|
||||
|
||||
getString(R.string.testing) -> {
|
||||
// addFragmentOnTop(
|
||||
// PhotosFragment.newInstance(item.title))
|
||||
|
|
|
@ -119,7 +119,6 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
|
|||
)
|
||||
)
|
||||
|
||||
//Tarea 4940
|
||||
_pasillerositem.add(
|
||||
PasillerosItemVO(
|
||||
1,
|
||||
|
@ -133,18 +132,18 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
|
|||
)
|
||||
|
||||
|
||||
//Tarea 4979
|
||||
/* _pasillerositem.add(
|
||||
//Tarea 5651
|
||||
_pasillerositem.add(
|
||||
PasillerosItemVO(
|
||||
1,
|
||||
R.drawable.ic_category,
|
||||
contextApp.getString(R.string.categoryChange),
|
||||
R.string.titleChangeCategory,
|
||||
R.drawable.ic_advance_ticket,
|
||||
contextApp.getString(R.string.ticketAdvance),
|
||||
R.string.ticketAdvance,
|
||||
contextApp.getString(
|
||||
R.string.titleChangeCategory
|
||||
R.string.ticketAdvanceDescrip
|
||||
)
|
||||
)
|
||||
)*/
|
||||
)
|
||||
|
||||
|
||||
_pasillerositem.add(
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
package es.verdnatura.presentation.view.feature.ticket.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.presentation.base.BaseFragment
|
||||
|
||||
|
||||
class TicketAdvanceFragment(var title: String) :
|
||||
BaseFragment<FragmentGeneralBlackBinding, TicketViewModel>(
|
||||
TicketViewModel::class
|
||||
) {
|
||||
|
||||
override fun getLayoutId(): Int = R.layout.fragment_general_black
|
||||
|
||||
companion object {
|
||||
fun newInstance(title: String) = TicketAdvanceFragment(title = title)
|
||||
}
|
||||
|
||||
override fun init() {
|
||||
|
||||
binding.scanInput.visibility = VISIBLE
|
||||
binding.scanInput.hint = getString(R.string.scanLabelTicket)
|
||||
binding.mainToolbar.toolbarTitle.text = title
|
||||
binding.splashProgress.visibility = GONE
|
||||
|
||||
setEvents()
|
||||
super.init()
|
||||
}
|
||||
|
||||
|
||||
private fun setEvents() {
|
||||
|
||||
binding.mainToolbar.backButton.setOnClickListener {
|
||||
requireActivity().onBackPressed()
|
||||
}
|
||||
|
||||
binding.scanInput.requestFocus()
|
||||
binding.scanInput.setOnEditorActionListener { v, actionId, event ->
|
||||
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 {
|
||||
|
||||
viewModel.ticket_advancePackaging(
|
||||
binding.scanInput.text.toString().toInt(),
|
||||
getDataInt(USERFK)
|
||||
)
|
||||
} catch (ex: Exception) {
|
||||
getString(R.string.ticketFormatError)
|
||||
}
|
||||
|
||||
}
|
||||
binding.scanInput.setText("")
|
||||
ma.hideKeyboard(binding.scanInput)
|
||||
return@setOnEditorActionListener true
|
||||
}
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
override fun observeViewModel() {
|
||||
with(viewModel) {
|
||||
|
||||
response.observe(viewLifecycleOwner) {
|
||||
|
||||
binding.splashProgress.visibility = GONE
|
||||
ma.messageWithSound(
|
||||
if (it.isError) {
|
||||
it.errorMessage
|
||||
} else {
|
||||
getString(R.string.ticketAdvancePagkaging)
|
||||
}, it.isError, true, isToasted = true
|
||||
)
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
package es.verdnatura.presentation.view.feature.ticket.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 es.verdnatura.presentation.common.packingSiteSalix
|
||||
import retrofit2.Response
|
||||
|
||||
class TicketViewModel(val context: Context) : BaseViewModel(context) {
|
||||
|
||||
|
||||
private val _response by lazy { MutableLiveData<ResponseItemVO>() }
|
||||
val response: LiveData<ResponseItemVO>
|
||||
get() = _response
|
||||
|
||||
|
||||
fun ticket_advancePackaging(
|
||||
ticketFk: Int,
|
||||
workerFk: Int
|
||||
|
||||
) {
|
||||
|
||||
salix.ticket_advancePackaging(packingSiteSalix(ticketFk, workerFk))
|
||||
.enqueue(object : SilexCallback<Void>(context) {
|
||||
|
||||
override fun onError(t: Throwable) {
|
||||
_response.value = ResponseItemVO(
|
||||
isError = true,
|
||||
errorMessage = getMessageFromAllResponse(nameofFunction(this), t.message!!)
|
||||
)
|
||||
}
|
||||
|
||||
override fun onSuccess(response: Response<Void>) {
|
||||
_response.value =
|
||||
ResponseItemVO(isError = false, response = response.message())
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="48dp"
|
||||
android:height="48dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960"
|
||||
android:tint="#F7931E">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M255,719L213,677L411,479L213,281L255,239L495,479L255,719ZM508,719L466,677L664,479L466,281L508,239L748,479L508,719Z"/>
|
||||
</vector>
|
|
@ -594,5 +594,10 @@
|
|||
<string name="messageUploadItem">Tienes que escanear el artículo para poder subirlo</string>
|
||||
<string name="messageUpload">Sube la imagen al servidor</string>
|
||||
<string name="selectImage">Seleccionar imagen</string>
|
||||
<string name="ticketAdvance">Avanzar ticket encajado</string>
|
||||
<string name="ticketAdvanceDescrip">Permite avanzar un ticket para que sea encajado</string>
|
||||
<string name="scanLabelTicket">Escanea ticket</string>
|
||||
<string name="ticketAdvancePagkaging">El ticket ya puede ser encajado</string>
|
||||
<string name="ticketFormatError">El ticket escaneado no tiene un formato correcto</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -594,5 +594,10 @@
|
|||
<string name="messageUploadItem">Tienes que escanear el artículo para poder subirlo</string>
|
||||
<string name="messageUpload">Sube la imagen al servidor</string>
|
||||
<string name="selectImage">Seleccionar imagen</string>
|
||||
<string name="ticketAdvance">Avanzar ticket encajado</string>
|
||||
<string name="ticketAdvanceDescrip">Permite avanzar un ticket para que sea encajado</string>
|
||||
<string name="scanLabelTicket">Escanea ticket</string>
|
||||
<string name="ticketAdvancePagkaging">El ticket ya puede ser encajado</string>
|
||||
<string name="ticketFormatError">El ticket escaneado no tiene un formato correcto</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -594,5 +594,10 @@
|
|||
<string name="messageUploadItem">Tienes que escanear el artículo para poder subirlo</string>
|
||||
<string name="messageUpload">Sube la imagen al servidor</string>
|
||||
<string name="selectImage">Seleccionar imagen</string>
|
||||
<string name="ticketAdvance">Avanzar ticket encajado</string>
|
||||
<string name="ticketAdvanceDescrip">Permite avanzar un ticket para que sea encajado</string>
|
||||
<string name="scanLabelTicket">Escanea ticket</string>
|
||||
<string name="ticketAdvancePagkaging">El ticket ya puede ser encajado</string>
|
||||
<string name="ticketFormatError">El ticket escaneado no tiene un formato correcto</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -593,4 +593,9 @@
|
|||
<string name="messageUploadItem">Tienes que escanear el artículo para poder subirlo</string>
|
||||
<string name="messageUpload">Sube la imagen al servidor</string>
|
||||
<string name="selectImage">Seleccionar imagen</string>
|
||||
<string name="ticketAdvance">Avanzar ticket encajado</string>
|
||||
<string name="ticketAdvanceDescrip">Permite avanzar un ticket para que sea encajado</string>
|
||||
<string name="scanLabelTicket">Escanea ticket</string>
|
||||
<string name="ticketAdvancePagkaging">El ticket ya puede ser encajado</string>
|
||||
<string name="ticketFormatError">El ticket escaneado no tiene un formato correcto</string>
|
||||
</resources>
|
||||
|
|
Loading…
Reference in New Issue